[Pkg-gtkpod-devel] Bug#774891: Bug#774891: gtkpod: unhandled symlink to directory conversion: /usr/share/doc/PACKAGE

Matteo F. Vescovi mfv at debian.org
Mon Jan 12 09:25:17 UTC 2015


Hi!

On 2015-01-08 at 19:00 (CET), Andreas Beckmann wrote:
> 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:
> 
>   squeeze -> wheezy -> jessie

Well, actually the issue exists in the upgrade path:

    squeeze -> wheezy

between a package not maintained by me (the older) and one prepared by
me (the newer).

> 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

This issue is relevant in the upgrade of squeeze -> wheezy packages,
while it's not present in second-stage upgrade path, that is
wheezy -> jessie.

> 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.14)
> to perform the conversion, ideally using d/$PACKAGE.mainstscript.
> Do not forget to add 'Pre-Depends: ${misc:Pre-Depends}' in d/control.
> See dpkg-maintscript-helper(1) and dh_installdeb(1) for details.
 
The only issue here is that, given that the bug affects the version in
wheezy, dpkg there is not 1.17.14 but 1.16.15 and it lacks the
dpkg-maintscript-helper commands. So I need to find another solution to
this problem.
 
> >From the attached log (usually somewhere in the middle...):
> 
> [...] 
> 
> cheers,
> 
> Andreas

I really hope to find a smart solution to this soon.

Cheers.


-- 
Matteo F. Vescovi || Debian Developer
GnuPG KeyID: 4096R/0x8062398983B2CF7A



More information about the Pkg-gtkpod-devel mailing list