diff options
Diffstat (limited to '')
-rw-r--r-- | setup2hd.local.tpl (renamed from setup2hd.local) | 0 | ||||
-rwxr-xr-x | setup2hd.tpl | 188 | ||||
-rw-r--r--[-rwxr-xr-x] | setup2hd/SeTuacct.tpl (renamed from SeTuacct.tpl) | 0 | ||||
-rw-r--r-- | setup2hd/SeTudiskpart.tpl (renamed from SeTudiskpart.tpl) | 2 | ||||
-rw-r--r-- | setup2hd/SeTumedia.tpl | 32 | ||||
-rw-r--r--[-rwxr-xr-x] | setup2hd/SeTupass.tpl (renamed from SeTupass.tpl) | 0 | ||||
-rw-r--r-- | setup2hd/setup.liveslak.tpl | 173 | ||||
-rw-r--r-- | setup2hd/setup.slackware.tpl | 155 |
8 files changed, 384 insertions, 166 deletions
diff --git a/setup2hd.local b/setup2hd.local.tpl index 8edb7a5..8edb7a5 100644 --- a/setup2hd.local +++ b/setup2hd.local.tpl diff --git a/setup2hd.tpl b/setup2hd.tpl index 4bc48bb..92bbdbc 100755 --- a/setup2hd.tpl +++ b/setup2hd.tpl @@ -211,180 +211,38 @@ Alternate keys may also be used: '+', '-', and TAB." 18 72 9 \ SeTEFI SeTDOS if [ -r $TMP/SeTnative ]; then - MAINSELECT="INSTALL" + MAINSELECT="SOURCE" fi fi - if [ "$MAINSELECT" = "INSTALL" ]; then - if [ ! -r $TMP/SeTnative ]; then - dialog --backtitle "@CDISTRO@ Linux Setup (Live Edition)" \ - --title "CANNOT INSTALL SOFTWARE YET" --msgbox "\ -\n\ -Before you can install software, complete the following tasks:\n\ -\n\ -1. Set up your target Linux partition(s).\n\ -\n\ -You may also optionally remap your keyboard and set up your\n\ -swap partition(s). \n\ -\n\ -Press ENTER to return to the main menu." 16 68 - continue + if [ "$MAINSELECT" = "SOURCE" ]; then + SeTumedia + if [ -r $TMP/SeTsource ]; then + if [ -r $TMP/SeTlive ]; then + MAINSELECT="INSTALL" + else + MAINSELECT="SELECT" + fi fi + fi - # --------------------------------------------- # - # Slackware Live Edition - install to disk: # - # --------------------------------------------- # - - # Buy us some time while we are calculating disk usage: - dialog --backtitle "@CDISTRO@ Linux Setup (Live Edition)" \ - --title "WELCOME TO @UDISTRO@ LIVE (@LIVEDE@)" --infobox \ - "\nCalculating disk usage, please be patient ..." 5 65 - - ACT_MODS=$(ls -rt --indicator-style=none /mnt/live/modules/ |wc -l) - TOT_MODS=$(find /mnt/livemedia/@LIVEMAIN@/ -type f -name "*.sxz" |wc -l) - DU_LIVE=$(du -s /mnt/live/modules/ 2>/dev/null |tr -s '\t' ' ' |cut -f1 -d' ') - PARTFREE=$(df -P -BM $T_PX |tail -1 |tr -s '\t' ' ' |cut -d' ' -f4) - PARTFREE=${PARTFREE%M} - - # Warn when it looks we have insufficient room: - if [ $PARTFREE -lt $(($DU_LIVE/1024)) ]; then - dialog --backtitle "@CDISTRO@ Linux Setup (Live Edition)" \ - --title "WELCOME TO @UDISTRO@ LIVE (@LIVEDE@)" --yesno \ - "\nAvailable space: $PARTFREE MB\nRequired space: $(($DU_LIVE/1024))\nIt looks like your hard drive partition is too small.\nDo you want to continue?" 10 65 - retval=$? - if [ $retval = 1 ]; then - umount $T_PX - exit 1 - fi + if [ "$MAINSELECT" = "SELECT" ]; then + if [ -r /var/log/mount/isolinux/setpkg ]; then + sh /var/log/mount/isolinux/setpkg else - dialog --backtitle "@CDISTRO@ Linux Setup (Live Edition)" \ - --title "WELCOME TO @UDISTRO@ LIVE (@LIVEDE@)" --msgbox \ - "\nAvailable space: $PARTFREE MB\nRequired space: $(($DU_LIVE/1024)) MB\nIt looks like you're good to go!" 10 65 + SeTPKG fi - - ( - # Install the Live OS by rsyncing the readonly overlay to the harddisk: - rsync -HAXav --whole-file --checksum-choice=none --inplace --progress --no-inc-recursive \ - /mnt/@LIVEMAIN@fs/ $T_PX/ \ - | awk '{ if (index($0, "to-chk=") > 0) { split($0, pieces, "to-chk="); split(pieces[2], term, ")"); split(term[1], division, "/"); print (1-(division[1]/division[2]))*100 }; fflush(); }' \ - | sed --unbuffered 's/^\([0-9]*\).*/\1/' - ) | dialog --backtitle "@CDISTRO@ Linux Setup (Live Edition)" \ - --title "INSTALLING @UDISTRO@ LIVE (@LIVEDE@) TO DISK" --gauge \ - "\nProcessing ${TOT_MODS} @CDISTRO@ Live modules ($(( $DU_LIVE/1024 )) MB)" 8 65 - - # - # Live OS Post Install routine. If you want, you can override this routine - # by (re-)defining this function "live_post_install()" in a file called - # "/usr/share/@LIVEMAIN@/setup2hd.@DISTRO@". - # - - live_post_install () { - # Re-use some of the custom configuration from 0099-@DISTRO@_zzzconf-*.sxz - # (some of these may not be present but the command will not fail): - dialog --backtitle "@CDISTRO@ Linux Setup (Live Edition)" \ - --title "POST-INSTALL @UDISTRO@ LIVE (@LIVEDE@) DATA" --infobox \ - "\nCopying Live modifications to hard disk ..." 5 65 - sleep 1 # It's too fast... - # Do not overwrite a custom keymap: - if [ ! -f $T_PX/etc/rc.d/rc.keymap ]; then - unsquashfs -f -dest $T_PX \ - /mnt/livemedia/@LIVEMAIN@/system/0099*zzzconf*.sxz \ - /etc/rc.d/rc.keymap - fi - unsquashfs -f -dest $T_PX \ - /mnt/livemedia/@LIVEMAIN@/system/0099*zzzconf*.sxz \ - /etc/X11/xdm/liveslak-xdm \ - /etc/X11/xorg.conf.d/30-keyboard.conf \ - /etc/inittab \ - /etc/skel \ - /etc/profile.d/lang.sh \ - /etc/rc.d/rc.font \ - /etc/rc.d/rc.gpm \ - /etc/slackpkg \ - /etc/vconsole.conf - # Point xdm to the custom /etc/X11/xdm/liveslak-xdm/xdm-config: - sed -i ${T_PX}/etc/rc.d/rc.4 -e 's,bin/xdm -nodaemon,& -config /etc/X11/xdm/liveslak-xdm/xdm-config,' - # Remove the marker file from the filesystem root: - rm -f ${T_PX}/@MARKER@ - - # --------------------- - # Set up a user account, - dialog --title "@UDISTRO@ (@LIVEDE@) USER CREATION" \ - --backtitle "@CDISTRO@ Linux Setup (Live Edition)" \ - --msgbox "You will first get the chance to create your user account, \ -and set its password.\nYour account will be added to sudoers and suauth.\n\n\ -Next you will be asked to set root's password." 9 55 - # This will set UFULLNAME, UACCOUNT and USHELL variables: - SeTuacct 2>&1 1> $TMP/tempresult - if [ $? = 0 ]; then - # User filled out the form, so let's get the results for - # UFULLNAME, UACCOUNT and USHELL: - source $TMP/tempresult - rm -f $TMP/tempresult - # Set a password for the new account: - UPASS=$(SeTupass $UACCOUNT) - # Create the account and set the password: - chroot ${T_PX} /usr/sbin/useradd -c "$UFULLNAME" -g users -G wheel,audio,cdrom,floppy,plugdev,video,power,netdev,lp,scanner,kmem,dialout,games,disk,input -u 1000 -d /home/${UACCOUNT} -m -s ${USHELL} ${UACCOUNT} - echo "${UACCOUNT}:${UPASS}" | chroot ${T_PX} /usr/sbin/chpasswd - unset UPASS - - # Configure suauth: - cat <<EOT >${T_PX}/etc/suauth -root:${UACCOUNT}:OWNPASS -root:ALL EXCEPT GROUP wheel:DENY -EOT - chmod 600 ${LIVE_ROOTDIR}/etc/suauth - - # Configure sudoers: - chmod 640 ${T_PX}/etc/sudoers - sed -i ${T_PX}/etc/sudoers -e 's/# *\(%wheel\sALL=(ALL)\sALL\)/\1/' - chmod 440 ${T_PX}/etc/sudoers - fi # End user creation - # --------------------------- - - if [ "$(cat $T_PX/etc/shadow | grep 'root:' | cut -f 2 -d :)" = "" ]; then - # There is no root password yet: - UPASS=$(SeTupass root) - echo "root:${UPASS}" | chroot ${T_PX} /usr/sbin/chpasswd - unset UPASS - fi - - cat << EOF > $TMP/tempmsg - - @CDISTRO@ Live Edition (@LIVEDE@) has been installed to your hard drive! - We installed the ${ACT_MODS} active modules (out of ${TOT_MODS} available). - The following configuration was copied from the Live OS to your harddisk: - - console font - - default runlevel - - keyboard layout - - language setting - After finishing system configuration and before rebooting, you can add any further Live modules from /@LIVEMAIN@/addons/ and /@LIVEMAIN@/optional/ to your hard drive, using a command similar to this: - # unsquashfs -f -dest $T_PX /mnt/livemedia/@LIVEMAIN@/addons/mymodule.sxz - -EOF - dialog --backtitle "@CDISTRO@ Linux Setup (Live Edition)" \ - --title "POST INSTALL HINTS AND TIPS" --msgbox "`cat $TMP/tempmsg`" \ - 20 65 - rm $TMP/tempmsg - - MAINSELECT="CONFIGURE" - } # END live_post_install() function - - - if [ -f /usr/share/@LIVEMAIN@/setup2hd.@DISTRO@ ]; then - # If the setup2hd post-configuration file exists, source it. - # The file should re-define the live_post_install() function. - . /usr/share/@LIVEMAIN@/setup2hd.@DISTRO@ + if [ -r $TMP/SeTSERIES ]; then + MAINSELECT="INSTALL" fi + fi - # Now, execute the function - either our own built-in version - # or the re-defined function from the custom setup2hd.@DISTRO@ file. - live_post_install - - # --------------------------------------------- # - # Slackware Live Edition - end install to disk: # - # --------------------------------------------- # - + if [ "$MAINSELECT" = "INSTALL" ]; then + if [ -r $TMP/SeTlive ]; then + source setup.liveslak + else + source setup.slackware + fi fi if [ "$MAINSELECT" = "CONFIGURE" ]; then diff --git a/SeTuacct.tpl b/setup2hd/SeTuacct.tpl index 5024f5d..5024f5d 100755..100644 --- a/SeTuacct.tpl +++ b/setup2hd/SeTuacct.tpl diff --git a/SeTudiskpart.tpl b/setup2hd/SeTudiskpart.tpl index 5a244a8..46bf26b 100644 --- a/SeTudiskpart.tpl +++ b/setup2hd/SeTudiskpart.tpl @@ -10,7 +10,7 @@ fi --title "NO HARD DRIVE DETECTED" \ --msgbox "This machine appears not to have any hard drives installed.\ This setup will not work. Please add a hard drive to the computer first." 10 64 - exit + exit 1 fi # Generate a list of local hard drives we can write to: diff --git a/setup2hd/SeTumedia.tpl b/setup2hd/SeTumedia.tpl new file mode 100644 index 0000000..8510acb --- /dev/null +++ b/setup2hd/SeTumedia.tpl @@ -0,0 +1,32 @@ +#!/bin/sh +TMP=/var/log/setup/tmp +if [ ! -d $TMP ]; then + mkdir -p $TMP +fi + +dialog --backtitle "Select Slackware installation source." \ +--title "SOURCE MEDIA SELECTION" --menu \ +"Please select the media from which to install Slackware Linux:" \ +14 70 7 \ +"1" "Install from NFS (Network File System)" \ +"2" "Install from FTP/HTTP server" \ +"3" "Install from Samba share" \ +"4" "Install @UDISTRO@ (@LIVEDE@) Live OS to disk" \ +2> $TMP/media +if [ ! $? = 0 ]; then + rm $TMP/media + exit +fi + +SOURCE_MEDIA="`cat $TMP/media`" +rm -f $TMP/media +if [ "$SOURCE_MEDIA" = "1" ]; then + INSNFS +elif [ "$SOURCE_MEDIA" = "2" ]; then + INSURL +elif [ "$SOURCE_MEDIA" = "3" ]; then + INSSMB +elif [ "$SOURCE_MEDIA" = "4" ]; then + touch $TMP/SeTlive +fi + diff --git a/SeTupass.tpl b/setup2hd/SeTupass.tpl index ff662ab..ff662ab 100755..100644 --- a/SeTupass.tpl +++ b/setup2hd/SeTupass.tpl diff --git a/setup2hd/setup.liveslak.tpl b/setup2hd/setup.liveslak.tpl new file mode 100644 index 0000000..396412b --- /dev/null +++ b/setup2hd/setup.liveslak.tpl @@ -0,0 +1,173 @@ + # Liveslak installation routine: + if [ "$MAINSELECT" = "INSTALL" ]; then + if [ ! -r $TMP/SeTnative ]; then + dialog --backtitle "@CDISTRO@ Linux Setup (Live Edition)" \ + --title "CANNOT INSTALL SOFTWARE YET" --msgbox "\ +\n\ +Before you can install software, complete the following tasks:\n\ +\n\ +1. Set up your target Linux partition(s).\n\ +\n\ +You may also optionally remap your keyboard and set up your\n\ +swap partition(s). \n\ +\n\ +Press ENTER to return to the main menu." 16 68 + continue + fi + + # --------------------------------------------- # + # Slackware Live Edition - install to disk: # + # --------------------------------------------- # + + # Buy us some time while we are calculating disk usage: + dialog --backtitle "@CDISTRO@ Linux Setup (Live Edition)" \ + --title "WELCOME TO @UDISTRO@ LIVE (@LIVEDE@)" --infobox \ + "\nCalculating disk usage, please be patient ..." 5 65 + + ACT_MODS=$(ls -rt --indicator-style=none /mnt/live/modules/ |wc -l) + TOT_MODS=$(find /mnt/livemedia/@LIVEMAIN@/ -type f -name "*.sxz" |wc -l) + DU_LIVE=$(du -s /mnt/live/modules/ 2>/dev/null |tr -s '\t' ' ' |cut -f1 -d' ') + PARTFREE=$(df -P -BM $T_PX |tail -1 |tr -s '\t' ' ' |cut -d' ' -f4) + PARTFREE=${PARTFREE%M} + + # Warn when it looks we have insufficient room: + if [ $PARTFREE -lt $(($DU_LIVE/1024)) ]; then + dialog --backtitle "@CDISTRO@ Linux Setup (Live Edition)" \ + --title "WELCOME TO @UDISTRO@ LIVE (@LIVEDE@)" --yesno \ + "\nAvailable space: $PARTFREE MB\nRequired space: $(($DU_LIVE/1024))\nIt looks like your hard drive partition is too small.\nDo you want to continue?" 10 65 + retval=$? + if [ $retval = 1 ]; then + umount $T_PX + exit 1 + fi + else + dialog --backtitle "@CDISTRO@ Linux Setup (Live Edition)" \ + --title "WELCOME TO @UDISTRO@ LIVE (@LIVEDE@)" --msgbox \ + "\nAvailable space: $PARTFREE MB\nRequired space: $(($DU_LIVE/1024)) MB\nIt looks like you're good to go!" 10 65 + fi + + ( + # Install the Live OS by rsyncing the readonly overlay to the harddisk: + rsync -HAXav --whole-file --checksum-choice=none --inplace --progress --no-inc-recursive \ + /mnt/@LIVEMAIN@fs/ $T_PX/ \ + | awk '{ if (index($0, "to-chk=") > 0) { split($0, pieces, "to-chk="); split(pieces[2], term, ")"); split(term[1], division, "/"); print (1-(division[1]/division[2]))*100 }; fflush(); }' \ + | sed --unbuffered 's/^\([0-9]*\).*/\1/' + ) | dialog --backtitle "@CDISTRO@ Linux Setup (Live Edition)" \ + --title "INSTALLING @UDISTRO@ LIVE (@LIVEDE@) TO DISK" --gauge \ + "\nProcessing ${TOT_MODS} @CDISTRO@ Live modules ($(( $DU_LIVE/1024 )) MB)" 8 65 + + # + # Live OS Post Install routine. If you want, you can override this routine + # by (re-)defining this function "live_post_install()" in a file called + # "/usr/share/@LIVEMAIN@/setup2hd.@DISTRO@". + # + + live_post_install () { + # Re-use some of the custom configuration from 0099-@DISTRO@_zzzconf-*.sxz + # (some of these may not be present but the command will not fail): + dialog --backtitle "@CDISTRO@ Linux Setup (Live Edition)" \ + --title "POST-INSTALL @UDISTRO@ LIVE (@LIVEDE@) DATA" --infobox \ + "\nCopying Live modifications to hard disk ..." 5 65 + sleep 1 # It's too fast... + # Do not overwrite a custom keymap: + if [ ! -f $T_PX/etc/rc.d/rc.keymap ]; then + unsquashfs -f -dest $T_PX \ + /mnt/livemedia/@LIVEMAIN@/system/0099*zzzconf*.sxz \ + /etc/rc.d/rc.keymap + fi + unsquashfs -f -dest $T_PX \ + /mnt/livemedia/@LIVEMAIN@/system/0099*zzzconf*.sxz \ + /etc/X11/xdm/liveslak-xdm \ + /etc/X11/xorg.conf.d/30-keyboard.conf \ + /etc/inittab \ + /etc/skel \ + /etc/profile.d/lang.sh \ + /etc/rc.d/rc.font \ + /etc/rc.d/rc.gpm \ + /etc/slackpkg \ + /etc/vconsole.conf + # Point xdm to the custom /etc/X11/xdm/liveslak-xdm/xdm-config: + sed -i ${T_PX}/etc/rc.d/rc.4 -e 's,bin/xdm -nodaemon,& -config /etc/X11/xdm/liveslak-xdm/xdm-config,' + # Remove the marker file from the filesystem root: + rm -f ${T_PX}/@MARKER@ + + # --------------------- + # Set up a user account, + dialog --title "@UDISTRO@ (@LIVEDE@) USER CREATION" \ + --backtitle "@CDISTRO@ Linux Setup (Live Edition)" \ + --msgbox "You will first get the chance to create your user account, \ +and set its password.\nYour account will be added to sudoers and suauth.\n\n\ +Next you will be asked to set root's password." 9 55 + # This will set UFULLNAME, UACCOUNT and USHELL variables: + SeTuacct 2>&1 1> $TMP/tempresult + if [ $? = 0 ]; then + # User filled out the form, so let's get the results for + # UFULLNAME, UACCOUNT and USHELL: + source $TMP/tempresult + rm -f $TMP/tempresult + # Set a password for the new account: + UPASS=$(SeTupass $UACCOUNT) + # Create the account and set the password: + chroot ${T_PX} /usr/sbin/useradd -c "$UFULLNAME" -g users -G wheel,audio,cdrom,floppy,plugdev,video,power,netdev,lp,scanner,kmem,dialout,games,disk,input -u 1000 -d /home/${UACCOUNT} -m -s ${USHELL} ${UACCOUNT} + echo "${UACCOUNT}:${UPASS}" | chroot ${T_PX} /usr/sbin/chpasswd + unset UPASS + + # Configure suauth: + cat <<EOT >${T_PX}/etc/suauth +root:${UACCOUNT}:OWNPASS +root:ALL EXCEPT GROUP wheel:DENY +EOT + chmod 600 ${LIVE_ROOTDIR}/etc/suauth + + # Configure sudoers: + chmod 640 ${T_PX}/etc/sudoers + sed -i ${T_PX}/etc/sudoers -e 's/# *\(%wheel\sALL=(ALL)\sALL\)/\1/' + chmod 440 ${T_PX}/etc/sudoers + fi # End user creation + # --------------------------- + + if [ "$(cat $T_PX/etc/shadow | grep 'root:' | cut -f 2 -d :)" = "" ]; then + # There is no root password yet: + UPASS=$(SeTupass root) + echo "root:${UPASS}" | chroot ${T_PX} /usr/sbin/chpasswd + unset UPASS + fi + + cat << EOF > $TMP/tempmsg + + @CDISTRO@ Live Edition (@LIVEDE@) has been installed to your hard drive! + We installed the ${ACT_MODS} active modules (out of ${TOT_MODS} available). + The following configuration was copied from the Live OS to your harddisk: + - console font + - default runlevel + - keyboard layout + - language setting + After finishing system configuration and before rebooting, you can add any further Live modules from /@LIVEMAIN@/addons/ and /@LIVEMAIN@/optional/ to your hard drive, using a command similar to this: + # unsquashfs -f -dest $T_PX /mnt/livemedia/@LIVEMAIN@/addons/mymodule.sxz + +EOF + dialog --backtitle "@CDISTRO@ Linux Setup (Live Edition)" \ + --title "POST INSTALL HINTS AND TIPS" --msgbox "`cat $TMP/tempmsg`" \ + 20 65 + rm $TMP/tempmsg + + MAINSELECT="CONFIGURE" + } # END live_post_install() function + + + if [ -f /usr/share/@LIVEMAIN@/setup2hd.@DISTRO@ ]; then + # If the setup2hd post-configuration file exists, source it. + # The file should re-define the live_post_install() function. + . /usr/share/@LIVEMAIN@/setup2hd.@DISTRO@ + fi + + # Now, execute the function - either our own built-in version + # or the re-defined function from the custom setup2hd.@DISTRO@ file. + live_post_install + + # --------------------------------------------- # + # Slackware Live Edition - end install to disk: # + # --------------------------------------------- # + + fi + # End liveslak installation routine. diff --git a/setup2hd/setup.slackware.tpl b/setup2hd/setup.slackware.tpl new file mode 100644 index 0000000..9461d90 --- /dev/null +++ b/setup2hd/setup.slackware.tpl @@ -0,0 +1,155 @@ + # Slackware installation routine as taken from original 'setup': + if [ "$MAINSELECT" = "INSTALL" ]; then + if [ ! -r $TMP/SeTSERIES -o ! -r $TMP/SeTsource -o ! -r $TMP/SeTnative ]; then + dialog --title "CANNOT INSTALL SOFTWARE YET" --msgbox "\ +\n\ +Before you can install software, complete the following tasks:\n\ +\n\ +1. Select your source media.\n\ +2. Set up your target Linux partition(s).\n\ +3. Select which software categories to install.\n\ +\n\ +You may also optionally remap your keyboard and set up your\n\ +swap partition(s). \n\ +\n\ +Press ENTER to return to the main menu." 16 68 + continue + fi + SERIES="`cat $TMP/SeTSERIES`" + SOURCE_DEVICE="`cat $TMP/SeTsource`" + IGNORE_TAGFILES="" + while [ 0 ]; do + dialog --title "SELECT PROMPTING MODE" --default-item "terse" --menu \ + "Now you must select the type of prompts you'd like to see during the \ +installation process. If you have the drive space, the 'full' option \ +is quick, easy, and by far the most foolproof choice. The 'newbie' \ +mode provides the most information but is much more time-consuming \ +(presenting the packages one by one) than the menu-based choices. \ +Otherwise, you can pick packages from menus \ +using 'expert' or 'menu' mode. Which type of prompting would you like \ +to use?" \ + 20 76 7 \ + "full" "Install everything (9+ GB of software, RECOMMENDED!)" \ + "terse" "Like 'full', but display one line per package during install" \ + "menu" "Choose individual packages from interactive menus" \ + "expert" "This is actually the same as the \"menu\" option" \ + "newbie" "Use verbose prompting (the X series takes one year)" \ + "custom" "Use custom tagfiles in the package directories" \ + "tagpath" "Use tagfiles in the subdirectories of a custom path" \ + "help" "Read the prompt mode help file" 2> $TMP/SeTpmode + if [ ! $? = 0 ]; then + rm -f $TMP/SeTpmode + exit + fi + MODE="`cat $TMP/SeTpmode`" + rm -f $TMP/SeTtagext + if [ "$MODE" = "help" ]; then + dialog --title "PROMPT MODE HELP" --exit-label OK --textbox "/usr/lib/setup/PROMPThelp" 19 65 + fi + if [ "$MODE" = "tagpath" ]; then + dialog --title "PROVIDE A CUSTOM PATH TO YOUR TAGFILES" --inputbox \ + "If you're installing from CD or DVD, it's impossible to edit the \ +tagfiles that are in the package directories. In this case, you might \ +want to provide a path to your custom tagfiles. As an example, you \ +could create a /tagfiles directory and mount a floppy disk containing \ +the tagfiles on that directory. Then you'd enter '/tagfiles' at the \ +prompt below. The setup program will look for your tagfile in \ +SUBDIRECTORIES of the path you provide, such as /tagfiles/a, \ +/tagfiles/ap, /tagfiles/d, and so on. You only need to provide a \ +subdirectory and tagfile for the first disk of each series to be \ +installed. If a custom tagfile is not found at the path you provide, \ +setup will revert to the default tagfiles. Please enter the path to your \ +custom tagfiles:" \ + 19 71 2> $TMP/SeTtagpath + if [ ! $? = 0 ]; then + continue + fi + if [ -r $TMP/SeTtagpath ]; then + if [ "`cat $TMP/SeTtagpath`" = "" ]; then + rm -f $TMP/SeTtagpath + elif [ ! -d "$(cat $TMP/SeTtagpath)" ]; then + dialog --title "NOT A VALID DIRECTORY" --msgbox \ +"Sorry, but the $(cat $TMP/SeTtagpath) directory could not be located. \ +Press ENTER to go back to the SELECT PROMPTING MODE menu." \ +7 65 + rm -f $TMP/SeTtagpath + continue + fi + fi + break; + fi + if [ "$MODE" = "newbie" ]; then + dialog --infobox "'newbie' prompt mode selected. Using default tagfiles \ +and verbose package prompting." 4 50 + break; + fi + if [ "$MODE" = "custom" ]; then + dialog --title "ENTER CUSTOM EXTENSION" --inputbox "Now, enter the custom \ +extension you have used for your tagfiles. This must be a valid MS-DOS format \ +file extension consisting of a period followed by three characters. For \ +example, I use '.pat'. You might see my tagfiles on your disks. :^)" \ +12 60 2> $TMP/SeTtagext + if [ ! $? = 0 ]; then + continue + fi + if [ -r $TMP/SeTtagext ]; then + if [ "`cat $TMP/SeTtagext`" = "" ]; then + rm -f $TMP/SeTtagext + fi + fi + dialog --infobox "'custom' prompt mode selected. Using prompting defaults \ +found in custom tagfiles." 4 50 + break; + fi + if [ "$MODE" = "full" ]; then + IGNORE_TAGFILES="-ignore_tagfiles" + dialog --infobox "Full installation mode. Installing all software \ +packages without prompting." 4 45 + break; + fi + if [ "$MODE" = "terse" ]; then + setterm -background cyan -foreground black -blank 0 + clear + IGNORE_TAGFILES="-ignore_tagfiles" + echo + echo + echo "Full (terse display) installation mode." + echo + echo "A one-line description will be displayed as each package is installed." + echo + break; + fi + if [ "$MODE" = "menu" ]; then + dialog --infobox "'menu' prompt mode selected. Using interactive menus \ +to choose subsystems of related packages." 4 60 + break; + fi + if [ "$MODE" = "expert" ]; then + dialog --infobox "'expert' prompt mode selected. Using interactive menus \ +to choose packages individually." 4 60 + break; + fi + done + export MAKETAG; + sleep 1 + # On a new system, make /etc/mtab a symlink to /proc/mounts: + if [ ! -r $T_PX/etc/mtab ]; then + mkdir -p $T_PX/etc + ( cd $T_PX/etc ; ln -sf /proc/mounts mtab ) + fi + # Do the package install: + if [ -r $TMP/SeTCDdev ]; then # only try to remount media if it's a CD/DVD + slackinstall --device `cat $TMP/SeTCDdev` --promptmode $MODE --srcpath `cat $TMP/SeTDS` --mountpoint /var/log/mount --target $T_PX --series $SERIES + elif [ -r $TMP/SeTremotesvr ]; then + slackinstall --device noremount --promptmode $MODE --srcpath `cat $TMP/SeTDS` --mountpoint /var/log/mount --target $T_PX --series $SERIES --net `cat $TMP/SeTremotesvr` + else + slackinstall --device noremount --promptmode $MODE --srcpath `cat $TMP/SeTDS` --mountpoint /var/log/mount --target $T_PX --series $SERIES + fi + if [ $MODE = terse ]; then + # Let's pause a moment and then restore the terminal settings + sleep 1 + setterm -background black -foreground white -blank 0 + fi + MAINSELECT="CONFIGURE" + fi + # End Slackware installation routine. |