Bug#700790: gtkmm-documentation: unhandled symlink to directory conversion: /usr/share/doc/PACKAGE
Andreas Beckmann
anbe at debian.org
Thu Feb 21 12:42:20 UTC 2013
Control: retitle -1 gtkmm-documentation: directory vs. symlink conflict: /usr/share/doc/gtkmm-3.0
On 2013-02-17 17:06, Michael Biebl wrote:
>> >From the attached log (usually somewhere in the middle...):
>>
>> 0m55.2s INFO: dirname part contains a symlink:
>> /usr/share/doc/gtkmm-3.0/tutorial (gtkmm-documentation) != /usr/share/doc/libgtkmm-3.0-doc/tutorial (?)
>>
>> Hmm, looks like gtkmm-documentation installs something in the documentation
>> directory of another package, but that has changed to a symlink inbetween ...
>
> This symlink didn't exist in squeeze, so I'm unsure which directory was
> converted to a symlink
> At least /usr/share/doc/gtkmm-3.0/tutorial never existed as an actual
> directory afaics, or can you be move specific from which versions of
> which packages you upgraded.
Actually, it's not an upgrade issue, I can reproduce it in sid alone
(and probably wheezy as well). So let me try a new template describing
the problem:
Hi,
during a test with piuparts I noticed your package installs files over
an existing symlink shipped or created by another package.
Installing something over existing symlinks is considered bad practice.
See e.g. http://lists.debian.org/87ehlevcrf.fsf@windlord.stanford.edu
It may break in subtle ways and dpkg cannot discover this as a problem.
* Your package might silently overwrite files installed at the symlink
destination by other packages.
* If the package shipping the symlink decides to make the link point
somewhere else (or turn it into a real directory) the files owned by
your package "will be lost" somewhere in the filesystem.
* Depending on installation order the problematic path will be created
either as a symlink or a directory and dpkg intentionally does not
replace directories with symlinks and vice versa, see in particular
the end of point 4 in
http://www.debian.org/doc/debian-policy/ch-maintainerscripts.html#s-unpackphase
The package that gets installed (just unpacked is enough) as second
has "lost".
(Note: Adding Pre-Depends is *not* a solution.)
Please move the files shipped in your package to the "real" location.
Your package ships:
/usr/share/doc/gtkmm-3.0/tutorial -> ../gtkmm-documentation/tutorial
but libgtkmm-3.0-doc ships
/usr/share/doc/gtkmm-3.0 -> libgtkmm-3.0-doc
>From the attached log (usually somewhere in the middle...):
cheers,
Andreas
More information about the pkg-gnome-maintainers
mailing list