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: