summaryrefslogtreecommitdiffstats
path: root/source/installer/sources/initrd/usr/lib/setup/INSUSB
diff options
context:
space:
mode:
author Patrick J Volkerding <volkerdi@slackware.com>2018-06-06 22:19:01 +0000
committer Eric Hameleers <alien@slackware.com>2018-06-07 08:58:09 +0200
commit6e00c56127b4fa2328e596ac18647fb7f27b674d (patch)
treed9cb5f96f79880fb29e1875aa169336346d94989 /source/installer/sources/initrd/usr/lib/setup/INSUSB
parentec4fd2d70a99a651f8498ce4c1ca8b38b9583c39 (diff)
downloadcurrent-6e00c56127b4fa2328e596ac18647fb7f27b674d.tar.gz
current-6e00c56127b4fa2328e596ac18647fb7f27b674d.tar.xz
Wed Jun 6 22:19:01 UTC 201820180606221901
a/bash-4.4.023-x86_64-1.txz: Upgraded. a/kernel-firmware-20180604_1fa9ce3-noarch-1.txz: Upgraded. a/kernel-generic-4.14.48-x86_64-1.txz: Upgraded. a/kernel-huge-4.14.48-x86_64-1.txz: Upgraded. a/kernel-modules-4.14.48-x86_64-1.txz: Upgraded. ap/cups-2.2.8-x86_64-1.txz: Upgraded. ap/ghostscript-fonts-std-8.11-noarch-3.txz: Rebuilt. Rebuilt this and many other font packages or packages with build scripts that call mkfontdir or mkfontscale to suppress any error messages caused by collisions if another package installation is writing files to the same font directories when those utilities are run. In that case, the other package will also be running mkfontdir/mkfontscale after the files are installed, so any issues will be cleaned up then. Last one out turn off the lights, so to speak. ap/sqlite-3.24.0-x86_64-1.txz: Upgraded. ap/terminus-font-4.40-noarch-3.txz: Rebuilt. d/kernel-headers-4.14.48-x86-1.txz: Upgraded. d/rust-1.26.2-x86_64-1.txz: Upgraded. k/kernel-source-4.14.48-noarch-1.txz: Upgraded. l/elfutils-0.171-x86_64-1.txz: Upgraded. l/harfbuzz-1.7.7-x86_64-1.txz: Upgraded. l/mozilla-nss-3.37.3-x86_64-1.txz: Upgraded. l/readline-7.0.005-x86_64-1.txz: Upgraded. x/dejavu-fonts-ttf-2.37-noarch-4.txz: Rebuilt. x/font-adobe-100dpi-1.0.3-noarch-3.txz: Rebuilt. x/font-adobe-75dpi-1.0.3-noarch-3.txz: Rebuilt. x/font-adobe-utopia-100dpi-1.0.4-noarch-3.txz: Rebuilt. x/font-adobe-utopia-75dpi-1.0.4-noarch-3.txz: Rebuilt. x/font-adobe-utopia-type1-1.0.4-noarch-3.txz: Rebuilt. x/font-arabic-misc-1.0.3-noarch-3.txz: Rebuilt. x/font-bh-100dpi-1.0.3-noarch-3.txz: Rebuilt. x/font-bh-75dpi-1.0.3-noarch-3.txz: Rebuilt. x/font-bh-lucidatypewriter-100dpi-1.0.3-noarch-3.txz: Rebuilt. x/font-bh-lucidatypewriter-75dpi-1.0.3-noarch-3.txz: Rebuilt. x/font-bh-ttf-1.0.3-noarch-3.txz: Rebuilt. x/font-bh-type1-1.0.3-noarch-3.txz: Rebuilt. x/font-bitstream-100dpi-1.0.3-noarch-3.txz: Rebuilt. x/font-bitstream-75dpi-1.0.3-noarch-3.txz: Rebuilt. x/font-bitstream-speedo-1.0.2-noarch-3.txz: Rebuilt. x/font-bitstream-type1-1.0.3-noarch-3.txz: Rebuilt. x/font-cronyx-cyrillic-1.0.3-noarch-3.txz: Rebuilt. x/font-cursor-misc-1.0.3-noarch-3.txz: Rebuilt. x/font-daewoo-misc-1.0.3-noarch-3.txz: Rebuilt. x/font-dec-misc-1.0.3-noarch-3.txz: Rebuilt. x/font-ibm-type1-1.0.3-noarch-3.txz: Rebuilt. x/font-isas-misc-1.0.3-noarch-3.txz: Rebuilt. x/font-jis-misc-1.0.3-noarch-3.txz: Rebuilt. x/font-micro-misc-1.0.3-noarch-3.txz: Rebuilt. x/font-misc-cyrillic-1.0.3-noarch-3.txz: Rebuilt. x/font-misc-ethiopic-1.0.3-noarch-3.txz: Rebuilt. x/font-misc-meltho-1.0.3-noarch-3.txz: Rebuilt. x/font-misc-misc-1.1.2-noarch-3.txz: Rebuilt. x/font-mutt-misc-1.0.3-noarch-3.txz: Rebuilt. x/font-schumacher-misc-1.1.2-noarch-3.txz: Rebuilt. x/font-screen-cyrillic-1.0.4-noarch-3.txz: Rebuilt. x/font-sony-misc-1.0.3-noarch-3.txz: Rebuilt. x/font-sun-misc-1.0.3-noarch-3.txz: Rebuilt. x/font-winitzki-cyrillic-1.0.3-noarch-3.txz: Rebuilt. x/font-xfree86-type1-1.0.4-noarch-3.txz: Rebuilt. x/liberation-fonts-ttf-2.00.1-noarch-3.txz: Rebuilt. x/libinput-1.11.0-x86_64-1.txz: Upgraded. x/sazanami-fonts-ttf-20040629-noarch-3.txz: Rebuilt. x/sinhala_lklug-font-ttf-20060929-noarch-3.txz: Rebuilt. x/tibmachuni-font-ttf-1.901b-noarch-3.txz: Rebuilt. x/ttf-indic-fonts-0.5.14-noarch-3.txz: Rebuilt. x/ttf-tlwg-0.6.4-noarch-3.txz: Rebuilt. x/urw-core35-fonts-otf-20170801_91edd6e_git-noarch-2.txz: Rebuilt. x/wqy-zenhei-font-ttf-0.8.38_1-noarch-6.txz: Rebuilt. xap/mozilla-firefox-60.0.2-x86_64-1.txz: Upgraded. This release contains security fixes and improvements. For more information, see: https://www.mozilla.org/security/known-vulnerabilities/firefox.html (* Security fix *) xap/x3270-3.3.12ga7-x86_64-5.txz: Rebuilt. isolinux/initrd.img: Rebuilt. kernels/*: Upgraded. usb-and-pxe-installers/usbboot.img: Rebuilt.
Diffstat (limited to 'source/installer/sources/initrd/usr/lib/setup/INSUSB')
-rwxr-xr-xsource/installer/sources/initrd/usr/lib/setup/INSUSB107
1 files changed, 107 insertions, 0 deletions
diff --git a/source/installer/sources/initrd/usr/lib/setup/INSUSB b/source/installer/sources/initrd/usr/lib/setup/INSUSB
new file mode 100755
index 000000000..04723159c
--- /dev/null
+++ b/source/installer/sources/initrd/usr/lib/setup/INSUSB
@@ -0,0 +1,107 @@
+#!/bin/sh
+RDIR=/dev/tty4
+NDIR=/dev/null
+TMP=/var/log/setup/tmp
+if [ ! -d $TMP ]; then
+ mkdir -p $TMP
+fi
+T_PX="`cat $TMP/SeTT_PX`"
+rm -f $TMP/SeTmount $TMP/SeTDS $TMP/SeTCDdev $TMP/reply
+
+dialog --title "SCANNING FOR USB STICK" --msgbox \
+"Make sure the USB stick containing the Slackware package directory \
+is inserted into a USB port, and then press ENTER to begin the scanning process." \
+7 66 \
+2> $TMP/reply
+if [ ! -r $TMP/reply ]; then
+ # cancel or esc
+ rm -f $TMP/SeTDS $TMP/SeTmount $TMP/SeTCDdev $TMP/errordo
+ exit
+fi
+
+dialog --infobox "\nScanning for USB stick..." 5 30
+
+# Run "rescan-scsi-bus -l" to get an up to date overview of devices:
+/sbin/rescan-scsi-bus -l 1>$RDIR 2>$RDIR
+
+# Generate a list of removable devices:
+REMOVABLE_DEVICES=""
+for BDEV in $(ls --indicator-style none /sys/block | grep -E -v "loop|ram|^dm-|^sr|^md"); do
+ if [ -r /sys/block/$BDEV/removable -a "$(cat /sys/block/$BDEV/removable)" == "1" ]; then
+ REMOVEABLE_DEVICES="$REMOVEABLE_DEVICES $BDEV"
+ fi
+done
+
+if [ "$REMOVEABLE_DEVICES" = "" ]; then
+ dialog --title "NO REMOVABLE USB DEVICES FOUND" --msgbox \
+"Sorry, but no removable USB devices could be found. Exiting back to the top menu." \
+6 55
+ rm -f $TMP/SeTDS $TMP/SeTmount $TMP/SeTCDdev $TMP/errordo
+ exit
+fi
+
+# Make a mount location for the USB source:
+mkdir -p /usb-stick
+# Try to unmount it, just in case something strange is going on:
+umount /usb-stick 1> /dev/null 2> /dev/null
+
+# First, we will look for partitions on the USB stick. Not knowing whether the stick is
+# partitioned with MBR or GPT partitions (or indeed at all), we'll test for partitions
+# 1 through 4. Probably very few people will try to use a stick with the Slackware
+# packages in a directory on partition 5 or higher. If they do, it won't work. Sorry.
+unset DRIVE_FOUND INSTALL_PATH
+for DEVICE in $REMOVEABLE_DEVICES ; do
+ for PARTITION in 1 2 3 4 ; do
+ mount /dev/$DEVICE$PARTITION /usb-stick 1> /dev/null 2> /dev/null
+ if [ -d /usb-stick/slackware/a ]; then
+ DRIVE_FOUND="/dev/$DEVICE$PARTITION"
+ INSTALL_PATH="/usb-stick/slackware"
+ break
+ fi
+ if [ -d /usb-stick/slackware*-*/slackware/a ]; then
+ DRIVE_FOUND="/dev/$DEVICE$PARTITION"
+ INSTALL_PATH=$(echo /usb-stick/slackware*-*/slackware)
+ break
+ fi
+ umount /usb-stick 1> /dev/null 2> /dev/null
+ done
+done
+
+# Next, we will try mounting the devices as unpartitioned if nothing has been found yet:
+if [ "$DRIVE_FOUND" = "" ]; then
+ for DEVICE in $REMOVEABLE_DEVICES ; do
+ mount /dev/$DEVICE /usb-stick 1> /dev/null 2> /dev/null
+ if [ -d /usb-stick/slackware/a ]; then
+ DRIVE_FOUND="/dev/$DEVICE"
+ INSTALL_PATH="/usb-stick/slackware"
+ break
+ fi
+ if [ -d /usb-stick/slackware*-*/slackware/a ]; then
+ DRIVE_FOUND="/dev/$DEVICE$PARTITION"
+ INSTALL_PATH=$(echo /usb-stick/slackware*-*/slackware)
+ break
+ fi
+ done
+fi
+
+if [ "$DRIVE_FOUND" = "" ]; then
+ dialog --title "NO SLACKWARE DIRECTORY FOUND" --msgbox \
+"Sorry, but a Slackware directory could not be found on any USB devices. \
+Exiting back to the top menu." \
+6 55
+ rm -f $TMP/SeTDS $TMP/SeTmount $TMP/SeTCDdev $TMP/errordo
+ exit
+fi
+
+# Success! Report back to the console:
+
+dialog --title "USB PACKAGE SOURCE FOUND" --sleep 1 --infobox \
+"A Slackware package directory was found on device $DRIVE_FOUND." 3 66
+
+# At this point, the stick has been found and is mounted on /usb-stick.
+# All that remains is to tell the installer about it, and we're done here.
+
+echo $INSTALL_PATH > $TMP/SeTDS
+echo "-source_mounted" > $TMP/SeTmount
+echo "/dev/null" > $TMP/SeTsource
+