From cfd789ac375f0f200a192b18e250cf5fdfe464ec Mon Sep 17 00:00:00 2001 From: Ivan Davidov Date: Sat, 2 Nov 2019 21:52:55 +0200 Subject: [PATCH] All bundles have been updated to their latest versions. Some bundles have been improved. --- src/minimal_overlay/bundles/bosh_cli/.config | 3 +- src/minimal_overlay/bundles/coreutils/.config | 2 +- src/minimal_overlay/bundles/dialog/.config | 3 +- src/minimal_overlay/bundles/dropbear/.config | 3 +- src/minimal_overlay/bundles/felix/.config | 2 +- src/minimal_overlay/bundles/fio/.config | 2 +- src/minimal_overlay/bundles/golang/.config | 3 +- src/minimal_overlay/bundles/graalvm/.config | 9 +-- src/minimal_overlay/bundles/java/.config | 11 ---- src/minimal_overlay/bundles/java/bundle.sh | 58 ------------------- src/minimal_overlay/bundles/java/bundle_deps | 2 - src/minimal_overlay/bundles/kbd/.config | 3 +- src/minimal_overlay/bundles/kbd/01_get.sh | 27 +-------- src/minimal_overlay/bundles/kbd/02_build.sh | 20 +++++++ .../bundles/kexec_tools/.config | 2 +- src/minimal_overlay/bundles/libevent/.config | 2 +- src/minimal_overlay/bundles/links/.config | 3 +- src/minimal_overlay/bundles/lua/.config | 2 +- src/minimal_overlay/bundles/make/02_build.sh | 8 ++- .../bundles/make/make-4.2.1.patch | 11 ++++ src/minimal_overlay/bundles/mll_hello/.config | 4 ++ .../bundles/mll_hello/90_hello.sh | 11 ++++ .../{hello_mll => mll_hello}/bundle.sh | 29 ++++++---- .../bundles/mll_hello/bundle_deps | 10 ++++ .../bundles/{hello_mll => mll_hello}/hello.c | 0 .../bundles/mll_source/90_src.sh | 4 -- src/minimal_overlay/bundles/nano/.config | 3 +- src/minimal_overlay/bundles/ncurses/.config | 3 +- src/minimal_overlay/bundles/openjdk/.config | 5 +- .../bundles/openjdk/02_install.sh | 2 +- src/minimal_overlay/bundles/python/.config | 5 +- .../bundles/static_get/.config | 2 +- src/minimal_overlay/bundles/stress/.config | 3 +- .../bundles/util_linux/.config | 2 +- .../bundles/util_linux/02_build.sh | 32 ++++------ src/minimal_overlay/bundles/vim/.config | 3 +- src/minimal_overlay/bundles/zulujdk/.config | 3 +- 37 files changed, 133 insertions(+), 164 deletions(-) delete mode 100644 src/minimal_overlay/bundles/java/.config delete mode 100755 src/minimal_overlay/bundles/java/bundle.sh delete mode 100644 src/minimal_overlay/bundles/java/bundle_deps create mode 100644 src/minimal_overlay/bundles/make/make-4.2.1.patch create mode 100644 src/minimal_overlay/bundles/mll_hello/.config create mode 100755 src/minimal_overlay/bundles/mll_hello/90_hello.sh rename src/minimal_overlay/bundles/{hello_mll => mll_hello}/bundle.sh (74%) create mode 100644 src/minimal_overlay/bundles/mll_hello/bundle_deps rename src/minimal_overlay/bundles/{hello_mll => mll_hello}/hello.c (100%) diff --git a/src/minimal_overlay/bundles/bosh_cli/.config b/src/minimal_overlay/bundles/bosh_cli/.config index c394e452a..2a3a1d052 100644 --- a/src/minimal_overlay/bundles/bosh_cli/.config +++ b/src/minimal_overlay/bundles/bosh_cli/.config @@ -2,4 +2,5 @@ # # https://bosh.io/docs/cli-v2.html # -BOSH_CLI_URL=https://s3.amazonaws.com/bosh-cli-artifacts/bosh-cli-2.0.45-linux-amd64 +BOSH_CLI_URL=https://github.com/cloudfoundry/bosh-cli/releases/download/v6.1.1/bosh-cli-6.1.1-linux-amd64 + diff --git a/src/minimal_overlay/bundles/coreutils/.config b/src/minimal_overlay/bundles/coreutils/.config index e40e4fc65..30d4670cb 100644 --- a/src/minimal_overlay/bundles/coreutils/.config +++ b/src/minimal_overlay/bundles/coreutils/.config @@ -2,4 +2,4 @@ # # http://ftp.gnu.org/gnu/coreutils/ # -COREUTILS_SOURCE_URL=http://ftp.gnu.org/gnu/coreutils/coreutils-8.28.tar.xz +COREUTILS_SOURCE_URL=http://ftp.gnu.org/gnu/coreutils/coreutils-8.31.tar.xz diff --git a/src/minimal_overlay/bundles/dialog/.config b/src/minimal_overlay/bundles/dialog/.config index d5a755d9d..fb1d7f07c 100644 --- a/src/minimal_overlay/bundles/dialog/.config +++ b/src/minimal_overlay/bundles/dialog/.config @@ -2,4 +2,5 @@ # # http://invisible-island.net/dialog/ # -DIALOG_SOURCE_URL=ftp://ftp.invisible-island.net/dialog/dialog-1.3-20170509.tgz +DIALOG_SOURCE_URL=ftp://ftp.invisible-island.net/dialog/dialog-1.3-20190808.tgz + diff --git a/src/minimal_overlay/bundles/dropbear/.config b/src/minimal_overlay/bundles/dropbear/.config index 6ec3e9918..d56b9f9cc 100644 --- a/src/minimal_overlay/bundles/dropbear/.config +++ b/src/minimal_overlay/bundles/dropbear/.config @@ -2,4 +2,5 @@ # # http://matt.ucc.asn.au/dropbear/dropbear.html # -DROPBEAR_SOURCE_URL=http://matt.ucc.asn.au/dropbear/releases/dropbear-2017.75.tar.bz2 +DROPBEAR_SOURCE_URL=http://matt.ucc.asn.au/dropbear/releases/dropbear-2019.78.tar.bz2 + diff --git a/src/minimal_overlay/bundles/felix/.config b/src/minimal_overlay/bundles/felix/.config index f5d7bb972..42d7963cb 100644 --- a/src/minimal_overlay/bundles/felix/.config +++ b/src/minimal_overlay/bundles/felix/.config @@ -2,4 +2,4 @@ # # http://felix.apache.org # -FELIX_SOURCE_URL=http://archive.apache.org/dist/felix/org.apache.felix.main.distribution-5.6.10.tar.gz +FELIX_SOURCE_URL=http://archive.apache.org/dist/felix/org.apache.felix.main.distribution-6.0.3.tar.gz diff --git a/src/minimal_overlay/bundles/fio/.config b/src/minimal_overlay/bundles/fio/.config index 52ad98756..f7802978c 100644 --- a/src/minimal_overlay/bundles/fio/.config +++ b/src/minimal_overlay/bundles/fio/.config @@ -2,4 +2,4 @@ # # https://github.com/axboe/fio/releases # -FIO_SOURCE_URL=https://github.com/axboe/fio/archive/fio-3.2.tar.gz +FIO_SOURCE_URL=https://github.com/axboe/fio/archive/fio-3.16.tar.gz diff --git a/src/minimal_overlay/bundles/golang/.config b/src/minimal_overlay/bundles/golang/.config index 9eaf1cf42..41b47d65a 100644 --- a/src/minimal_overlay/bundles/golang/.config +++ b/src/minimal_overlay/bundles/golang/.config @@ -2,4 +2,5 @@ # # http://golang.org/dl # -GOLANG_URL=https://dl.google.com/go/go1.10.3.linux-amd64.tar.gz +GOLANG_URL=https://dl.google.com/go/go1.13.4.linux-amd64.tar.gz + diff --git a/src/minimal_overlay/bundles/graalvm/.config b/src/minimal_overlay/bundles/graalvm/.config index ee1bb8c9a..db57897ff 100644 --- a/src/minimal_overlay/bundles/graalvm/.config +++ b/src/minimal_overlay/bundles/graalvm/.config @@ -2,16 +2,13 @@ # # http://github.com/oracle/graal # -GRAALVM_URL=http://github.com/oracle/graal/releases/download/vm-19.2.0/graalvm-ce-linux-amd64-19.2.0.tar.gz +GRAALVM_URL=https://github.com/oracle/graal/releases/download/vm-19.2.1/graalvm-ce-linux-amd64-19.2.1.tar.gz -# List of additional languages to install. The full catalog can be found here: -# -# https://www.graalvm.org/1.0.0-rc1/component-catalog/graal-updater-component-catalog.properties -# -# The corresponding languages and their executables: +# The corresponding additional languages and their executables: # # org.graalvm.ruby the main executable is 'ruby' or 'truffleruby' # org.graalvm.pythn the main executable is 'graalpython' # org.graalvm.r the main executable is 'R' or 'Rscript' # GRAALVM_LANGUAGES=python,ruby,r + diff --git a/src/minimal_overlay/bundles/java/.config b/src/minimal_overlay/bundles/java/.config deleted file mode 100644 index 3b3825af0..000000000 --- a/src/minimal_overlay/bundles/java/.config +++ /dev/null @@ -1,11 +0,0 @@ -# You can find the latest Oracle Java/JDK downloads here: -# -# http://www.oracle.com/technetwork/java/javase/downloads/index.html -# -# You need to manually download Oracle's JRE or JDK and set the property with -# the absolute path to the downloaded archive. Example: -# -# JAVA_ARCHIVE=/home/ivan/Downloads/jdk-8u131-linux-x64.tar.gz -# -#JAVA_ARCHIVE=/absolute/path/to/java.archive.tar.gz -JAVA_ARCHIVE=/home/ivan/Downloads/jdk-9.0.1_linux-x64_bin.tar.gz diff --git a/src/minimal_overlay/bundles/java/bundle.sh b/src/minimal_overlay/bundles/java/bundle.sh deleted file mode 100755 index 69cd7071b..000000000 --- a/src/minimal_overlay/bundles/java/bundle.sh +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/sh - -# This script installs Oracle's JRE or JDK from already downloaded 'tar.gz' -# archive. Oracle's license doesn't allow direct downloads, so you need to do -# the following: -# -# 1) Download JRE or JDK from http://oracle.com -# 2) Add the following property in the '.config' file: -# -# JAVA_ARCHIVE=/absolute/path/to/java/archive.tar.gz -# -# Example: -# -# JAVA_ARCHIVE=/home/ivan/Downloads/jdk-8u102-linux-x64.tar.gz -# -# 3) Run this script. Note that the script will fail with error message if the -# JAVA_ARCHIVE property is not set or if it points to invalid file. - -set -e - -. ../../common.sh - -# Read the 'JAVA_ARCHIVE' property from '.config' -JAVA_ARCHIVE=`read_property JAVA_ARCHIVE` - -if [ "$JAVA_ARCHIVE" = "" ] ; then - echo "ERROR: configuration property 'JAVA_ARCHIVE' is not set." - exit 1 -elif [ ! -f "$JAVA_ARCHIVE" ] ; then - echo "ERROR: configuration property 'JAVA_ARCHIVE' points to nonexistent file." - exit 1 -fi - -rm -rf $DEST_DIR -mkdir -p $DEST_DIR/opt - -tar -xvf \ - $JAVA_ARCHIVE \ - -C $DEST_DIR/opt - -cd $DEST_DIR/opt -mv $(ls -d *) java - -mkdir $DEST_DIR/bin - -for FILE in $(ls java/bin) -do - ln -s ../opt/$BUNDLE_NAME/bin/$FILE ../bin/$FILE -done - -# With '--remove-destination' all possibly existing soft links in -# '$OVERLAY_ROOTFS' will be overwritten correctly. -cp -r --remove-destination $DEST_DIR/* \ - $OVERLAY_ROOTFS - -echo "Java has been installed." - -cd $SRC_DIR diff --git a/src/minimal_overlay/bundles/java/bundle_deps b/src/minimal_overlay/bundles/java/bundle_deps deleted file mode 100644 index 61861db9e..000000000 --- a/src/minimal_overlay/bundles/java/bundle_deps +++ /dev/null @@ -1,2 +0,0 @@ -glibc_full -zlib diff --git a/src/minimal_overlay/bundles/kbd/.config b/src/minimal_overlay/bundles/kbd/.config index 17229badc..a912bf9d6 100644 --- a/src/minimal_overlay/bundles/kbd/.config +++ b/src/minimal_overlay/bundles/kbd/.config @@ -2,4 +2,5 @@ # # http://www.kbd-project.org/ # -KBD_SOURCE_URL=https://www.kernel.org/pub/linux/utils/kbd/kbd-2.0.4.tar.gz +KBD_SOURCE_URL=https://www.kernel.org/pub/linux/utils/kbd/kbd-2.2.0.tar.xz + diff --git a/src/minimal_overlay/bundles/kbd/01_get.sh b/src/minimal_overlay/bundles/kbd/01_get.sh index e3fcff033..6036a5e32 100755 --- a/src/minimal_overlay/bundles/kbd/01_get.sh +++ b/src/minimal_overlay/bundles/kbd/01_get.sh @@ -35,30 +35,5 @@ mkdir $WORK_DIR/overlay/$BUNDLE_NAME # Full path will be something like 'work/overlay/kbd/kbd-2.04'. tar -xvf $ARCHIVE_FILE -C $WORK_DIR/overlay/$BUNDLE_NAME -cd "$WORK_DIR/overlay/$BUNDLE_NAME" - -cd $(ls -d kbd-*) - -# Rename keymaps with the same name BEGIN - -mv data/keymaps/i386/qwertz/cz.map \ - data/keymaps/i386/qwertz/cz-qwertz.map - -mv data/keymaps/i386/olpc/es.map \ - data/keymaps/i386/olpc/es-olpc.map - -mv data/keymaps/i386/olpc/pt.map \ - data/keymaps/i386/olpc/pt-olpc.map - -mv data/keymaps/i386/dvorak/no.map \ - data/keymaps/i386/dvorak/no-dvorak.map - -mv data/keymaps/i386/fgGIod/trf.map \ - data/keymaps/i386/fgGIod/trf-fgGIod.map - -mv data/keymaps/i386/colemak/en-latin9.map \ - data/keymaps/i386/colemak/colemak.map - -# Rename keymaps with the same name END - cd $SRC_DIR + diff --git a/src/minimal_overlay/bundles/kbd/02_build.sh b/src/minimal_overlay/bundles/kbd/02_build.sh index 123148225..fb87760e5 100755 --- a/src/minimal_overlay/bundles/kbd/02_build.sh +++ b/src/minimal_overlay/bundles/kbd/02_build.sh @@ -9,6 +9,26 @@ cd $WORK_DIR/overlay/$BUNDLE_NAME # Change to the kbd source directory which ls finds, e.g. 'kbd-2.04'. cd $(ls -d kbd-*) +# Rename keymaps with the same name BEGIN + +mv data/keymaps/i386/qwertz/cz.map \ + data/keymaps/i386/qwertz/cz-qwertz.map + +mv data/keymaps/i386/olpc/es.map \ + data/keymaps/i386/olpc/es-olpc.map + +mv data/keymaps/i386/olpc/pt.map \ + data/keymaps/i386/olpc/pt-olpc.map + +mv data/keymaps/i386/fgGIod/trf.map \ + data/keymaps/i386/fgGIod/trf-fgGIod.map + +mv data/keymaps/i386/colemak/en-latin9.map \ + data/keymaps/i386/colemak/colemak.map + +# Rename keymaps with the same name END + + if [ -f Makefile ] ; then echo "Preparing '$BUNDLE_NAME' work area. This may take a while." make -j $NUM_JOBS clean diff --git a/src/minimal_overlay/bundles/kexec_tools/.config b/src/minimal_overlay/bundles/kexec_tools/.config index 1250d8219..6ea252c8f 100644 --- a/src/minimal_overlay/bundles/kexec_tools/.config +++ b/src/minimal_overlay/bundles/kexec_tools/.config @@ -2,4 +2,4 @@ # # https://www.kernel.org/pub/linux/utils/kernel/kexec/ # -KEXEC_TOOLS_SOURCE_URL=http://kernel.org/pub/linux/utils/kernel/kexec/kexec-tools-2.0.15.tar.xz +KEXEC_TOOLS_SOURCE_URL=https://kernel.org/pub/linux/utils/kernel/kexec/kexec-tools-2.0.20.tar.xz diff --git a/src/minimal_overlay/bundles/libevent/.config b/src/minimal_overlay/bundles/libevent/.config index 2446d5914..3384eeb99 100644 --- a/src/minimal_overlay/bundles/libevent/.config +++ b/src/minimal_overlay/bundles/libevent/.config @@ -2,4 +2,4 @@ # # https://github.com/libevent/libevent/releases/ # -LIBEVENT_SOURCE_URL=https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.8-stable.tar.gz +LIBEVENT_SOURCE_URL=https://github.com/libevent/libevent/releases/download/release-2.1.11-stable/libevent-2.1.11-stable.tar.gz diff --git a/src/minimal_overlay/bundles/links/.config b/src/minimal_overlay/bundles/links/.config index 1015c74db..3b5442d13 100644 --- a/src/minimal_overlay/bundles/links/.config +++ b/src/minimal_overlay/bundles/links/.config @@ -2,4 +2,5 @@ # # http://links.twibright.com # -LINKS_SOURCE_URL=http://links.twibright.com/download/links-2.14.tar.bz2 +LINKS_SOURCE_URL=http://links.twibright.com/download/links-2.20.2.tar.bz2 + diff --git a/src/minimal_overlay/bundles/lua/.config b/src/minimal_overlay/bundles/lua/.config index e35522b32..a513ed332 100644 --- a/src/minimal_overlay/bundles/lua/.config +++ b/src/minimal_overlay/bundles/lua/.config @@ -2,4 +2,4 @@ # # https://www.lua.org/ftp/ # -LUA_SOURCE_URL=https://www.lua.org/ftp/lua-5.3.4.tar.gz +LUA_SOURCE_URL=https://www.lua.org/ftp/lua-5.3.5.tar.gz diff --git a/src/minimal_overlay/bundles/make/02_build.sh b/src/minimal_overlay/bundles/make/02_build.sh index b49716ae4..919fc025f 100755 --- a/src/minimal_overlay/bundles/make/02_build.sh +++ b/src/minimal_overlay/bundles/make/02_build.sh @@ -6,9 +6,15 @@ set -e cd $WORK_DIR/overlay/$BUNDLE_NAME -# Change to the make source directory which ls finds, e.g. 'make-8.28'. +# Change to the make source directory which ls finds, e.g. 'make-4.2.1'. cd $(ls -d make-*) +if [ "${PWD##*/}" = "make-4.2.1" ] ; then + # TODO - remove this when it's no longer necessary. + # Apply the patch for version "4.2.1". + patch glob/glob.c $SRC_DIR/make-4.2.1.patch +fi + if [ -f Makefile ] ; then echo "Preparing '$BUNDLE_NAME' work area. This may take a while." make -j $NUM_JOBS clean diff --git a/src/minimal_overlay/bundles/make/make-4.2.1.patch b/src/minimal_overlay/bundles/make/make-4.2.1.patch new file mode 100644 index 000000000..61a3581f4 --- /dev/null +++ b/src/minimal_overlay/bundles/make/make-4.2.1.patch @@ -0,0 +1,11 @@ +--- clean/make-4.2/glob/glob.c 2013-10-20 17:14:38.000000000 +0000 ++++ make-4.2/glob/glob.c 2018-09-18 10:16:03.860886356 +0000 +@@ -208,7 +208,7 @@ + #endif /* __GNU_LIBRARY__ || __DJGPP__ */ + + +-#if !defined __alloca && !defined __GNU_LIBRARY__ ++#if !defined __alloca && defined __GNU_LIBRARY__ + + # ifdef __GNUC__ + # undef alloca diff --git a/src/minimal_overlay/bundles/mll_hello/.config b/src/minimal_overlay/bundles/mll_hello/.config new file mode 100644 index 000000000..bacfa1aa1 --- /dev/null +++ b/src/minimal_overlay/bundles/mll_hello/.config @@ -0,0 +1,4 @@ +# Each overlay bundle may have its own '.config' file. You can define properties +# that are specific for the overlay bundle. Take a look at the other overlay +# bundles and see how they use this configuration file. + diff --git a/src/minimal_overlay/bundles/mll_hello/90_hello.sh b/src/minimal_overlay/bundles/mll_hello/90_hello.sh new file mode 100755 index 000000000..ad65f08b8 --- /dev/null +++ b/src/minimal_overlay/bundles/mll_hello/90_hello.sh @@ -0,0 +1,11 @@ +#!/bin/sh + +# Each overlay bundle can provide an 'autorun' script which is executed by MLL +# when the system boots. This file must be placed in '/etc/autorun' and should +# follow the notation 'XX_something.sh' where XX is a number from 00 to 99. +# The number defines when the script will be executed, e.g. '00_something.sh' +# will be executed first and '99_something.sh' will be executed last. + +cat << CEOF + [mll_hello] Type 'hello' and press Enter. +CEOF diff --git a/src/minimal_overlay/bundles/hello_mll/bundle.sh b/src/minimal_overlay/bundles/mll_hello/bundle.sh similarity index 74% rename from src/minimal_overlay/bundles/hello_mll/bundle.sh rename to src/minimal_overlay/bundles/mll_hello/bundle.sh index 2d6275c33..05c9ac43f 100755 --- a/src/minimal_overlay/bundles/hello_mll/bundle.sh +++ b/src/minimal_overlay/bundles/mll_hello/bundle.sh @@ -1,13 +1,13 @@ #!/bin/sh -# Break the process if there are any errors +# Break the shell process if there are any errors set -e # Import common variables and functions . ../../common.sh -# By convention the overlay bundles have "source" folder, where the source +# By convention, the overlay bundles have "source" folder, where the source # code is downloaded. If the source is downloaded from internet, this allows # the download to proceed if the process has been interrupted. In our simple # use case we will copy the file "hello.c" and in this way we will simulate @@ -19,20 +19,20 @@ cp $SRC_DIR/hello.c \ $OVERLAY_SOURCE_DIR # The next step is to prepare the source code that we have downloaded in the -# previous step. Usually this means to extract it. By convention each overlay +# previous step. Usually this means to extract it. By convention, each overlay # bundle has its own root folder where all the build magic happens. In our # simple use case we will "extract" the source code by copying it from the # source folder to the main bundle folder. # # The main overlay folder is "minimal/src/work/overlay" and the bundle overlay -# folder will be "minimal/src/work/overlay/hello_mll". +# folder will be "minimal/src/work/overlay/mll_hello". mkdir $OVERLAY_WORK_DIR/$BUNDLE_NAME cp $OVERLAY_SOURCE_DIR/hello.c \ $OVERLAY_WORK_DIR/$BUNDLE_NAME # Each overlay bundle also has a special directory where all build artifacts # are put in a structure which represents the final OS folder structure. This -# folder is "minimal/src/work/overlay/hello_mll/hello_mll_installed". +# folder is "minimal/src/work/overlay/mll_hello/mll_hello_installed". # First we create the "destination" folder. mkdir $DEST_DIR @@ -41,6 +41,15 @@ mkdir $DEST_DIR # subfolder "bin" in "$DEST_DIR". mkdir $DEST_DIR/bin +# We want our "autorun" script file "90_hello.sh" to reside in "/etc/autorun", +# so we create the corresponding folders in "$DEST_DIR". +mkdir -p $DEST_DIR/etc/autorun + +# Now we copy the "autorun" script file "90_hello.sh" in "$DEST_DIR/etc/autorun" +# and we make sure the script is executable. +cp $SRC_DIR/90_hello.sh $DEST_DIR/etc/autorun +chmod +x $DEST_DIR/etc/autorun/90_hello.sh + # Now we can compile "$OVERLAY_WORK_DIR/$BUNDLE_NAME/hello.c" and place it in # "$DEST_DIR/bin" as executable binary "hello". gcc -o $DEST_DIR/bin/hello $OVERLAY_WORK_DIR/$BUNDLE_NAME/hello.c @@ -51,11 +60,11 @@ gcc -o $DEST_DIR/bin/hello $OVERLAY_WORK_DIR/$BUNDLE_NAME/hello.c reduce_size $DEST_DIR/bin/hello # No matter what you do with your bundles, no matter how you compile and/or -# prepare them, in the end all your bundle artifacts must end up in the folder -# "$OVERLAY_ROOTFS". This special folder represents the final OS structure -# where all overlay bundles place their final artifacts. In our simple use case -# we have already prepared appropriate OS folder structure in "$DEST_DIR", so -# we will simply copy it in "$OVERLAY_ROOTFS". +# prepare them, in the end all your bundle artifacts must be present in the +# "$OVERLAY_ROOTFS" folder. This special folder represents the final directory +# structure where all overlay bundles put their final artifacts. In our simple +# use case we have already prepared appropriate folder structure in "$DEST_DIR", +# so we will simply copy it in "$OVERLAY_ROOTFS". # # The overlay root filesystem folder is "minimal/src/work/overlay_rootfs". diff --git a/src/minimal_overlay/bundles/mll_hello/bundle_deps b/src/minimal_overlay/bundles/mll_hello/bundle_deps new file mode 100644 index 000000000..9ff482a4e --- /dev/null +++ b/src/minimal_overlay/bundles/mll_hello/bundle_deps @@ -0,0 +1,10 @@ +# Each overlay bundle may have dependencies on third party artifacts. This +# particular overlay bundle depends on 'libc.so.6' which is provided by the +# 'glibg_libc' overlay bundle, so we put it as dependency. All dependency +# bundles are processed before the main bundle. + +# Note that in this particular case we can skip this dependency, because 'libc' +# is provided as core dependency of 'Busybox'. + +glibc_libc + diff --git a/src/minimal_overlay/bundles/hello_mll/hello.c b/src/minimal_overlay/bundles/mll_hello/hello.c similarity index 100% rename from src/minimal_overlay/bundles/hello_mll/hello.c rename to src/minimal_overlay/bundles/mll_hello/hello.c diff --git a/src/minimal_overlay/bundles/mll_source/90_src.sh b/src/minimal_overlay/bundles/mll_source/90_src.sh index 7fe9ee43c..e6b78a160 100755 --- a/src/minimal_overlay/bundles/mll_source/90_src.sh +++ b/src/minimal_overlay/bundles/mll_source/90_src.sh @@ -1,9 +1,5 @@ #!/bin/sh -# This sample command loads German keyboard layout on boot. -# -# loadkeys de - cat << CEOF  You can find all sources in '/usr/src'. CEOF diff --git a/src/minimal_overlay/bundles/nano/.config b/src/minimal_overlay/bundles/nano/.config index f6edbcfb6..988a3de9c 100644 --- a/src/minimal_overlay/bundles/nano/.config +++ b/src/minimal_overlay/bundles/nano/.config @@ -2,4 +2,5 @@ # # https://nano-editor.org/download.php # -NANO_SOURCE_URL=https://nano-editor.org/dist/v2.8/nano-2.8.7.tar.xz +NANO_SOURCE_URL=https://nano-editor.org/dist/v4/nano-4.5.tar.xz + diff --git a/src/minimal_overlay/bundles/ncurses/.config b/src/minimal_overlay/bundles/ncurses/.config index 4f5c94fe1..f148c8c64 100644 --- a/src/minimal_overlay/bundles/ncurses/.config +++ b/src/minimal_overlay/bundles/ncurses/.config @@ -10,4 +10,5 @@ # # https://ftp.gnu.org/pub/gnu/ncurses/ # -NCURSES_SOURCE_URL=https://ftp.gnu.org/pub/gnu/ncurses/ncurses-6.0.tar.gz +NCURSES_SOURCE_URL=https://ftp.gnu.org/pub/gnu/ncurses/ncurses-6.1.tar.gz + diff --git a/src/minimal_overlay/bundles/openjdk/.config b/src/minimal_overlay/bundles/openjdk/.config index 1602e14d4..b08f128d6 100644 --- a/src/minimal_overlay/bundles/openjdk/.config +++ b/src/minimal_overlay/bundles/openjdk/.config @@ -1,5 +1,6 @@ -# You can find the latest Open JDK archives here: +# You can find the latest OpenJDK archives here: # # http://jdk.java.net/9 # -OPENJDK_URL=http://download.java.net/java/GA/jdk9/9.0.1/binaries/openjdk-9.0.1_linux-x64_bin.tar.gz +OPENJDK_URL=https://download.java.net/openjdk/jdk11/ri/openjdk-11+28_linux-x64_bin.tar.gz + diff --git a/src/minimal_overlay/bundles/openjdk/02_install.sh b/src/minimal_overlay/bundles/openjdk/02_install.sh index 6cc36c5b1..01b3c2c6f 100755 --- a/src/minimal_overlay/bundles/openjdk/02_install.sh +++ b/src/minimal_overlay/bundles/openjdk/02_install.sh @@ -23,6 +23,6 @@ done cp -r --remove-destination $WORK_DIR/overlay/$BUNDLE_NAME/* \ $OVERLAY_ROOTFS -echo "Open JDK has been installed." +echo "OpenJDK has been installed." cd $SRC_DIR diff --git a/src/minimal_overlay/bundles/python/.config b/src/minimal_overlay/bundles/python/.config index 2d6065d3c..69572dd37 100644 --- a/src/minimal_overlay/bundles/python/.config +++ b/src/minimal_overlay/bundles/python/.config @@ -1,5 +1,6 @@ # You can find the latest python archives here: # -# https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz +# https://www.python.org # -PYTHON_SOURCE_URL=https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz +PYTHON_SOURCE_URL=https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tar.xz + diff --git a/src/minimal_overlay/bundles/static_get/.config b/src/minimal_overlay/bundles/static_get/.config index 1ef0f36ca..21ee63375 100644 --- a/src/minimal_overlay/bundles/static_get/.config +++ b/src/minimal_overlay/bundles/static_get/.config @@ -3,4 +3,4 @@ # http://s.minos.io/s # http://github.com/minos-org/minos-static # -STATIC_GET_URL=http://raw.githubusercontent.com/the-djdj/minos-static/master/static-get +STATIC_GET_URL=http://raw.githubusercontent.com/minos-org/minos-static/master/static-get diff --git a/src/minimal_overlay/bundles/stress/.config b/src/minimal_overlay/bundles/stress/.config index 8c2e4c9dc..aefaf2b7a 100644 --- a/src/minimal_overlay/bundles/stress/.config +++ b/src/minimal_overlay/bundles/stress/.config @@ -2,4 +2,5 @@ # # https://people.seas.harvard.edu/~apw/stress/ # -STRESS_SOURCE_URL=https://people.seas.harvard.edu/~apw/stress/stress-1.0.4.tar.gz +STRESS_SOURCE_URL=https://sources.voidlinux.org/stress-1.0.4/stress-1.0.4.tar.gz + diff --git a/src/minimal_overlay/bundles/util_linux/.config b/src/minimal_overlay/bundles/util_linux/.config index 1a9ad86bf..c083d9828 100644 --- a/src/minimal_overlay/bundles/util_linux/.config +++ b/src/minimal_overlay/bundles/util_linux/.config @@ -6,4 +6,4 @@ # # https://www.kernel.org/pub/linux/utils/util-linux/ # -UTIL_LINUX_SOURCE_URL=https://www.kernel.org/pub/linux/utils/util-linux/v2.31/util-linux-2.31.tar.gz +UTIL_LINUX_SOURCE_URL=https://kernel.org/pub/linux/utils/util-linux/v2.34/util-linux-2.34.tar.xz diff --git a/src/minimal_overlay/bundles/util_linux/02_build.sh b/src/minimal_overlay/bundles/util_linux/02_build.sh index 16671229d..4c61dfadc 100755 --- a/src/minimal_overlay/bundles/util_linux/02_build.sh +++ b/src/minimal_overlay/bundles/util_linux/02_build.sh @@ -6,19 +6,7 @@ set -e cd $WORK_DIR/overlay/$BUNDLE_NAME -if [ ! "$(id -u)" = "0" ] ; then - cat << CEOF - - The build process for bundle '$BUNDLE_NAME' requires root - permissions. Restart the build process as 'root' in order - to build '$BUNDLE_NAME'. - -CEOF - - exit 1 -fi - -# Change to the util-linux source directory which ls finds, e.g. 'util-linux-2.31'. +# Change to the util-linux source directory which ls finds, e.g. 'util-linux-2.34'. cd $(ls -d util-linux-*) if [ -f Makefile ] ; then @@ -29,11 +17,14 @@ else fi rm -rf $DEST_DIR +mkdir -p $DEST_DIR/usr/share/doc/util-linux +mkdir -p $DEST_DIR/bin echo "Configuring '$BUNDLE_NAME'." CFLAGS="$CFLAGS" ./configure \ ADJTIME_PATH=/var/lib/hwclock/adjtime \ - --docdir=/usr/share/doc/util-linux-2.31 \ + --prefix=$DEST_DIR \ + --docdir=$DEST_DIR/usr/share/doc/util-linux \ --disable-chfn-chsh \ --disable-login \ --disable-nologin \ @@ -42,6 +33,7 @@ CFLAGS="$CFLAGS" ./configure \ --disable-runuser \ --disable-pylibmount \ --disable-static \ + --disable-makeinstall-chown \ --without-python \ --without-systemd \ --without-systemdsystemunitdir @@ -50,18 +42,14 @@ echo "Building '$BUNDLE_NAME'." make -j $NUM_JOBS echo "Installing '$BUNDLE_NAME'." -make -j $NUM_JOBS install DESTDIR=$DEST_DIR +make -j $NUM_JOBS install echo "Reducing '$BUNDLE_NAME' size." -set +e -strip -g $DEST_DIR/usr/bin/* -set -e +reduce_size $DEST_DIR/bin -# With '--remove-destination' all possibly existing soft links in -# '$OVERLAY_ROOTFS' will be overwritten correctly. -cp -r --remove-destination $DEST_DIR/* \ - $OVERLAY_ROOTFS +install_to_overlay bin echo "Bundle '$BUNDLE_NAME' has been installed." cd $SRC_DIR + diff --git a/src/minimal_overlay/bundles/vim/.config b/src/minimal_overlay/bundles/vim/.config index 83e40ea49..10dac9db1 100644 --- a/src/minimal_overlay/bundles/vim/.config +++ b/src/minimal_overlay/bundles/vim/.config @@ -2,4 +2,5 @@ # # https://github.com/vim/vim/releases # -VIM_SOURCE_URL=https://github.com/vim/vim/archive/v8.0.1298.tar.gz +VIM_SOURCE_URL=https://github.com/vim/vim/archive/v8.1.2238.tar.gz + diff --git a/src/minimal_overlay/bundles/zulujdk/.config b/src/minimal_overlay/bundles/zulujdk/.config index 09f0718fb..d9b6bcee8 100644 --- a/src/minimal_overlay/bundles/zulujdk/.config +++ b/src/minimal_overlay/bundles/zulujdk/.config @@ -2,4 +2,5 @@ # # http://www.azul.com/downloads/zulu/zulu-linux # -ZULUJDK_URL=http://cdn.azul.com/zulu/bin/zulu10.2+3-jdk10.0.1-linux_x64.tar.gz +ZULUJDK_URL=https://cdn.azul.com/zulu/bin/zulu11.35.15-ca-jdk11.0.5-linux_x64.tar.gz +