Re: version 0.8 of libc5 to libc6 auto-upgrade script

1998-01-20 Thread Hamish Moffatt
On Tue, Jan 20, 1998 at 10:05:03PM +1100, Craig Sanders wrote:
> worse than ever now :-). there are over 1700 packages in hamm (counting
> main, contrib, non-free, and non-US)...several hundred more than in bo.

Just FYI, there are only 460 odd in main in buzz!
That's progress ...




Hamish
-- 
Hamish Moffatt, [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED]
Latest Debian packages at ftp://ftp.rising.com.au/pub/hamish. PGP#EFA6B9D5
CCs of replies from mailing lists are welcome.   http://hamish.home.ml.org


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
[EMAIL PROTECTED] . 
Trouble?  e-mail to [EMAIL PROTECTED] .


Re: version 0.8 of libc5 to libc6 auto-upgrade script

1998-01-20 Thread Craig Sanders
On Mon, 19 Jan 1998, Alexander Kushnirenko wrote:

> Hi, Craig!
> 
> I updated libc5 to libc6 on 2 computers (Debian 1.3 was installed in
> Nov-97 and Feb-97) using your script.  Worked fine for me.

glad to hear it.

> Updating the rest of the packages with dselect is still quite painful.

worse than ever now :-). there are over 1700 packages in hamm (counting
main, contrib, non-free, and non-US)...several hundred more than in bo.

> Thank you,

you're welcome. upgrading to hamm isn't for everyone yet (not for the
faint of heart), but i'm glad my script helps those who chose to take
the plunge.

if you ran into any problems at all, please report them to
debian-testing@lists.debian.org

i would recommend to anyone who does choose to upgrade to hamm that they
take notes and report any problems to that address.

craig

--
craig sanders


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
[EMAIL PROTECTED] . 
Trouble?  e-mail to [EMAIL PROTECTED] .


Re: version 0.8 of libc5 to libc6 auto-upgrade script

1998-01-19 Thread Alexander Kushnirenko
Hi, Craig!

I updated libc5 to libc6 on 2 computers (Debian 1.3 was installed in
Nov-97 and Feb-97) using your script.  Worked fine for me.

Updating the rest of the packages with dselect is still quite painful.

Thank you,
Sasha.


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
[EMAIL PROTECTED] . 
Trouble?  e-mail to [EMAIL PROTECTED] .


version 0.8 of libc5 to libc6 auto-upgrade script

1998-01-11 Thread Craig Sanders

I just ran this script on an old system (somewhere between rex and bo)
with lots of -dev packages installed. found and fixed two bugs.

- libc6 conflicts with libpthread0 
- i made a typo... PKGS_GPP instead of PKGS_LIBGPP.
- some old version of perl's postrm didn't delete a .packlist file
  from /usr/lib/perl5/i486-linux/5.003/auto/Mail/.packlist.  check for
  it and delete if found before installing perl.

apart from those problems, it ran through cleanly.  i think it's nearly
finished (but i said that around version 0.2 didn't I :-)

---cut here---
#! /bin/sh

DPKG=`which dpkg`
LDCONFIG=`which ldconfig`

# uncomment for debugging
#set -x
#DPKG="echo dpkg"
#LDCONFIG="echo LDCONFIG"

# upgrade a libc5 (bo) machine to libc6 (hamm).

# based on Scott Ellis' excellent "Debian libc5 to libc6 Mini-HOWTO"
# document at http://www.gate.net/~storm/FAQ/libc5-libc6-Mini-HOWTO.html

# Author: Craig Sanders <[EMAIL PROTECTED]>
#
# Copyright Status: This script is hereby placed in the public domain
#
# Revision History:
# v0.0: 1998-01-08 (morning)
#   - a rough transcript of scott's doc and my own experiences
# v0.1: 1998-01-08 (night)
#   - a few bugfixes
#   - i got unlazy and put in the right subdirectories for each package. 
# should run a lot faster.
#   - now checks for failure at critical points and exits with a different
# exit code for each failure.
#   - now uses 'binary-$(dpkg --print-installation-architecture)' instead 
# of 'binary-i386'.
# v0.2: 1998-01-09 
#   - fixed the perl-base/perl install (thanks Lindsay!)
#   - improved the DEVPACKAGES=$(dpkg --get-selections...) and added -dbg
# packages.
# v0.3: 1998-01-09 (p.m.)
#   - fixed some directories
#   - changed "-iB" to "-iBE" so that if the script fails and is run again
# it will not disturb things already in place.
#   - added a final "dpkg --configure --pending".
#   - sanity check that we are in the right place added
# v0.4: 1998-01-10 (Igor Grobman)
#   - made it possible to place all packages in current dir.
#   - added -pic packages to removal list.
#   - make sure dpkg-dev does not get selected for removal.
#   - moved dpkg-ftp and dpkg-mounted to the end.  
#v0.5: 1998-01-10 (Igor Grobman)
#   - added a note about upgrading libraries 
#v0.6: 1998-01-11 (Craig Sanders)
#   - restructured code to avoid code duplication. 
#   - cleaned up a few things
#   - prints advisory notes telling user what's happening.
#   - added some more instructions on what to do about development packages.
#   - added code to guess some obvious locations for the mirror, otherwise
# ask user.
#v0.7: 1998-01-11 (Craig Sanders)
#   - uh oh.  i hard-coded in binary-i386.  quick...better release another
# version before James notices.
#v0.8: 1998-01-11 (Craig Sanders)
#   - added libpthread0 to the remove list.
#   - fixed PKGS_LIBGPP (i mistyped it as PKGS_GPP)
#   - some old version of perl's postrm didn't delete a .packlist file
# from /usr/lib/perl5/i486-linux/5.003/auto/Mail/.packlist.  check for
# it and delete if found before installing perl.
#
# TODO: (probably by somebody else.  this script is mostly good enough imo)
#   - this script _still_ needs more error checking :-)

ARCH="binary-$(dpkg --print-installation-architecture)"

PKGS_LIBC6="base/ldso_*.deb base/libc5_*.deb base/libc6_*.deb \
   base/timezones_*.deb admin/locales_*.deb"
PKGS_NCURSES="libs/ncurses3.0_*.deb base/ncurses3.4_*.deb"
PKGS_LIBRL="oldlibs/libreadline2_*.deb"
PKGS_LIBRLG="base/libreadlineg2_*.deb"
PKGS_BASH="base/bash_*.deb"
PKGS_LIBGPP="devel/libg++272_*.deb"
PKGS_DPKG="base/dpkg_*.deb utils/dpkg-dev_*.deb"
PKGS_LIBGDBM="base/libgdbm1_*.deb devel/libgdbmg1_*.deb"
PKGS_PERLBASE="base/perl-base_*.deb"
PKGS_PERL="interpreters/perl_*.deb"
PKGS_MOREDPKG="base/dpkg-ftp_*.deb admin/dpkg-mountable_*.deb"


cat <<__EOF__
This script will install the packages necessary to ensure a safe upgrade
to hamm.  

You need to either have a local or remote mirror mounted, or have the
latest versions of the following packages from hamm available in the
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.

If you are using a mirror, press 'm'.
__EOF__

echo -n "if you have the files in the current dir, press 'c': (m/c) "

read answer

case "$answer" in
m|M)
# local mirror available

# 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/unstable/main/$ARCH/"
echo 

TRY="/debian/dists/unstable/main/$ARCH 
~ftp/debian/dists/unstable/main/$ARCH "
for i in $TRY ; do
if [ -d $i ] ; then
DEFAULT=$i
fi
done 

[ -n "$DEFAULT" ] && echo or just hit enter to use

Re: libc5 to libc6 auto-upgrade script

1998-01-10 Thread Tim Sailer
Igor Grobman wrote:
> 
> 
> This version should be close to good enough.  The major change since the last 
> one that was posted is the ability to upgrade from files in the current dir 
> instead of a local mirror requirement. 

llug.sep.bnl.gov is a public nfs mount for debian. You can point the scripts
there if they are net connected too.

Tim

-- 
 (work) [EMAIL PROTECTED] / (home) [EMAIL PROTECTED] - http://www.buoy.com/~tps
   "Nothing is work unless you'd rather be doing something else."
   - George Halas
** Disclaimer: My views/comments/beliefs, as strange as they are, are my own.**


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
[EMAIL PROTECTED] . 
Trouble?  e-mail to [EMAIL PROTECTED] .


Re: libc5 to libc6 auto-upgrade script

1998-01-09 Thread Craig Sanders
On Fri, 9 Jan 1998, Lindsay Allen wrote:

> I hope this is the final version for a while.  The script works here on a
> freshly installed bo.
> 
> Watch out for line folding.
> 
> # sanity check that we are in the right place
> [ -f base/libc6_* ] || exit 9

9 is already used for perl_base failure. either renumber all the exit
codes or just use 100.

this check should probably be done even before the script removes the -dev
and -dbg packages.

craig


--
craig sanders


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
[EMAIL PROTECTED] . 
Trouble?  e-mail to [EMAIL PROTECTED] .


Re: libc5 to libc6 auto-upgrade script

1998-01-09 Thread Lindsay Allen

I hope this is the final version for a while.  The script works here on a
freshly installed bo.

Watch out for line folding.

--- cut here ---

#! /bin/sh

# upgrade a libc5 (bo) machine to libc6 (hamm).

# based on Scott Ellis' excellent "Debian libc5 to libc6 Mini-HOWTO"
# document at http://www.gate.net/~storm/FAQ/libc5-libc6-Mini-HOWTO.html

