#!/bin/sh dialog --title "CREATE CUSTOM TAGFILES" --yesno "Tagfiles are special files \ found on the first disk of a series that can determine which packages are \ installed and which are skipped. Deciding which files to install in advance \ can speed up the installation process greatly. If you have not installed \ Slackware Linux before, you should probably try installing using the \ default tagfiles before you try making custom ones, because you won't see much \ information about the package contents when creating your tagfiles. This \ process assumes you already know which packages you want to install. \ If you're not sure, back out now and just use the default tagfiles when \ you install. \ Do you want to create custom tagfiles?" 17 65 if [ $? = 1 -o $? = 255 ]; then exit fi dialog --title "ENTER CUSTOM TAGFILE EXTENSION" --inputbox "Now you must \ enter a custom file extension. This will be used as the last part of the \ filename for your new custom tagfiles. For example, I use '.pat' for my \ custom extension, and my custom tagfiles on the first disk of each series \ have the filename 'tagfile.pat'. Use any extension you like except .tgz or \ .tar. The extension must consist of a period followed by exactly 3 \ letters." 14 65 2> /tmp/SeTtagmake if [ $? = 1 -o $? = 255 -o ! "`cat /tmp/SeTtagmake | cut -b1`" = "." -o "`cat /tmp/SeTtagmake`" = "" ]; then rm -f /tmp/SeTtagmake exit fi TAGEXT="`cat /tmp/SeTtagmake`" while [ 0 ]; do dialog --title "CUSTOMIZE A DISK SERIES" --menu "You may now \ create a custom tagfile on the first disk of a disk series (make \ sure it's not write protected!), or in the directory for such a \ disk if you are installing from your hard drive. Select one of the \ choices below." 13 65 3 \ "/dev/fd0" "Create a custom tagfile on floppy drive 1" \ "/dev/fd1" "Create a custom tagfile on floppy drive 2" \ "Directory" "Create a tagfile in a disk's directory" 2> /tmp/SeTreturn if [ $? = 1 -o $? = 255 ]; then rm -f /tmp/SeTreturn break fi CHOICE="`cat /tmp/SeTreturn`" rm -f /tmp/SeTreturn if [ "$CHOICE" = "/dev/fd0" -o "$CHOICE" = "/dev/fd1" ]; then dialog --title "INSERT DISK IN DRIVE $CHOICE" --msgbox "Please insert the first disk of \ a disk series you would like to make a custom tagfile for and press \ ENTER. Be sure this disk is not write protected." 7 60 if [ $? = 255 ]; then continue fi mount $CHOICE /mnt -t msdos if [ ! $? = 0 ]; then dialog --title "MOUNT FAILURE" --msgbox "Sorry, the disk could not be \ mounted in drive $CHOICE as type msdos." 6 60 if mount | grep /mnt 1> /dev/null 2> /dev/null ; then umount /mnt fi continue fi if [ -r /mnt/maketag ]; then sh /mnt/maketag else # no tagfile create script! dialog --title "NO TAGFILE SCRIPT" --msgbox "Sorry, but a custom tagfile \ cannot be created for this disk because it does not have a 'maketag' script. \ The maketag script was introduced in Slackware 1.1.2, and provides the menu \ of packages to select from. Currently there is no way to just look at the \ disks and 'wing it', but maybe there will be eventually. You'll have to edit \ the tagfile on this disk manually." 11 65 umount /mnt continue fi if [ ! -r /tmp/SeTnewtag ]; then umount /mnt continue fi cp /tmp/SeTnewtag /mnt/tagfile$TAGEXT if [ $? = 0 ]; then dialog --title "TAGFILE CREATED" --msgbox "Your custom \ tagfile has been successfully created with the extension: \ $TAGEXT" 8 40 else dialog --title "COPY ERROR" --msgbox "Your custom tagfile could \ not be copied to the disk. Please check to see if the disk is write \ protected, or full, and then try again." 9 40 fi umount /mnt fi if [ "$CHOICE" = "Directory" ]; then dialog --title "CHOOSE DIRECTORY" --inputbox "Now you must enter the \ directory for the first disk of the series for which you would like to \ make a custom tagfile. This directory must be mounted somewhere under \ the current filesystem." 11 65 2> /tmp/SeTreturn if [ $? = 1 -o $? = 255 ]; then rm -f /tmp/SeTreturn continue fi DIR="`cat /tmp/SeTreturn`" rm -f /tmp/SeTreturn if [ ! -r $DIR/maketag ]; then dialog --title "NO TAGFILE SCRIPT" --msgbox "Sorry, but a custom tagfile \ cannot be created for this disk series because the directory you gave does \ not have a 'maketag' script. \ The maketag script was introduced in Slackware 1.1.2, and provides the menu \ of packages to select from. Currently there is no way to just look at the \ packages and 'wing it', but maybe there will be eventually. You'll have to \ edit the tagfile in this directory manually." 11 65 continue fi sh $DIR/maketag if [ ! -r /tmp/SeTnewtag ]; then continue fi cp /tmp/SeTnewtag $DIR/tagfile$TAGEXT if [ $? = 0 ]; then dialog --title "TAGFILE CREATED" --msgbox "Your custom \ tagfile has been successfully created with the extension: \ $TAGEXT" 8 40 else dialog --msgbox "I don't know what just happened, but something \ screwed up." 6 40 fi fi done