#!/usr/bin/perl $II2BUILDSTAMP = $ENV{"II2BUILDSTAMP"}; $II2PKGDIR = $ENV{"II2PKGDIR"}; $II2INSTALLDIR = $ENV{"II2INSTALLDIR"}; $II2RESOURCES = $ENV{"II2RESOURCES"}; $II2DOSERVER = $ENV{"II2DOSERVER"}; # TL2005+/teTeX 3+ variables my $TEXMFVAR; my $TEXMFCONFIG; if (${II2BUILDSTAMP} < 1167840304) { warn "### You need at least i-Installer 2.87 for this package. Bailing out...\n"; exit 1; } $PROGNAME = `"${II2RESOURCES}/basename" "$0"`; chomp( $PROGNAME); my $arch = `uname -p`; chomp $arch; # warn $arch; # Load shared stuff if (not -e "${II2PKGDIR}/tex.sharedscript.pm") { my $msg = "A part of the package is missing. This might be a known bug in i-Installer 2.69 or older. Please reset your package to its default properties before trying again. You can do that with the Reset to default properties menu item in the i-Package menu.\n\nIf the problem remains, the problem is a network problem, not an i-Installer bug.\n\nThis action will now fail deliberately."; warn "### ${PROGNAME}: ${msg}"; `"${II2RESOURCES}/doalerter" -s "${II2DOSERVER}" -V -t Alert -T "Missing part/known bug" -I "${msg}" -1 "Accept"`; exit 1; } require "${II2PKGDIR}/tex.sharedscript.pm"; if (not -e "/usr/local/gwTeX") { ipkgwarn( "This i-Package is deprecated and no longer maintained as one of its components (the teTeX main texmf tree) is no longer maintained.\n\nThe i-Package is kept alive for people who require an older TeX install for compatibility with old projcts.\n\nThere is a new gwTeX i-Package which is not based on teTeX but based on a subset of TeX Live. Please install that i-Package instead.\n"); } else { my $msg = "You are now using the deprecated gwTeX-2003-2005 i-Package partly based on teTeX. This i-Package is deprecated and no longer maintained.\n\nYou already seem to have gwTeX based on a subset of TeX Live installed.\n\nI suggest uninstalling this i-Package unless you need access to a TeX based on the 2003 situation.\n\nAnswering No will abort with a failure message. This is intended to prevent the installation process to proceed.\n"; $doresult = `"${II2RESOURCES}/doalerter" -s "${II2DOSERVER}" -V -t Alert -T "Are you sure you want to use this i-Package?" -I \"${msg}\" -1 "Yes" -2 "No"`; chomp( $doresult); if (($? >> 8) != 0) { die "i-Package process aborted at user request\n"; } `"${II2RESOURCES}/doalerter" -s "${II2DOSERVER}" -V -t Environment -E "TEXIPKGUSEDEPRECATED=YES"`; } print "### ${PROGNAME}: Started...\n"; if (${II2INSTALLDIR} eq "") { ipkgwarn( "Your environment is damaged, your Mac OS X installation or your user account is probably damaged. Try running a disk repair program or install from another user's account. Bailing out...\n"); exit( 1); } if (not &checkinstallocation()) { die "### ${PROGNAME}: Bailing out on nonstandard location \"${II2INSTALLDIR}\"\n" } `"${II2RESOURCES}/doalerter" -s "${II2DOSERVER}" -V -t IncrementProgress -p 50000`; my %set; my $displayString; $dosimpleinstall = 0; $dofullinstall = 0; $doresult = `"${II2RESOURCES}/doalerter" -s "${II2DOSERVER}" -V -t Alert -T "Install type?" -I "You can choose to do a basic install, a full install or an expert install.\n\nThe expert install will give you a bit of choice in what to install (e.g. hyphenation patterns) and how to configure.\n\nThe full install will install everything. The basic install will install a basic set. Basic and full will make most configuration choices for you, if possible based on the configuration of your operating system and preferences." -1 "Basic" -2 "Expert" -3 "Full"`; chomp( $doresult); if (($? >> 8) == 0) { print "### ${PROGNAME}: Selected simple install.\n"; $dosimpleinstall = 1; `"${II2RESOURCES}/doalerter" -s "${II2DOSERVER}" -V -t Environment -E "TEXIPKGSIMPLE=YES"`; } elsif (($? >> 8) == 2) { print "### ${PROGNAME}: Selected expert install.\n"; $dosimpleinstall = 0; `"${II2RESOURCES}/doalerter" -s "${II2DOSERVER}" -V -t Environment -E "TEXIPKGSIMPLE=NO"`; } else { print "### ${PROGNAME}: Selected full install.\n"; $dosimpleinstall = 1; $dofullinstall = 1; `"${II2RESOURCES}/doalerter" -s "${II2DOSERVER}" -V -t Environment -E "TEXIPKGSIMPLE=YES"`; } $tlversion = "tl2005"; $tetexversion = "3"; $expversion = ""; $doresult = `"${II2RESOURCES}/doalerter" -s "${II2DOSERVER}" -V -t Alert -T "Which version?" -I "This package contains the 2003, 2004 and 2005 versions of the TeX Live programs and teTeX foundation.\n\nThe 2004 and 2005 versions have many improvements over the 2003 version but also some incompatibilities with respect to 2003.\n\nIf you are new to TeX or you do not have a lot of changes with regard to a normal setup, choose 2005. If you have old stuff that is possibly incompatible, choose 2003. The TL2004 version will disappear when TL2006 prerelease development has commenced.\n\nYou can move forward and back between the versions with this i-Package." -1 "2005 x86/ppc" -2 "2003 ppc" -3 "2004 x86/ppc"`; chomp( $doresult); if (($? >> 8) == 0) { print "### ${PROGNAME}: Selected TL2005 install.\n"; $tlversion = "tl2005"; $tetexversion = "3"; `"${II2RESOURCES}/doalerter" -s "${II2DOSERVER}" -V -t Environment -E "TEXIPKGTETEX=3"`; `"${II2RESOURCES}/doalerter" -s "${II2DOSERVER}" -V -t Environment -E "TEXIPKGTEXLIVE=2005"`; # teTeX-3.0 has these and we provide a mapping to make texconfig and friend # behave like texconfig-sys and friends so existing stuff in these # scripts keeps working: $TEXMFVAR = "${II2INSTALLDIR}/share/texmf.local"; $ENV{"TEXMFVAR"} = "${II2INSTALLDIR}/share/texmf.local"; $TEXMFCONFIG = "${II2INSTALLDIR}/share/texmf.local"; $ENV{"TEXMFCONFIG"} = "${II2INSTALLDIR}/share/texmf.local"; } elsif (($? >> 8) == 1) { print "### ${PROGNAME}: Selected TL2004 install.\n"; $tlversion = "tl2004"; $tetexversion = "3"; `"${II2RESOURCES}/doalerter" -s "${II2DOSERVER}" -V -t Environment -E "TEXIPKGTETEX=3"`; `"${II2RESOURCES}/doalerter" -s "${II2DOSERVER}" -V -t Environment -E "TEXIPKGTEXLIVE=2004"`; } elsif (($? >> 8) == 2) { print "### ${PROGNAME}: Selected TL2003 install.\n"; $tlversion = "tl2003"; $tetexversion = "2"; `"${II2RESOURCES}/doalerter" -s "${II2DOSERVER}" -V -t Environment -E "TEXIPKGTETEX=2"`; `"${II2RESOURCES}/doalerter" -s "${II2DOSERVER}" -V -t Environment -E "TEXIPKGTEXLIVE=2003"`; } # Set that contains the set selected during any previous selector phase. This is received # from i-Installer: REDOSETSELECTION: $displayString = ""; %set = getSetInfo(); # sets %set foreach my $knownsetid (sort keys %set) { # warn "*** Checking $knownsetid\n"; if ($tlversion eq 'tl2004') { if ($knownsetid =~ /(tetex2|tl200[35])/) { # warn "***** $knownsetid is wrong version\n"; if ($set{$knownsetid}{'selected'} eq 'YES') { # warn "******* $knownsetid is selected\n"; $set{"$knownsetid"}{'selected'} = 'NO'; my $newsetid = $knownsetid; $newsetid =~ s/tl200[35]/tl2004/; $newsetid =~ s/tetex2/tetex3/; $set{"$newsetid"}{'selected'} = 'YES'; print "### ${PROGNAME}: Installing TL2004, enabling $newsetid and disabling $knownsetid.\n"; } next; } if ($knownsetid eq 'gwtex2') { $set{$knownsetid}{'selected'} eq 'NO'; print "### ${PROGNAME}: Installing TL2004, disabling $knownsetid.\n"; next; } } elsif ($tlversion eq 'tl2005') { if ($knownsetid =~ /(tetex2|tl200[34])/) { if ($set{$knownsetid}{'selected'} eq 'YES') { $set{"$knownsetid"}{'selected'} = 'NO'; my $newsetid = $knownsetid; $newsetid =~ s/tl200[34]/tl2005/; $newsetid =~ s/tetex2/tetex3/; $set{"$newsetid"}{'selected'} = 'YES'; print "### ${PROGNAME}: Installing TL2005, enabling $newsetid and disabling $knownsetid.\n"; } next; } if ($knownsetid eq 'gwtex2') { $set{$knownsetid}{'selected'} eq 'NO'; print "### ${PROGNAME}: Installing TL2005, disabling $knownsetid.\n"; next; } } elsif ($tlversion eq 'tl2003') { if ($knownsetid =~ /(tetex3|tl200[45])/) { # warn "***** $knownsetid is wrong version\n"; if ($set{$knownsetid}{'selected'} eq 'YES') { # warn "******* $knownsetid is selected\n"; $set{"$knownsetid"}{'selected'} = 'NO'; my $newsetid = $knownsetid; $newsetid =~ s/tl200[45]/tl2003/; $newsetid =~ s/tetex3/tetex2/; $set{"$newsetid"}{'selected'} = 'YES'; print "### ${PROGNAME}: Installing TL2003, enabling $newsetid and disabling $knownsetid.\n"; } next; } if ($knownsetid eq 'gwtex2' and $set{'gwtex23'}{'selected'} eq 'YES') { $set{'gwtex2'}{'selected'} eq 'YES'; print "### ${PROGNAME}: Installing TL2003 and gwTeX, enabling $knownsetid.\n"; } } } $displayString = ""; foreach my $knownsetid (sort keys %set) { next if ($tlversion eq 'tl2004' and $knownsetid =~ /(tetex2|tl200[35])/); next if ($tlversion eq 'tl2005' and $knownsetid =~ /(tetex2|tl200[34])/); next if ($tlversion eq 'tl2003' and $knownsetid =~ /(tetex3|tl200[45])/); next if ($knownsetid eq 'gwtex2'); # Never add this one to the choices if ($set{$knownsetid}{'available'} eq 'YES') { $displayString .= ($set{$knownsetid}{'selected'} eq 'YES' ? '+' : '-'); $displayString .= "$set{$knownsetid}{'name'}|"; } } chop( $displayString) if $displayString =~ /\|$/; # warn "* $displayString\n"; if ($displayString eq '') { ipkgwarn( "No set is complete for install. Please copy the package to a writable location, unlock it and turn network access on in i-Installer Preferences. Bailing out...\n"); exit 1; } $selectedSetString = ""; if ($dosimpleinstall) { if ($dofullinstall) { if ($tlversion =~ /tl2005/) { $selectedSetString = "tl2005-bin-powerpc|tl2005-bin-i386|tetex3-texmfe|gwtex23|tex4ht|xmljadetex|tetex3-texmfdoc|gwtex23-doc|tl2005-lib-universal"; } elsif ($tlversion =~ /tl2004/) { $selectedSetString = "tl2004-bin-powerpc|tl2004-bin-i386|tetex3-texmfe|gwtex23|tex4ht|xmljadetex|tetex3-texmfdoc|gwtex23-doc|tl2004-lib-universal"; } else { $selectedSetString = "tl2003-bin-powerpc|tetex2-texmfe|gwtex23|gwtex2|tex4ht|xmljadetex|tetex2-texmfdoc|gwtex23-doc|tl2003-lib-powerpc"; } } else { if ($tlversion =~ /tl2004/) { $selectedSetString = "tl2004-bin-${arch}|tetex3-texmfe|gwtex23|tex4ht"; } elsif ($tlversion =~ /tl2005/) { $selectedSetString = "tl2005-bin-${arch}|tetex3-texmfe|gwtex23|tex4ht"; } else { $selectedSetString = "tl2003-bin-powerpc|tetex2-texmfe|gwtex23|gwtex2|tex4ht"; } } chop( $selectedSetString) if $selectedSetString =~ /\|$/; print "### ${PROGNAME}: selected: $selectedSetString\n"; `"${II2RESOURCES}/doalerter" -s "${II2DOSERVER}" -V -t SetSelectorSets -P "$selectedSetString"`; } else { $doresult = `"${II2RESOURCES}/doalerter" -s "${II2DOSERVER}" -V -t Select -T "Select Package Parts" -C "$displayString" -I "Please select which parts of the package you want to install. Clicking Cancel will make this stage fail and abort the install procedure." -1 "Select" -2 "All" -3 "Cancel"`; chomp( $doresult); if (($? >> 8) == 0) { $selectedSetString = ""; @chosensets = split( /\|/, $doresult); foreach my $chosenset (@chosensets) { if (not $chosenset =~ /^-/) { # Selected set foreach my $knownsetid (sort keys %set) { # warn "### ${PROGNAME}: checking \"$chosenset\" against \"$set{$knownsetid}{'name'}\"\n"; if ("+$set{$knownsetid}{'name'}" eq $chosenset) { $selectedSetString .= "$knownsetid|"; } } } else { # Special case, add pre-2004 parts of gwTeX if ($tlversion eq 'tl2003' and "+$set{'gwtex23'}{'name'}" eq $chosenset) { $selectedSetString .= "gwtex2|"; } } } chop( $selectedSetString) if $selectedSetString =~ /\|$/; print "### ${PROGNAME}: selected: $selectedSetString\n"; `"${II2RESOURCES}/doalerter" -s "${II2DOSERVER}" -V -t SetSelectorSets -P "$selectedSetString"`; } elsif (($? >> 8) == 1) { # Cancel. print "### ${PROGNAME}: none selected. Bailing out...\n"; exit( 1); } elsif (($? >> 8) == 2) { # All, do nothing. print "### ${PROGNAME}: all selected\n"; if ($tlversion =~ /tl2005/) { $selectedSetString = "tl2005-bin-powerpc|tl2005-bin-i386|tetex3-texmfe|gwtex23|tex4ht|xmljadetex|tetex3-texmfdoc|gwtex23-doc|tl2005-lib-universal"; } elsif ($tlversion =~ /tl2004/) { $selectedSetString = "tl2004-bin-powerpc|tl2004-bin-i386|tetex3-texmfe|gwtex23|tex4ht|xmljadetex|tetex3-texmfdoc|gwtex23-doc|tl2004-lib-universal"; } else { $selectedSetString = 'tl2003-bin-powerpc|tetex2-texmfe|gwtex23|gwtex2|tex4ht|xmljadetex|tetex2-texmfdoc|gwtex23-doc|tl2003-lib-powerpc'; } chop( $selectedSetString) if $selectedSetString =~ /\|$/; print "### ${PROGNAME}: selected: $selectedSetString\n"; `"${II2RESOURCES}/doalerter" -s "${II2DOSERVER}" -V -t SetSelectorSets -P "$selectedSetString"`; } } %set = getSetInfo(); # refresh %set # For readability, use vars my $proginstalled = 'none'; $proginstalled = 'tl2003-powerpc' if $set{'tl2003-bin-powerpc'}{'installed'} eq 'YES'; $proginstalled = 'tl2004-powerpc' if $set{'tl2004-bin-powerpc'}{'installed'} eq 'YES'; $proginstalled = 'tl2004-i386' if $set{'tl2004-bin-i386'}{'installed'} eq 'YES'; $proginstalled = 'tl2004-universal' if $set{'tl2004-bin-i386'}{'installed'} eq 'YES' and $set{'tl2004-bin-powerpc'}{'installed'} eq 'YES'; $proginstalled = 'tl2005-powerpc' if $set{'tl2005-bin-powerpc'}{'installed'} eq 'YES'; $proginstalled = 'tl2005-i386' if $set{'tl2005-bin-i386'}{'installed'} eq 'YES'; $proginstalled = 'tl2005-universal' if $set{'tl2005-bin-i386'}{'installed'} eq 'YES' and $set{'tl2005-bin-powerpc'}{'installed'} eq 'YES'; my $libinstalled = 'none'; $libinstalled = 'tl2003-powerpc' if $set{'tl2003-lib-powerpc'}{'installed'} eq 'YES'; $libinstalled = 'tl2004-universal' if $set{'tl2004-lib-universal'}{'installed'} eq 'YES'; $libinstalled = 'tl2005-universal' if $set{'tl2005-lib-universal'}{'installed'} eq 'YES'; my $texmfinstalled = 'none'; $texmfinstalled = 'tetex2' if $set{'tetex2-texmfe'}{'installed'} eq 'YES'; $texmfinstalled = 'tetex3' if $set{'tetex3-texmfe'}{'installed'} eq 'YES'; my $texmfdocinstalled = 'none'; $texmfdocinstalled = 'tetex2' if $set{'tetex2-texmfdoc'}{'installed'} eq 'YES'; $texmfdocinstalled = 'tetex3' if $set{'tetex3-texmfdoc'}{'installed'} eq 'YES'; my $progselected = 'none'; $progselected = 'tl2003-powerpc' if $set{'tl2003-bin-powerpc'}{'selected'} eq 'YES'; $progselected = 'tl2004-powerpc' if $set{'tl2004-bin-powerpc'}{'selected'} eq 'YES'; $progselected = 'tl2004-i386' if $set{'tl2004-bin-i386'}{'selected'} eq 'YES'; $progselected = 'tl2004-universal' if $set{'tl2004-bin-i386'}{'selected'} eq 'YES' and $set{'tl2004-bin-powerpc'}{'selected'} eq 'YES'; $progselected = 'tl2005-powerpc' if $set{'tl2005-bin-powerpc'}{'selected'} eq 'YES'; $progselected = 'tl2005-i386' if $set{'tl2005-bin-i386'}{'selected'} eq 'YES'; $progselected = 'tl2005-universal' if $set{'tl2005-bin-i386'}{'selected'} eq 'YES' and $set{'tl2005-bin-powerpc'}{'selected'} eq 'YES'; # warn $progselected; my $libselected = 'none'; $libselected = 'tl2003-powerpc' if $set{'tl2003-lib-powerpc'}{'selected'} eq 'YES'; $libselected = 'tl2004-universal' if $set{'tl2004-lib-universal'}{'selected'} eq 'YES'; $libselected = 'tl2005-universal' if $set{'tl2005-lib-universal'}{'selected'} eq 'YES'; # warn $libselected; my $texmfselected = 'none'; $texmfselected = 'tetex2' if $set{'tetex2-texmfe'}{'selected'} eq 'YES'; $texmfselected = 'tetex3' if $set{'tetex3-texmfe'}{'selected'} eq 'YES'; # warn $texmfselected; my $texmfdocselected = 'none'; $texmfdocselected = 'tetex2' if $set{'tetex2-texmfdoc'}{'selected'} eq 'YES'; $texmfdocselected = 'tetex3' if $set{'tetex3-texmfdoc'}{'selected'} eq 'YES'; # warn $texmfdocselected; my $installedprogwillbe = 'none'; $installedprogwillbe = $progselected; $installedprogwillbe = $proginstalled if $progselected eq 'none'; # warn $installedprogwillbe; my $installedlibwillbe = 'none'; $installedlibwillbe = $libselected; $installedlibwillbe = $libinstalled if $libselected eq 'none'; # warn $installedlibwillbe; my $installedtexmfwillbe = 'none'; $installedtexmfwillbe = $texmfselected; $installedtexmfwillbe = $texmfinstalled if $texmfselected eq 'none'; # warn $installedtexmfwillbe; my $installedtexmfdocwillbe = 'none'; $installedtexmfdocwillbe = $texmfdocselected; $installedtexmfdocwillbe = $texmfdocinstalled if $texmfdocselected eq 'none'; # warn $installedtexmfdocwillbe; if ((!($installedprogwillbe =~ /universal/) and !($installedprogwillbe =~ /${arch}$/)) or $installedtexmfwillbe eq 'none') { # warn "XX ${installedprogwillbe} ${arch} ${installedtexmfwillbe}"; my $msg = "Your selection results in a non-working installation as there will be no working programs or no foundation installed as a result.\n\nAlso, the working of this i-Package is not guaranteed."; $doresult = `"${II2RESOURCES}/doalerter" -s "${II2DOSERVER}" -V -t Alert -T "Selection problem." -I "${msg}" -1 "Go back" -2 "Continue"`; chomp( $doresult); if (($? >> 8) == 0) { $dosimpleinstall = 0; warn "### ${PROGNAME}: REDO SELECTION +++++++++++++++++++++++++++++++++++++++++++++++++\n"; goto REDOSETSELECTION; } } if ($installedprogwillbe =~ /tl2003/ and $installedtexmfwillbe eq 'tetex3' or $installedprogwillbe =~ /tl200[45]/ and $installedtexmfwillbe eq 'tetex2') { my $msg = "Your selection creates a combination of " . ($installedprogwillbe =~ /tl200[45]/ ? "TeX Live 2004+ programs and a teTeX 2 tree. " : "TeX Live 2003 programs and a teTeX 3 tree. ") . "This combination is not guaranteed to work.\n\nDo you want to change your selection or go ahead and see what happens?"; $doresult = `"${II2RESOURCES}/doalerter" -s "${II2DOSERVER}" -V -t Alert -T "Combination unstable!" -I "${msg}" -1 "Go back" -2 "Continue"`; chomp( $doresult); if (($? >> 8) == 0) { $dosimpleinstall = 0; warn "### ${PROGNAME}: REDO SELECTION +++++++++++++++++++++++++++++++++++++++++++++++++\n"; goto REDOSETSELECTION; } } my $synchronized = 1; if (not ($installedlibwillbe eq 'none' or ($installedprogwillbe =~ /tl2003/ and $installedlibwillbe =~ /tl2003/) or ($installedprogwillbe =~ /tl2004/ and $installedlibwillbe =~ /tl2004/) or ($installedprogwillbe =~ /tl2005/ and $installedlibwillbe =~ /tl2005/))) { warn "\"$installedprogwillbe\" \"$installedlibwillbe\"\n"; warn "\"$libinstalled\" \"$libselected\"\n"; ipkgwarn( "Programs will be out of sync with program developer extras (libs, include).\n"); $synchronized = 0; } if ($installedtexmfdocwillbe ne 'none' and $installedtexmfwillbe ne $installedtexmfdocwillbe) { ipkgwarn( "Foundation will be out of sync with its documentation.\n"); $synchronized = 0; } if (not $synchronized) { my $msg = "Your selection creates some secondary inconsistencies, like newer programs and older program documentation or a newer foundation and older foundation documentation. This is generally not harmful.\n\nDo you want to have the secondary parts (like documentation) follow the main parts (like TeX itself)?\n\nIf you do, you will get the selection screen again so you can see what the result of your choice is."; $doresult = `"${II2RESOURCES}/doalerter" -s "${II2DOSERVER}" -V -t Alert -T "Repair inconsistencies?" -I "${msg}" -1 "Yes" -2 "No"`; chomp( $doresult); if (($? >> 8) == 0) { # Modify the string to have i-Installer change the set if ($installedprogwillbe =~ /tl2003/ and $installedlibwillbe =~ /tl200[45]/) { $selectedSetString =~ s/tl200[45]-lib-[^|]*(\||$)//g; $selectedSetString .= "|tl2003-lib-powerpc|"; } elsif ($installedprogwillbe =~ /tl2004/ and $installedlibwillbe =~ /tl200[35]/) { $selectedSetString =~ s/tl200[35]-lib-[^|]*(\||$)//g; $selectedSetString .= "|tl2004-lib-universal|"; } elsif ($installedprogwillbe =~ /tl2005/ and $installedlibwillbe =~ /tl200[34]/) { $selectedSetString =~ s/tl200[34]-lib-[^|]*(\||$)//g; $selectedSetString .= "|tl2005-lib-universal|"; } if ($installedtexmfwillbe eq 'tetex2' and $installedtexmfdocwillbe eq 'tetex3') { $selectedSetString =~ s/tetex3-texmfdoc(\||$)//; $selectedSetString .= "|tetex2-texmfdoc|"; } elsif ($installedtexmfwillbe eq 'tetex3' and $installedtexmfdocwillbe eq 'tetex2') { $selectedSetString =~ s/tetex2-texmfdoc(\||$)//; $selectedSetString .= "|tetex3-texmfdoc|"; } $selectedSetString =~ s/\|\|/|/g; chop( $selectedSetString) if $selectedSetString =~ /\|$/; print "### ${PROGNAME}: selected: $selectedSetString\n"; `"${II2RESOURCES}/doalerter" -s "${II2DOSERVER}" -V -t SetSelectorSets -P "$selectedSetString"`; $dosimpleinstall = 0; $dofullinstall = 0; warn "### ${PROGNAME}: REDO SELECTION +++++++++++++++++++++++++++++++++++++++++++++++++\n"; goto REDOSETSELECTION; } } `"${II2RESOURCES}/doalerter" -s "${II2DOSERVER}" -V -t IncrementProgress -p 50000`; warn "### ${PROGNAME}: Finished...\n"; print "### ${PROGNAME}: Finished...\n";