aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xmake_slackware_live.sh43
-rwxr-xr-xmakemod21
-rw-r--r--pkglists/multilib.conf12
-rw-r--r--pkglists/multilib.lst185
4 files changed, 239 insertions, 22 deletions
diff --git a/make_slackware_live.sh b/make_slackware_live.sh
index 0e79070..6083ff7 100755
--- a/make_slackware_live.sh
+++ b/make_slackware_live.sh
@@ -129,6 +129,9 @@ MARKER=${MARKER:-"SLACKWARELIVE"}
# The filesystem label we will be giving our ISO:
MEDIALABEL=${MEDIALABEL:-"LIVESLAK"}
+# For x86_64 you can add multilib:
+MULTILIB=${MULTILIB:-"NO"}
+
# The name of the directory used for storing persistence data:
PERSISTENCE=${PERSISTENCE:-"persistence"}
@@ -169,7 +172,7 @@ SEQ_CIN="tagfile:a,ap,d,e,f,k,l,n,t,tcl,x,xap,xfce,y pkglist:slackextra,cinnamon
# List of kernel modules required for a live medium to boot properly;
# Lots of HID modules added to support keyboard input for LUKS password entry:
-KMODS=${KMODS:-"squashfs:overlay:loop:xhci-pci:ohci-pci:ehci-pci:xhci-hcd:uhci-hcd:ehci-hcd:usb-storage:hid:usbhid:hid-generic:hid-cherry:hid-logitech:hid-logitech-dj:hid-logitech-hidpp:hid-lenovo:hid-microsoft:jbd:mbcache:ext3:ext4:isofs:fat:nls_cp437:nls_iso8859-1:msdos:vfat"}
+KMODS=${KMODS:-"squashfs:overlay:loop:xhci-pci:ohci-pci:ehci-pci:xhci-hcd:uhci-hcd:ehci-hcd:usb-storage:hid:usbhid:i2c-hid:hid-generic:hid-cherry:hid-logitech:hid-logitech-dj:hid-logitech-hidpp:hid-lenovo:hid-microsoft:hid_multitouch:jbd:mbcache:ext3:ext4:isofs:fat:nls_cp437:nls_iso8859-1:msdos:vfat"}
# Firmware for wired network cards required for NFS root support:
NETFIRMWARE="3com acenic adaptec bnx tigon e100 sun kaweth tr_smctr cxgb3"
@@ -596,7 +599,7 @@ EOL
# Action!
# ---------------------------------------------------------------------------
-while getopts "a:d:efhm:r:s:t:vz:HO:R:X" Option
+while getopts "a:d:efhm:r:s:t:vz:H:MO:R:X" Option
do
case $Option in
h )
@@ -629,6 +632,7 @@ do
echo " -v Show debug/error output."
echo " -z version Define your ${DISTRO^} version (default: $SL_VERSION)."
echo " -H hostname Hostname of the Live OS (default: $LIVE_HOSTNAME)."
+ echo " -M Add multilib (x86_64 only)."
echo " -O outfile Custom filename for the ISO."
echo " -R runlevel Runlevel to boot into (default: $RUNLEVEL)."
echo " -X Use xorriso instead of mkisofs/isohybrid."
@@ -656,6 +660,8 @@ do
;;
H ) LIVE_HOSTNAME="${OPTARG}"
;;
+ M ) MULTILIB="YES"
+ ;;
O ) OUTFILE="${OPTARG}"
OUTPUT="$(cd $(dirname "${OUTFILE}"); pwd)"
;;
@@ -692,6 +698,11 @@ if [ $RUNLEVEL -ne 3 -a $RUNLEVEL -ne 4 ]; then
exit 1
fi
+if [ "$SL_ARCH" != "x86_64" -a "$MULTILIB" = "YES" ]; then
+ echo ">> Multilib is only supported on x86_64 architecture."
+ exit 1
+fi
+
# Directory suffix, arch dependent:
if [ "$SL_ARCH" = "x86_64" ]; then
DIRSUFFIX="64"
@@ -800,8 +811,15 @@ case "$LIVEDE" in
;;
esac
+# Do we need to include multilib?
+if [ "$MULTILIB" = "YES" ]; then
+ echo "-- Adding multilib."
+ MSEQ="${MSEQ} pkglist:multilib"
+fi
+
# Do we need to create/include additional module(s) defined by a pkglist:
if [ -n "$SEQ_ADDMOD" ]; then
+ echo "-- Adding ${SEQ_ADDMOD}."
MSEQ="${MSEQ} pkglist:${SEQ_ADDMOD}"
fi
@@ -1266,15 +1284,18 @@ echo "-- Configuring KDE4."
# Adjust some usability issues with the default desktop layout:
if [ -f ${LIVE_ROOTDIR}/usr/share/apps/plasma/layout-templates/org.kde.plasma-desktop.defaultPanel/contents/layout.js ]; then
- sed -i \
- -e '/showActivityManager/a konsole = panel.addWidget("quicklaunch")' \
- -e '/showActivityManager/a dolphin = panel.addWidget("quicklaunch")' \
- -e '/showActivityManager/a firefox = panel.addWidget("quicklaunch")' \
- -e '$a firefox.writeConfig("iconUrls","file:///usr/share/applications/mozilla-firefox.desktop")' \
- -e '$a dolphin.writeConfig("iconUrls","file:////usr/share/applications/kde4/dolphin.desktop")' \
- -e '$a konsole.writeConfig("iconUrls","file:///usr/share/applications/kde4/konsole.desktop")' \
- -e '/tasks.writeConfig/d' \
- ${LIVE_ROOTDIR}/usr/share/apps/plasma/layout-templates/org.kde.plasma-desktop.defaultPanel/contents/layout.js
+ # Only apply to an unmodified file (Slackware 14.2 already implements it):
+ if grep -q 'tasks.writeConfig' ${LIVE_ROOTDIR}/usr/share/apps/plasma/layout-templates/org.kde.plasma-desktop.defaultPanel/contents/layout.js ]; then
+ sed -i \
+ -e '/showActivityManager/a konsole = panel.addWidget("quicklaunch")' \
+ -e '/showActivityManager/a dolphin = panel.addWidget("quicklaunch")' \
+ -e '/showActivityManager/a firefox = panel.addWidget("quicklaunch")' \
+ -e '$a firefox.writeConfig("iconUrls","file:///usr/share/applications/mozilla-firefox.desktop")' \
+ -e '$a dolphin.writeConfig("iconUrls","file:////usr/share/applications/kde4/dolphin.desktop")' \
+ -e '$a konsole.writeConfig("iconUrls","file:///usr/share/applications/kde4/konsole.desktop")' \
+ -e '/tasks.writeConfig/d' \
+ ${LIVE_ROOTDIR}/usr/share/apps/plasma/layout-templates/org.kde.plasma-desktop.defaultPanel/contents/layout.js
+ fi
fi
# Prepare some KDE4 defaults for the 'live' user and any new users.
diff --git a/makemod b/makemod
index 27ba575..ae030c9 100755
--- a/makemod
+++ b/makemod
@@ -60,21 +60,20 @@ elif [ -f "$2" -a "$INTERACTIVE" = "YES" ]; then
fi
fi
-# .sxz extension uses xz compression:
-COMPR="xz"
+MODEXT=$(echo "$2" |rev |cut -d'.' -f1 |rev)
+case $MODEXT in
+ sxz) COMPR="xz" ;;
+ sgz) COMPR="gzip" ;;
+ xzm) COMPR="xz" ;;
+ *) echo "-- Unsupported module extension '$MODEXT'" ; exit 1 ;;
+esac
if [ -d "$1" ]; then
- echo "Creating .sxz from directory."
+ echo "Creating .${MODEXT} module from directory using '$COMPR' compression."
+ TMPDIR=$(mktemp -t -d makesxz.XXXXXX)
PKGDIR="$1"
else
- MODEXT=$(echo "$2" |rev |cut -d'.' -f1 |rev)
- case $MODEXT in
- sxz) COMPR="xz" ;;
- sgz) COMPR="gzip" ;;
- xzm) COMPR="xz" ;;
- *) echo "-- Unsupported module extension '$MODEXT'" ; exit 1 ;;
- esac
- echo "Creating .${MODEXT} from package."
+ echo "Creating .${MODEXT} module from package using '$COMPR' compression."
TMPDIR=$(mktemp -t -d makesxz.XXXXXX)
PKGDIR="$TMPDIR"
if [ ! -d $PKGDIR ]; then
diff --git a/pkglists/multilib.conf b/pkglists/multilib.conf
new file mode 100644
index 0000000..1f8d5e6
--- /dev/null
+++ b/pkglists/multilib.conf
@@ -0,0 +1,12 @@
+# If 'SL_REPO_URL' is a rsync:// URL and 'SL_REPO' points to a non-existent
+# or empty directory, then the content of 'SL_REPO_URL' will be rsync-ed
+# to the local directory 'SL_REPO'.
+SL_REPO_URL="rsync://slackware.uk/people/alien/multilib/${SL_VERSION}"
+SL_REPO="/mnt/auto/sox/www/sox/slackware/multilib/${SL_VERSION}"
+
+# Package root directory:
+SL_PKGROOT=${SL_REPO}
+
+# Patches root directory:
+SL_PATCHROOT=""
+
diff --git a/pkglists/multilib.lst b/pkglists/multilib.lst
new file mode 100644
index 0000000..af3beaa
--- /dev/null
+++ b/pkglists/multilib.lst
@@ -0,0 +1,185 @@
+# The core multilib packages:
+compat32-tools
+gcc
+gcc-g++
+gcc-gfortran
+gcc-gnat
+gcc-go
+gcc-java
+gcc-objc
+glibc
+glibc-i18n
+glibc-profile
+glibc-solibs
+# This is what I consider as the essential 32bit multilib package set.
+# You can find this list embedded in the 'massconvert32.sh' script.
+# The A/ series:
+aaa_elflibs-compat32
+attr-compat32
+bzip2-compat32
+cups-compat32
+cxxlibs-compat32
+dbus-compat32
+e2fsprogs-compat32
+eudev-compat32
+libgudev-compat32
+openssl-solibs-compat32
+udev-compat32
+util-linux-compat32
+xz-compat32
+# The AP/ series:
+cups-compat32
+cups-filters-compat32
+flac-compat32
+mariadb-compat32
+mpg123-compat32
+mysql-compat32
+sqlite-compat32
+# The D/ series:
+libtool-compat32
+llvm-compat32
+# The L/ series:
+alsa-lib-compat32
+alsa-oss-compat32
+alsa-plugins-compat32
+atk-compat32
+audiofile-compat32
+cairo-compat32
+dbus-glib-compat32
+elfutils-compat32
+esound-compat32
+expat-compat32
+fftw-compat32
+freetype-compat32
+fribidi-compat32
+gamin-compat32
+gdk-pixbuf2-compat32
+giflib-compat32
+glib2-compat32
+gmp-compat32
+gnome-keyring-compat32
+gtk+2-compat32
+gst-plugins-base-compat32
+gst-plugins-base0-compat32
+gst-plugins-good-compat32
+gst-plugins-good0-compat32
+gstreamer-compat32
+gstreamer0-compat32
+hal-compat32
+harfbuzz-compat32
+icu4c-compat32
+jasper-compat32
+json-c-compat32
+lcms-compat32
+lcms2-compat32
+libaio-compat32
+libart_lgpl-compat32
+libasyncns-compat32
+libelf-compat32
+libexif-compat32
+libffi-compat32
+libglade-compat32
+libgphoto2-compat32
+libidn-compat32
+libieee1284-compat32
+libjpeg-compat32
+libjpeg-turbo-compat32
+libmng-compat32
+libmpc-compat32
+libnl3-compat32
+libnotify-compat32
+libogg-compat32
+libpcap-compat32
+libpng-compat32
+libsamplerate-compat32
+libsndfile-compat32
+libtasn1-compat32
+libtermcap-compat32
+libtiff-compat32
+libusb-compat32
+libvorbis-compat32
+libxml2-compat32
+libxslt-compat32
+lzo-compat32
+ncurses-compat32
+openjpeg-compat32
+orc-compat32
+pango-compat32
+popt-compat32
+pulseaudio-compat32
+qt-compat32
+readline-compat32
+sbc-compat32
+sdl-compat32
+seamonkey-solibs-compat32
+speexdsp-compat32
+startup-notification-compat32
+svgalib-compat32
+v4l-utils-compat32
+zlib-compat32
+# The N/ series:
+curl-compat32
+cyrus-sasl-compat32
+gnutls-compat32
+libgcrypt-compat32
+libgpg-error-compat32
+libtirpc-compat32
+nettle-compat32
+openldap-client-compat32
+openssl-compat32
+p11-kit-compat32
+samba-compat32
+# The X/ series:
+fontconfig-compat32
+freeglut-compat32
+glew-compat32
+glu-compat32
+libFS-compat32
+libICE-compat32
+libSM-compat32
+libX11-compat32
+libXScrnSaver-compat32
+libXTrap-compat32
+libXau-compat32
+libXaw-compat32
+libXcomposite-compat32
+libXcursor-compat32
+libXdamage-compat32
+libXdmcp-compat32
+libepoxy-compat32
+libXevie-compat32
+libXext-compat32
+libXfixes-compat32
+libXfont-compat32
+libXfontcache-compat32
+libXft-compat32
+libXi-compat32
+libXinerama-compat32
+libXmu-compat32
+libXp-compat32
+libXpm-compat32
+libXprintUtil-compat32
+libXrandr-compat32
+libXrender-compat32
+libXres-compat32
+libXt-compat32
+libXtst-compat32
+libXv-compat32
+libXvMC-compat32
+libXxf86dga-compat32
+libXxf86misc-compat32
+libXxf86vm-compat32
+libdmx-compat32
+libdrm-compat32
+libfontenc-compat32
+libpciaccess-compat32
+libva-compat32
+libva-intel-driver-compat32
+libvdpau-compat32
+libxcb-compat32
+libxshmfence-compat32
+mesa-compat32
+pixman-compat32
+xcb-util-compat32
+# The XAP/ series:
+sane-compat32