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