Bug#771749: cyrus-{common, imapd}-2.4: unhandled symlink to directory conversion: /usr/share/doc/PACKAGE

Ondřej Surý ondrej at sury.org
Tue Dec 2 15:05:39 UTC 2014


Control: tags -1 +help

Hi Andreas,

I am out of clues how to fix that in a general manner. I guess I just
can't support upgrades from testing versions and from wheezy versions at
the same time.

I will just aim to have the upgrades from wheezy right and fix the most
of jessie-to-jessie upgrades. And I just regret of ever using --link-doc
more and more.

Would you be able to test upgrades from wheezy to unstable with -10
quickly?

O.

On Tue, Dec 2, 2014, at 02:58, Andreas Beckmann wrote:
> Package: cyrus-imapd-2.4,cyrus-common-2.4
> Version: 2.4.17+caldav~beta10-8
> Severity: serious
> User: debian-qa at lists.debian.org
> Usertags: piuparts
> 
> Hi,
> 
> an upgrade test with piuparts revealed that your package installs files
> over existing symlinks and possibly overwrites files owned by other
> packages. This usually means an old version of the package shipped a
> symlink but that was later replaced by a real (and non-empty)
> directory. This kind of overwriting another package's files cannot be
> detected by dpkg.
> 
> This was observed on the following upgrade paths:
> 
>   wheezy -> jessie (2.4.17+caldav~beta10-8)
>   wheezy -> sid (2.4.17+caldav~beta10-9)
> 
> For /usr/share/doc/PACKAGE this may not be problematic as long as both
> packages are installed, ship byte-for-byte identical files and are
> upgraded in lockstep. But once one of the involved packages gets
> removed, the other one will lose its documentation files, too,
> including the copyright file, which is a violation of Policy 12.5:
> https://www.debian.org/doc/debian-policy/ch-docs.html#s-copyrightfile
> 
> For other overwritten locations anything interesting may happen.
> 
> Note that dpkg intentionally does not replace directories with symlinks
> and vice versa, you need the maintainer scripts to do this.
> See in particular the end of point 4 in
> https://www.debian.org/doc/debian-policy/ch-maintainerscripts.html#s-unpackphase
> 
> It is recommended to use the dpkg-maintscript-helper commands
> 'dir_to_symlink' and 'symlink_to_dir' (available since dpkg 1.17.2)
> to perform the conversion, ideally using d/$PACKAGE.mainstscript.
> See dpkg-maintscript-helper(1) and dh_installdeb(1) for details.
> 
> 
> >From the attached log (usually somewhere in the middle...):
> 
> 4m16.8s ERROR: FAIL: silently overwrites files via directory symlinks:
>   /usr/share/doc/cyrus-common-2.4/changelog.Debian.gz (cyrus-common-2.4)
>   != /usr/share/doc/cyrus-common/changelog.Debian.gz (cyrus-common)
>   /usr/share/doc/cyrus-common-2.4/copyright (cyrus-common-2.4) !=
>   /usr/share/doc/cyrus-common/copyright (cyrus-common)
>   /usr/share/doc/cyrus-imapd-2.4/copyright (cyrus-imapd-2.4) !=
>   /usr/share/doc/cyrus-common/copyright (cyrus-common)
> 
> 
> There may be more packages failing, but these cannot be tested by
> piuparts
> due to cyrus-common-2.4 already failing ...
> 
> cheers,
> 
> Andreas
> _______________________________________________
> Pkg-Cyrus-imapd-Debian-devel mailing list
> Pkg-Cyrus-imapd-Debian-devel at lists.alioth.debian.org
> http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-cyrus-imapd-debian-devel
> Email had 1 attachment:
> + cyrus-imapd-2.4_2.4.17+caldav~beta10-8.log.gz
>   42k (application/gzip)


-- 
Ondřej Surý <ondrej at sury.org>
Knot DNS (https://www.knot-dns.cz/) – a high-performance DNS server



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