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

Re: How to smoothly merge packages ?



Ok, thanks for all the quick answers. Still, I'm running into strange
(IMHO) problems. I'm not sure if this is a bug in dpkg, or if I'm
simply not getting it right ;-):

I still I fail to remove two packages at once in favour of a third.

I moved the contents of python-{misc,net,bsddb,curses} back into
python-base.


For python-misc and python-net, I will provide empty, transitional
packages that satisfy versioned dependencies for existing packages. As
soon as these packages have changed their dependencies to python-base, 
the dummy python-misc and python-net packages will be removed in favor 
of unversioned Conflicts/Replaces/Provides in python-base.

But since no packages in potato nor slink have dependencies on
python-curses or python-bsddb, I'd like to drop them at once.

I tried this:

   Package: python-base
   Version: 1.5.2-4
   Section: interpreters
   Priority: optional
   Architecture: i386
   Depends: libc6 (>= 2.1), libncurses4 (>= 4.2-3.1), 
            libreadlineg2 (>=
2.1-12), libreadlineg2 (>= 2.1-13.3)
   Conflicts: python (<< 1.5), mailman (<< 1.0b11-2), python-bsddb,
            python-curses
   Replaces: python (<< 1.5), python-bsddb, python-curses
   Provides: python, python-net, python-misc, python-bsddb, 
            python-curses

Now dpkg would remove python-bsddb, but it fails to remove python-curses:

  freefly:23> sudo dpkg -i python-base_1.5.2-4_i386.deb 
  dpkg: considering removing python-bsddb in favour of python-base ...
  dpkg: yes, will remove python-bsddb in favour of python-base.
  dpkg: regarding python-base_1.5.2-4_i386.deb containing python-base:
   python-base conflicts with python-curses
    python-curses (version 1.5.2-3) is installed.
  dpkg: error processing python-base_1.5.2-4_i386.deb (--install):
   conflicting packages - not installing python-base
  Errors were encountered while processing:
   python-base_1.5.2-4_i386.deb

If I switch the order of python-bsddb and python-curses in
python-base's Conflicts/Replaces/Provides fields, dpkg fails to remove 
python-bsddb!

   Depends: libc6 (>= 2.1), libncurses4 (>= 4.2-3.1), 
              libreadlineg2 (>= 2.1-12), libreadlineg2 (>= 2.1-13.3) 
   Conflicts: python (<< 1.5), mailman (<< 1.0b11-2), python-curses,
              python-bsddb
   Replaces: python (<< 1.5), python-curses, python-bsddb
   Provides: python, python-net, python-misc, python-curses,
              python-bsddb

  freefly:31> sudo dpkg -i python-base_1.5.2-4_i386.deb
  dpkg: considering removing python-curses in favour of python-base ...
  dpkg: yes, will remove python-curses in favour of python-base.
  dpkg: regarding python-base_1.5.2-4_i386.deb containing python-base:
   python-base conflicts with python-bsddb
    python-bsddb (version 1.5.2-3) is installed.
  dpkg: error processing python-base_1.5.2-4_i386.deb (--install):
   conflicting packages - not installing python-base
  Errors were encountered while processing:
   python-base_1.5.2-4_i386.deb



For the sake of completeness, this is dpkg -s python-{bsddb,curses}:

Package: python-bsddb
Status: install ok installed
Priority: optional
Section: interpreters
Installed-Size: 28
Maintainer: Gregor Hoffleit <flight@debian.org>
Source: python
Version: 1.5.2-3
Depends: python-base (= 1.5.2-3), libc6 (>= 2.1)

Package: python-curses
Status: install ok installed
Priority: optional
Section: interpreters
Installed-Size: 40
Maintainer: Gregor Hoffleit <flight@debian.org>
Source: python
Version: 1.5.2-3
Depends: python-base (= 1.5.2-3), libc6 (>= 2.1), libncurses4 (>=
4.2-3.1)


Reply to: