[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

hamm upgrade using dselect



Santiago Vila <sanvila@unex.es> writes:

> On 24 Feb 1998, Sven Rudolph wrote:
> 
> > David Welton <davidw@gate.cks.com> writes:
> > 
> > > It was my impression that even if we use pre-depends with all the hamm
> > > base packages (depending on some 'improved' dpkg), that we just can't
> > > guarantee things will go the way we want.
> > 
> > Can someone comment whether pre-depends will do everything we need?
> 
> Well, dpkg have always *refused* to install a package if a pre-dependency
> is not satisfied.
> 
> If we agree on having the Pre-Depends field for all essential packages
> (as it has been discussed in debian-policy), then I think the upgrade
> *should* work *even* if dselect is used to do the upgrade [*].

I'd prefer such a solution. Anyone who will bring this into
debian-policy ?

> Quoting from the Debian FAQ: "The Debian project provided this mechanism
> to support the safe upgrading of systems from a.out format to ELF format,
> where the order in which packages were unpacked was critical."
> 
> [*] It may require, however, several "passes", but it should not break
> the system in any case.

I just tried it. It is getting longer, sorry ...

I just took a 1.3.1 box and configured dselect to upgrade. The
conflicts (reordered and commented)

EIOM Pri Section  Package      Description
 *** Opt oldlibs  libc5        The Linux C library version 5 (run-time libraries
 *** Xtr devel    libc5-pic        
libc5-pic depends on libc5 (= 5.4.33-6); libc5-pic has to be removed
 *** Opt oldlibs  libreadline2 GNU readline and history libraries, run-time libr
 *** Std devel    libreadline2
libreadline2-dev depends on libreadline2 (= 2.1-2); new libreadline is
2.1-7
 *** Opt devel    lesstif-dev
 *-* Opt oldlibs  lesstif      libc5 backward compatibility lesstif libraries.  
lesstif-dev depends on lesstif (= 0.76-1), new lesstif is 0.82-4
 *** Opt contrib  ddd-smotif 
ddd-smotif depends on elf-x11r6lib
 *** Opt contrib  xforms-dev 
xforms-dev depends on elf-x11r6lib                                     
elf-x11r6lib does not appear to be available
xforms-dev suggests xpm-dev
 *** Opt devel    j1         
j1 depends on libreadline                                              
libreadline does not appear to be available
 *** Opt games    xtetris
xtetris depends on elf-x11r6lib                                        
elf-x11r6lib does not appear to be available
 *** Opt libs     tk40
tk40 depends on elf-x11r6lib                                        
elf-x11r6lib does not appear to be available
 *** Opt libs     tk41                                                          
tk41 depends on elf-x11r6lib                                        
elf-x11r6lib does not appear to be available
 *** Opt x11      offix                                                         
offix depends on elf-x11r6lib                                        
elf-x11r6lib does not appear to be available
 *** Opt x11      xview-dev                                                     
xview-dev depends on elf-x11r6lib                                        
elf-x11r6lib does not appear to be available
 *** Xtr non-free mathpad                                                       
mathpad depends on elf-x11r6lib                                          
elf-x11r6lib does not appear to be available
 *** Xtr non-free xarchie                                                       
xarchie depends on elf-x11r6lib                                          
elf-x11r6lib does not appear to be available
 *** Opt contrib/ xtar-smotif  xtar - Motif front end for tar, with static libXm
xtar-smotif depends on elf-x11r6lib                                          
elf-x11r6lib does not appear to be available

After removing everything but libc5 and libreadline2:
 *-* Opt libs     tk40                                                          
 *-* Opt libs     tk41                                                          
 *** Opt libs     libtclobjc                                                    
libtclobjc depends on tk40         
 *** Opt libs     tclx75
 *** Opt libs     tclx75                                                        

After removing these:
 *-* Opt libs     tk41                                                          
 *-* Opt libs     tclx75                                                        
tclx75-dev depends on tclx75 (= 7.5.2-5)
 *** Opt interpre blt                                                           
blt depends on tk41                     
 *** Opt devel    tclx75-dev
tclx75-dev depends on tclx75 (= 7.5.2-5)

Removed these and done.

Now I started the install part in dselect. First dselect ran the
special things (I don't know exactly who runs this)

It installed dpkg-perl. Then:

Looking for part 1 of libc6 ... /home/debian/ftp/debian/dists/unstable/main/binary-i386/base/libc6_2.0.7pre1-1.deb
Running dpkg -iB for libc6 ...
dpkg: regarding .../base/libc6_2.0.7pre1-1.deb containing libc6:
 libc6 conflicts with libc5 (<< 5.4.33-7)
  libc5 (version 5.4.33-6) is installed.
dpkg: error processing /home/debian/ftp/debian/dists/unstable/main/binary-i386/base/libc6_2.0.7pre1-1.deb (--install):
 conflicting packages - not installing libc6
Errors were encountered while processing:
 /home/debian/ftp/debian/dists/unstable/main/binary-i386/base/libc6_2.0.7pre1-1.deb


This simply is an error. First libc5 has to be upgraded in order to
make the system accept libc6. The selection part did this right.

So I installed libc5 manually. BTW: It correctly says: Please reboot
after installation to make sure all programs use the utmp-wrapper
functions. So there is no need to reboot immediately.

Now I installed libc6, this removed localebin. Continuing with
dselect/install, the same problem as above appeared with slang:

Looking for part 1 of slang0.99.38 ... /home/debian/ftp/debian/dists/unstable/main/binary-i386/libs/slang0.99.38_0.99.38-2.16.deb
Running dpkg -iB for slang0.99.38 ...
dpkg: regarding .../slang0.99.38_0.99.38-2.16.deb containing slang0.99.38:
 slang0.99.38 conflicts with slang0.99.34 (<< 0.99.38-2.3)
  slang0.99.34 (version 0.99.38-2) is installed.
dpkg: error processing /home/debian/ftp/debian/dists/unstable/main/binary-i386/libs/slang0.99.38_0.99.38-2.16.deb (--install):
 conflicting packages - not installing slang0.99.38
Errors were encountered while processing:
 /home/debian/ftp/debian/dists/unstable/main/binary-i386/libs/slang0.99.38_0.99.38-2.16.deb

Same manual solution as with libc6. Continuing with
dselect/install, the same problem as above appeared with libgdbmg1:

Looking for part 1 of libgdbmg1 ... /home/debian/ftp/debian/dists/unstable/main/binary-i386/devel/libgdbmg1_1.7.3-21.deb
Running dpkg -iB for libgdbmg1 ...
dpkg: regarding .../devel/libgdbmg1_1.7.3-21.deb containing libgdbmg1:
 libgdbmg1 conflicts with libgdbm1 (<= 1.7.3-20)
  libgdbm1 (version 1.7.3-19) is installed.
dpkg: error processing /home/debian/ftp/debian/dists/unstable/main/binary-i386/devel/libgdbmg1_1.7.3-21.deb (--install):
 conflicting packages - not installing libgdbmg1
Errors were encountered while processing:
 /home/debian/ftp/debian/dists/unstable/main/binary-i386/devel/libgdbmg1_1.7.3-21.deb

Same manual solution as with libc6. Continuing with
dselect/install: 

Running dpkg -iB for perl-base ...
dpkg: considering removing perl in favour of perl-base ...
dpkg: yes, will remove perl in favour of perl-base.
(Reading database ... 73859 files and directories currently installed.)
Unpacking perl-base (from .../base/perl-base_5.004.04-4.deb) ...
De-configuring adduser, so that we can remove perl ...
(de-configuring way more programs ...)

That's OK, but a bit surprising ...

After configuring perl-base dpkg tries to re-configure all
de-configured programs:

dpkg: dependency problems prevent configuration of perl-tk:
 perl-tk depends on perl (>= 5.003.07-2); however:
  Package perl is not installed.

That's true. In the end dpkg stops with: Processing was halted because
there were too many errors.

IMHO any numeric limit on such errors should be removed.

Unfortunately perl was de-selected now. Hence replacing perl wasn't
the right thing to do for perl-base.

I installed perl manually and continued. Again a library conflict,
this time with libreadlineg2:

Looking for part 1 of libreadlineg2 ... /home/debian/ftp/debian/dists/unstable/main/binary-i386/base/libreadlineg2_2.1-7.deb
Running dpkg -iB for libreadlineg2 ...
dpkg: regarding .../base/libreadlineg2_2.1-7.deb containing libreadlineg2:
 libreadlineg2 conflicts with libreadline2 (<< 2.1-2.1)
  libreadline2 (version 2.1-2) is installed.
dpkg: error processing /home/debian/ftp/debian/dists/unstable/main/binary-i386/base/libreadlineg2_2.1-7.deb (--install):
 conflicting packages - not installing libreadlineg2
Errors were encountered while processing:
 /home/debian/ftp/debian/dists/unstable/main/binary-i386/base/libreadlineg2_2.1-7.deb

Solved the same way and continued.

Now plain `dpkg -iGROEB' starts. Some libraries fail because of their
libc5 counterparts. In the configure phase:

dpkg: too many errors, stopping
Errors were encountered while processing:
 /home/debian/ftp/debian/dists/unstable/main/binary-i386/base/ss2g_2.0-1.10-11.deb
 /home/debian/ftp/debian/dists/unstable/main/binary-i386/base/comerr2g_2.0-1.10-11.deb
 /home/debian/ftp/debian/dists/unstable/main/binary-i386/base/e2fslibsg_1.10-11.deb
 /home/debian/ftp/debian/dists/unstable/main/binary-i386/base/e2fsprogs_1.10-11.deb
 /home/debian/ftp/debian/dists/unstable/main/binary-i386/math/netcdfg3_3.3.1-3.deb
 /home/debian/ftp/debian/dists/unstable/main/binary-i386/tex/tetex-extra_0.4pl8-3.deb
 /home/debian/ftp/debian/dists/unstable/main/binary-i386/graphics/picon-usenix_1995.04.13-1.deb
 /home/debian/ftp/debian/dists/unstable/main/binary-i386/libs/libpaperg_1.0.3-6.deb
 /home/debian/ftp/debian/dists/unstable/main/binary-i386/libs/tcl7.6_7.6p2-7.deb
 /home/debian/ftp/debian/dists/unstable/main/binary-i386/libs/svgalibg1_1.2.13-1
.deb
 /home/debian/ftp/debian/dists/unstable/main/binary-i386/libs/zlib1g_1.0.4-7.1.deb
 /home/debian/ftp/debian/dists/unstable/main/binary-i386/libs/libjpegg6a_6a-9.deb
 /home/debian/ftp/debian/dists/unstable/main/binary-i386/libs/tk4.2_4.2p2-7.deb
 /home/debian/ftp/debian/dists/unstable/main/binary-i386/libs/libtiff3g_3.4beta037-4.deb
 /home/debian/ftp/debian/dists/unstable/main/binary-i386/text/groff_1.11a-1.deb
 /home/debian/ftp/debian/dists/unstable/main/binary-i386/text/gsfonts_4.01-6.deb
 /home/debian/ftp/debian/dists/unstable/main/binary-i386/text/lout_3.10-1.1.deb
 /home/debian/ftp/debian/dists/unstable/main/binary-i386/x11/9fonts_1-6.deb
 /home/debian/ftp/debian/dists/unstable/main/binary-i386/x11/xmanpages_3.3.1-2.deb
 /home/debian/ftp/debian/dists/unstable/main/binary-i386/x11/xkeycaps_2.42-2.deb
 /home/debian/ftp/debian/dists/unstable/main/binary-i386/x11/xpm4g_3.4j-0.6.deb
 pcb
Processing was halted because there were too many errors.

Some of the above errors might have been caused by a full disk. I
removed picon-usenix ;-)

I did a configure and learned that too many packages depend on xlibg6.

dpkg -i /home/debian/ftp/debian/dists/unstable/main/binary-i386/x11/xlib6g_3.3.1-2.deb 
dpkg: considering removing xlib6-dev in favour of xlib6g ...
dpkg: no, cannot remove xlib6-dev (--auto-deconfigure will help):
 tk42-dev depends on xlib6-dev (>= 3.2-0)
  xlib6-dev is to be removed.
dpkg: regarding .../x11/xlib6g_3.3.1-2.deb containing xlib6g:
 xlib6g conflicts with xlib6-dev (<< 3.3-5)
  xlib6-dev (version 3.3-4) is installed.
dpkg: error processing /home/debian/ftp/debian/dists/unstable/main/binary-i386/x11/xlib6g_3.3.1-2.deb (--install):
 conflicting packages - not installing xlib6g
Errors were encountered while processing:
 /home/debian/ftp/debian/dists/unstable/main/binary-i386/x11/xlib6g_3.3.1-2.deb

tk42 is marked for removal, but it isn't removed yet. IMHO dpkg should
detect this and remove tk42-dev in order to resolve this conflict.

I removed tk42-dev and installed xlib6g. Config again. It did a lot
before "dpkg: too many errors, stopping".

Install again. Too much errors  in config phase. Some rounds later
everything works (modulo package-specific errors).


SUMMARY: Problems exist. They are:

a) Old dependencies on discontinued packages. See the selection phase
above. If their were newer versions of the packages with the
elf-x11r6lib problem this would be resolved. But most of these package
names are discountinues anyway.

b) dpkg's pre-`dpkg -iGROEB'-phase determines the wrong ordering for
installing libraries that conflict with older versions of their libc5
counterparts.

c) The perl-base problem. I don't see a solution now.

d) "Processing was halted because there were too many errors": This
limit should not exist.


	Sven
-- 
Sven Rudolph <sr1@inf.tu-dresden.de>
http://www.sax.de/~sr1/


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
debian-devel-request@lists.debian.org . 
Trouble?  e-mail to templin@bucknell.edu .


Reply to: