On Wed, 26 Aug 1998, Dale Scheetz wrote: > The autoup.sh script is also broken on the Official CD, so CheapBytes > didn't do anything different there either. They have also been > very helpful in providing a "fixed" version of autoup.sh to their > customers.
would be nice if they had sent me a copy of their fixed version so i could fold their changes into my version. (of course, they're not obligated to. the script is public domain.) BTW, i have a new version, 0.32. versions 0.29 to 0.31 never got released - i had been waiting for user feedback before releasing it. anyway, this new version fixes a few bugs and I *hope* it can work even in cases where all the packages which have to be removed and upgraded are on "Hold" status. i didn't know about the --force-hold argument to dpkg until today. the new version is available from the usual sites, including http://debian.vicnet.net.au/autoup/ and http://taz.net.au/autoup/ and various mirror sites. changelogs from 0.29-0.32: v0.29: 1998-08-15 (Craig Sanders) - changed all directory references from 'frozen' to 'stable' - fixed PKGS_NET problem (should have been $PKGS_NETBASE and $PKGS_NETSTD) - changed RMFILE to "/root/autoup.removed-$DATE" - fixed search for bo dpkg (for buzz upgrades). dpkg 1.4.0.8 lives in .../debian/dists/stable/main/upgrade-i386 now. note: still doesn't work for ftp upgrade. TODO. - fixed $FTP_DIR_2 - changed "^ii" search pattern to "^.i" when searching for installed -dev pkgs v0.30: 1998-08-15 (Craig Sanders) - really changed "^ii" search pattern to "^.i" v0.31: 1998-08-27 (Craig Sanders) - --force-hold added to $DPKG_ARGS and to the "$DPKG --remove" line v0.32: 1998-08-27 (Craig Sanders) - changed the displayed packages list as noted by Rob Hilliard. the diff between 0.28 and 0.32 is as follows: ---cut here--- --- autoup.sh 1998/07/23 09:46:14 0.28 +++ autoup.sh 1998/08/27 05:20:40 0.32 @@ -2,7 +2,7 @@ # upgrade a libc5 (bo) machine to libc6 (hamm). # -# $Id: autoup.sh,v 0.28 1998/07/23 09:46:14 root Exp $ +# $Id: autoup.sh,v 0.32 1998/08/27 05:20:40 root Exp $ # # based on Scott Ellis' excellent "Debian libc5 to libc6 Mini-HOWTO" # document at http://www.gate.net/~storm/FAQ/libc5-libc6-Mini-HOWTO.html @@ -46,14 +46,14 @@ #DPKG="echo dpkg" #LDCONFIG="echo ldconfig" -DPKG_ARGS="-iBE --force-overwrite" +DPKG_ARGS="-iBE --force-overwrite --force-hold" DATE=$(date +%m%d-%T) ARCH="binary-$(dpkg --print-installation-architecture)" FTP_SITE_1="ftp.debian.org" FTP_DIR_1="debian/hamm/hamm/$ARCH" FTP_SITE_2="ftp.infodrom.north.de" -FTP_DIR_2="pub/debian/hamm/hamm/$ARCH" +FTP_DIR_2="/pub/debian/hamm/hamm/$ARCH" # package variables @@ -93,8 +93,10 @@ current directory: ldso, libc5, libc6, timezones, locales, ncurses3.0, ncurses3.4, - libreadline2, libreadlineg2, bash, libg++272, dpkg, dpkg-dev, - dpkg-ftp, dpkg-mountable, libgdbm1, libgdbmg1, perl-base, and perl. + libreadline2, libreadlineg2, bash, libg++27, libg++272, + libstdc++2.8, dpkg, dpkg-dev, slang0.99.34, slang0.99.38, libgdbm1, + libgdbmg1, perl-base, perl, data-dumper, libnet-perl, dpkg-ftp, + dpkg-mountable, netbase, netstd. If you are using a mirror, press 'm'. If you need to download the files via FTP, press 'f'. @@ -113,10 +115,10 @@ # ask where the mirror is (this could do with some error checking) echo echo "enter the full path to your local mirror of debian: " - echo "e.g. /debian/dists/frozen/main/$ARCH/" + echo "e.g. /debian/dists/stable/main/$ARCH/" echo - TRY="/debian/dists/frozen/main/$ARCH ~ftp/debian/dists/frozen/main/$ARCH ../$ARCH" + TRY="/debian/dists/stable/main/$ARCH ~ftp/debian/dists/stable/main/$ARCH ../$ARCH" for i in $TRY ; do if [ -d $i ] ; then DEFAULT=$i @@ -248,7 +250,9 @@ PKGS_PERLBASE=$( echo "$PKGS_PERLBASE" | sed -e "$SEDSCRIPT" ) PKGS_PERL=$( echo "$PKGS_PERL" | sed -e "$SEDSCRIPT" ) PKGS_MOREDPKG=$( echo "$PKGS_MOREDPKG" | sed -e "$SEDSCRIPT" ) -PKGS_NET=$( echo "$PKGS_NET" | sed -e "$SEDSCRIPT" ) +PKGS_NETBASE=$( echo "$PKGS_NETBASE" | sed -e "$SEDSCRIPT" ) +PKGS_NETSTD=$( echo "$PKGS_NETSTD" | sed -e "$SEDSCRIPT" ) + echo "checking that all needed files are available..." # sanity check that we can find the packages @@ -295,10 +299,24 @@ DPKG_VER=$(dpkg -s dpkg | grep Version: | awk '{print $2}') DPKG_MINOR=$(echo $DPKG_VER | awk -F"." '{print $2}') +# uncomment for testing +#DPKG_MINOR=3 + +# bo dpkg is now in /debian/dists/stable/main/upgrade-i386/dpkg_1.4.0.8.deb +# a quick hack to s=binary-i386/base=upgrade-i386= should fix it. +# +# actually, that sucks and this whole section should be rewritten. it +# doesn't work for ftp upgrades anyway....it assumes that bo dpkg is +# available on a local disk. i'm tempted to just delete all this stuff. +# maybe the best thing to do is still check for bo, but don't do +# anything except tell the user to download and install dpkg 1.4.0.8 +# before continuing. + if [ $DPKG_MINOR -lt 4 ] ; then - BO_DPKG="base/dpkg_*.deb" + BO_DPKG="./dpkg_1.4.0.8.deb" BO_SEDSCRIPT=$(echo "$SEDSCRIPT" | \ - sed -e 's/unstable/stable/g' -e 's/frozen/stable/g' -e 's/hamm/bo/g') + sed -e 's/unstable/stable/g' -e 's/frozen/stable/g' \ + -e 's/hamm/bo/g' -e 's=binary-i386=upgrade-i386=g' ) BO_DPKG=$(echo $BO_DPKG | sed -e "$BO_SEDSCRIPT") if [ ! -f $BO_DPKG ] ; then @@ -311,7 +329,7 @@ fi -RMFILE="removed-$DATE" +RMFILE="/root/autoup.removed-$DATE" # Now we start the install @@ -322,7 +340,7 @@ # required, but shouldn't really be "essential", and this was corrected # in bo. -$DPKG -l timezone | grep -q "^ii" && TIMEZONE=1 +$DPKG -l timezone | grep -q "^.i" && TIMEZONE=1 if [ "$TIMEZONE" = "1" ] ; then echo @@ -339,7 +357,7 @@ RMGREP=$(echo "$RMPKGS" | xargs echo | sed -e 's/ /\\\|/g') -PKGS_RM=$(dpkg -l | grep "^ii" | grep -w "$RMGREP" | awk '{print $2}') +PKGS_RM=$(dpkg -l | grep "^.i" | grep -w "$RMGREP" | awk '{print $2}') # build up a list of installed -dev packages so that we can remove them. # @@ -369,7 +387,7 @@ echo echo "removing incompatible and development packages." - $DPKG --remove -B $RM_LIST || exit 1 + $DPKG --remove --force-hold -B $RM_LIST || exit 1 fi @@ -507,7 +525,7 @@ > "databases" are different between libc5 and libc6 [1] Note the following from the libc5-libc6-Mini-HOWTO: -4.5. Upgrading to frozen by FTP +4.5. Upgrading to stable by FTP The directory structure of the ftp site has been slightly modified, placing the contrib and non-free sections of the archive alongside the @@ -519,5 +537,5 @@ o Enter debian directory: /debian o Enter space separated list of distributions to get: - dists/frozen/main dists/frozen/non-free dists/frozen/contrib + dists/stable/main dists/stable/non-free dists/stable/contrib __EOF__ ---cut here--- craig -- craig sanders