On Fri, 3 Oct 2003, Peter S Galbraith wrote: > In the upcoming version of the `emacs-goodies-el' source package, I want > the following to happen to these bianry packages: > > `emacs-goodies-extra-el' > -> removed and contents merged into `emacs-goodies-el' > > `debbugs-el' > -> replaced by `debian-el' > > I did the following in the control file: > > Package: emacs-goodies-el > Replaces: emacs-goodies-extra-el > Conflicts: emacs-goodies-extra-el > Provides: emacs-goodies-extra-el > > Package: debian-el > Conflicts: debbugs-el > Replaces: debbugs-el > Provides: debbugs-el > > I created a Packages.gz file to test the upgrade to these and added an > entry to it to sources.list. Here's what happens: > > # apt-get -u dist-upgrade > Reading Package Lists... Done > Building Dependency Tree... Done > Calculating Upgrade... Done > The following packages have been kept back > dpkg-dev-el emacs-goodies-el libsmpeg0 printtool rwho > The following packages will be upgraded > devscripts-el gnus-bonus-el > > So it's holding back the two affected packages. However, installing > them explicitely works: > > # apt-get install dpkg-dev-el emacs-goodies-el > Reading Package Lists... Done > Building Dependency Tree... Done > The following extra packages will be installed: > debian-el > The following packages will be REMOVED: > debbugs-el emacs-goodies-extra-el > The following NEW packages will be installed: > debian-el > The following packages will be upgraded > dpkg-dev-el emacs-goodies-el > 2 packages upgraded, 1 newly installed, 2 to remove and 5 not upgraded. > Need to get 480kB of archives. After unpacking 73.7kB will be freed. > Do you want to continue? [Y/n] n > Abort. > > Am I missing something?
Maybe, the fact that APT tries to not remove any of your currently installed packages during an upgrade. There is not a "standard" to make a package to disappear, but there is something you can do to ensure that "apt-get upgrade" works: Just make emacs-goodies-extra-el a dummy (empty) package which depends on emacs-goodies-el, and make debbugs-el a dummy package which depends on debian-el. Make them of extra priority and section oldlibs. Remove the conflicts, so that these packages are actually installed. Then "apt-get upgrade" will actually upgrade all the packages. After the upgrade, dpkg --purge `deborphan` (which almost everybody usually does anyway) should remove the dummy packages. If you don't do that the user will have to read the release notes to see which packages he/she should upgrade by hand, but that would be a shame: the release notes are for things which we weren't able to fix before the release. My "ideal" of release notes is like this: -----------------------------cut here---------------------------------- To upgrade from woody to sarge, follow the usual procedure: apt-get update apt-get upgrade apt-get dist-upgrade -----------------------------cut here---------------------------------- If the ordinary tools to upgrade the system are not enough to upgrade the system and the release notes are longer than that, I think it's a clear sign that we have made something wrong. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]