All bundles have been updated to their latest versions. Some bundles have been improved.

This commit is contained in:
Ivan Davidov 2019-11-02 21:52:55 +02:00
parent 28ba7e6286
commit cfd789ac37
37 changed files with 133 additions and 164 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -1,2 +0,0 @@
glibc_full
zlib

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -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".

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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