Russ Allbery <[EMAIL PROTECTED]> writes: > Elrond <[EMAIL PROTECTED]> writes: >> On Tue, May 16, 2006 at 10:35:40PM +0200, Simon Josefsson wrote: > >>> The problem is, IIUC, that we can't use prerm/postinst to handle an >>> old buggy shishid if we at the same time have a shishi-kdc do: > >>> Provides: shishid >>> Conflicts: shishid >>> Replaces: shishid > >>> When I run dist-upgrade, dpkg will use the prerm from the old shishid >>> package, which fails, and there is no prerm from the "new" shishid, >>> because there is no new shishid. > >>> One solution I see would be to provide an "empty" shishid with the >>> prerm, that depends on shishi-kdc, and remove the above >>> Provides/Conflicts/Replaces. > >> It should have >> Replaces: shishid (<= last-version-with-real-shishid) >> Conflicts: dito > > Yup, I'm going to do this in CVS now. > > Provides is only useful when we don't have an empty transitional package. > We won't ever need it. Conflicts indicates that the two packages can't be > installed at the same time, so shishid can't conflict with the new -kdc > package and still work as a transitional package. shishi-kdc needs to > conflict with the previous non-empty shishi package. Replaces indicates > that this package contains files that were previously contained in the > listed package, so similarly that should have the last shishid before the > transitional package. > > With this change, I think we should be good for an upload. I'll hold off > until Simon says we're good, though, just in case.
Thanks, the above seem correct when I think about it. It appears to work, almost, too. The dist-upgrade looks fine: latte:~# apt-get dist-upgrade Reading package lists... Done Building dependency tree... Done Calculating upgrade...Done The following NEW packages will be installed shishi-kdc The following packages have been kept back: freebsd-manpages The following packages will be upgraded: libshisa0 libshishi0 shishi-common shishid 4 upgraded, 1 newly installed, 0 to remove and 1 not upgraded. And upgrading with the prerm work fine too: (Reading database ... 144157 files and directories currently installed.) Preparing to replace shishi-common 0.0.23-1 (using .../shishi-common_0.0.26+20060517-1_all.deb) ... Unpacking replacement shishi-common ... Preparing to replace libshishi0 0.0.23-1 (using .../libshishi0_0.0.26+20060517-1_i386.deb) ... Unpacking replacement libshishi0 ... Preparing to replace libshisa0 0.0.23-1 (using .../libshisa0_0.0.26+20060517-1_i386.deb) ... Unpacking replacement libshisa0 ... Preparing to replace shishid 0.0.23-1 (using .../shishid_0.0.26+20060517-1_i386.deb) ... Stopping Shishi daemon: invoke-rc.d: initscript shishid, action "stop" failed. dpkg: warning - old pre-removal script returned error exit status 1 dpkg - trying script from the new package instead ... Stopping Shishi daemon: invoke-rc.d: initscript shishid, action "stop" failed. dpkg: ... it looks like that went OK. Unpacking replacement shishid ... Selecting previously deselected package shishi-kdc. dpkg: considering removing shishid in favour of shishi-kdc ... shishid is not properly installed - ignoring any dependencies on it. dpkg: yes, will remove shishid in favour of shishi-kdc. Unpacking shishi-kdc (from .../shishi-kdc_0.0.26+20060517-1_i386.deb) ... Setting up shishi-common (0.0.26+20060517-1) ... Installing new version of config file /etc/shishi/shishi.conf ... Installing new version of config file /etc/shishi/shishi.skel ... Setting up libshishi0 (0.0.26+20060517-1) ... Setting up libshisa0 (0.0.26+20060517-1) ... Setting up shishi-kdc (0.0.26+20060517-1) ... Starting Shishi Kerberos v5 KDC daemon: shishid. dpkg: error processing shishid (--configure): package shishid is not ready for configuration cannot configure (current status `config-files') terminate called after throwing an instance of 'std::logic_error' what(): basic_string::_S_construct NULL not valid Aborted latte:~# Errors were encountered while processing: shishid latte:~# This looks like a dpkg bug to me: dpkg decides to remove shishid, but still wants to configure it, which fails. If I dist-upgrade again, it works fine: latte:~# apt-get dist-upgrade Reading package lists... Done Building dependency tree... Done Calculating upgrade...Done The following packages have been kept back: freebsd-manpages The following packages will be upgraded: shishi-kdc 1 upgraded, 0 newly installed, 0 to remove and 1 not upgraded. Need to get 0B/84.2kB of archives. After unpacking 0B of additional disk space will be used. Do you want to continue [Y/n]? WARNING: The following packages cannot be authenticated! shishi-kdc Install these packages without verification [y/N]? y Reading changelogs... Done (Reading database ... 144160 files and directories currently installed.) Preparing to replace shishi-kdc 0.0.26+20060517-1 (using .../shishi-kdc_0.0.26+20060517-1_i386.deb) ... Stopping Shishi Kerberos v5 KDC daemon: shishid. Unpacking replacement shishi-kdc ... Setting up shishi-kdc (0.0.26+20060517-1) ... Starting Shishi Kerberos v5 KDC daemon: shishid. latte:~# You can reproduce this by upgrading from 'shishid' in unstable to my daily build of the current CVS stuff: deb http://josefsson.org/daily/shishi/debian/ ./ Should we worry about this? If not, we are ready for upload. /Simon _______________________________________________ Help-shishi mailing list [email protected] http://lists.gnu.org/mailman/listinfo/help-shishi
