diff options
Diffstat (limited to '')
-rwxr-xr-x | make_slackware_live.sh | 43 | ||||
-rwxr-xr-x | makemod | 21 | ||||
-rw-r--r-- | pkglists/multilib.conf | 12 | ||||
-rw-r--r-- | pkglists/multilib.lst | 185 |
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. @@ -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 |