# Author: Craig Sanders <[EMAIL PROTECTED]>
#
# Copyright Status: This script is hereby placed in the public domain
#
# Revision History:
# v0.0: 1998-01-08 (morning)
#   - a rough transcript of scott's doc and my own experiences
# v0.1: 1998-01-08 (night)
#   - a few bugfixes
#   - i got unlazy and put in the right subdirectories for each package. 
# should run a lot faster.
#   - now checks for failure at critical points and exits with a different
# exit code for each failure.
#   - now uses 'binary-$(dpkg --print-installation-architecture)' instead 
# of 'binary-i386'.
# v0.2: 1998-01-09 
#   - fixed the perl-base/perl install (thanks Lindsay!)
#   - improved the DEVPACKAGES=$(dpkg --get-selections...) and added -dbg
# packages.
# v0.3: 1998-01-09 (p.m.)
#   - fixed some directories
#  -  changed "-iB" to "-iBE" so that if the script fails and is run again
#   it will not disturb things already in place.
#   - added a final "dpkg --configure --pending".
#   - sanity check that we are in the right place added
#
# TODO: (probably by somebody else.  this script is mostly good enough imo)
#   - error checking

# first, build up a list of installed -dev packages so that we can
# remove them.  remove wg-15-locale too.
#
# this is necessary even on machines which aren't doing libc6
# development because libc5 can't be upgraded to latest version without
# removal of libc5-dev which also necessitates removal of other -dev
# packages like libdb1-dev and libdl1-dev if they are installed.

DEVPACKAGES=$( dpkg --get-selections | 
grep -v deinstall | 
cut -f1 |
grep -- "-dev$\|-dbg$" )

dpkg --remove -B $DEVPACKAGES wg15-locale || exit 1

# now install the new versions of things.  Just the bare minimum to let
# the user safely run dselect for the rest of the upgrade.

# change this to prompt the user for the location of the debian archive.
cd /debian/dists/unstable/main/binary-$(dpkg --print-installation-architecture)

# sanity check that we are in the right place
[ -f base/libc6_* ] || exit 9

# libc
#
dpkg -iBE base/ldso_*.deb base/libc5_*.deb base/libc6_*.deb \
base/timezones_*.deb admin/locales_*.deb || exit 2

# libreadline, ncurses, and bash
#
dpkg -iBE libs/ncurses3.0_*.deb base/ncurses3.4_*.deb  || exit 3
dpkg -iBE oldlibs/libreadline2_*.deb  || exit 4
dpkg -iBE base/libreadlineg2_*.deb || exit 5

# paranoia says run ldconfig NOW. don't laugh, i've needed to do this on
# some libc5-libc6 upgrades. i know that the postinst scripts for the
# libs are supposed to do it but 
ldconfig
dpkg -iBE base/bash_*.deb || exit 6

# new dpkg
#
dpkg -iBE devel/libg++272_*.deb || exit 7
dpkg -iBE base/dpkg_*.deb  utils/dpkg-dev_*.deb

# strictly speaking, dpkg-ftp and dpkg-mountable are not essential to
# upgrade right now but they're both very useful.
dpkg -iBE base/dpkg-ftp_*.deb admin/dpkg-mountable_*.deb

# perl
#
dpkg -iBE base/libgdbm1_*.deb devel/libgdbmg1_*.deb || exit 8
# paranoia says "run ldconfig now".
ldconfig
dpkg -iBE base/perl-base_*.deb || exit 9
dpkg -iBE interpreters/perl_*.deb

# paranoia says to run this at the end
dpkg --configure --pending

# paranoia says: "run sync", so lets do it :-)
sync ; sync ; sync 

# the user can now run dselect and select any -dev packages they want
# (and other packages too, of course :-)

more <<__EOF__

libc6 is now installed.  Now run dselect to upgrade the rest of your
system.  When that's done, reboot with "shutdown -r now" for the
utmp/wtmp wrapper functions in the upgraded libc5 to take effect.

BTW, if you aren't using it already, check out dselect's "mountable"
access method.  It's much faster than the standard "mounted" method, and
it logs everything that happens in /var/log/dpkg-mountable.  You'll want
to set "Allow overwriting repeated files?" to yes, and for extra speed
set "Enable MD5 checksumming?" to no.

Finally, remember to fix up wtmp and utmp, otherwise last and
who and sac etc wont work. here's what Miquel van Smoorenburg
<[EMAIL PROTECTED]> had to say about this recently in debian-user
mailing list:

> 1. You need to update ALL your packages to hamm
> 2. Reboot if you haven't done that already
> 3. You need to move the wtmp file and truncate the utmp file:
>cd /var/log
>mv wtmp wtmp.libc5
>touch wtmp
>cd /var/run
>cp /dev/null utmp
> 4. You might want to reboot again to make sure
> 
> This is because the "struct utmp" and thus the utmp and wtmp
> "databases" are different between libc5 and libc6

__EOF__
---cut here---



=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Linds