[Pkg-Cyrus-imapd-Debian-devel] Problem with statoverrides after upgrading cyrus22-* to cyrus-*2.2

Benjamin Seidenberg astronut at dlgeek.net
Wed Dec 14 01:41:28 UTC 2005


Henrique de Moraes Holschuh wrote:

>On Tue, 13 Dec 2005, Sven Mueller wrote:
>  
>
>>>>Oh well, but _how_ do we make them disappear during upgrades?
>>>>        
>>>>
>>>You have to *completely* replace the package.  It will disappear, then.
>>>
>>>This means the famous trio (provides: conflicts: replaces:) without versions
>>>is needed for all packages you are going to make disapear.  That tells dpkg
>>>that something fishy is going on, and it does away with the old package.
>>>      
>>>
>>Well, on the system in question, I never had cyrus21-common installed,
>>just cyrus22-common. And cyrus-common-2.2 does the triplet on
>>cyrus22-common (though some others didn't until my latest commit). And
>>the stat-overrides are definately done by cyrus*-common*.
>>    
>>
>
>Well, Debian policy says this:
>
>     9.   Any packages all of whose files have been overwritten during the
>          installation, and which aren't required for dependencies, are
>          considered to have been removed.  For each such package
>
>          1.   `dpkg' calls:
>                    <disappearer's-postrm> disappear \
>                      <overwriter> <overwriter-version>
>
>          2.   The package's maintainer scripts are removed.
>
>          3.   It is noted in the status database as being in a sane state,
>               namely not installed (any conffiles it may have are ignored,
>               rather than being removed by `dpkg').  Note that
>               disappearing packages do not have their prerm called,
>               because `dpkg' doesn't know in advance that the package is
>               going to vanish.
>
>Section 7.5.1 has more tips, as well.  It hits that we *cannot* conflict(!)
>with the other package.
>
>I am confused now, apparently we have to take over ALL files (including
>those that are now useless and should be removed instead) by using Replaces
>and shipping these files inside the .deb, AND not conflict with the old
>package.
>
>Still, if we conflict + replace all files, that should also work (since no
>files of the old package will remain).  I suppose we can rm the undesireable
>files in postinst.
>
>Section 7.5.2 explains the triplets, but doesn't help much.
>
>What's getting me bummed is that there shouldn't be any files left but the
>conffiles when migrating from old 2.2 to new 2.2, AND that the conffiles are
>the same, so the old package should indeed have disappered.
>
>Sven, did you perchange *purge* by hand the old 2.2 packages? If you did
>not, we're off track.  postrm purge will not be called UNLESS you manually
>tell apt/dpkg to do so, disappearing packages or not.
>
>  
>
Files have been renamed, both from 2.1 -> 2.2 and cyrus22-* to 
cyrus-*-2.2. For example, /etc/init.d/cyrus22 is now /etc/init.d/cyrus2.2.

Supporting the 22 -> 2.2 is not as important as supporting the 21 -> 
2.2, as 22->2.2 is in experimental, and breakage is acceptable. However, 
we should still track down the issue.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 256 bytes
Desc: OpenPGP digital signature
Url : http://lists.alioth.debian.org/pipermail/pkg-cyrus-imapd-debian-devel/attachments/20051213/2ee8c813/signature.pgp


More information about the Pkg-Cyrus-imapd-Debian-devel mailing list