[pkg-php-pear] Bug#701135: php-net-ping: directory vs. symlink conflict: /usr/share/php/doc

Andreas Beckmann anbe at debian.org
Thu Feb 21 23:26:15 UTC 2013


Package: php-net-ping
Version: 2.4.5-3
Severity: serious
User: debian-qa at lists.debian.org
Usertags: piuparts

Hi,

during a test with piuparts I noticed your package installs files over
an existing symlink shipped or created by another package.

Your package ships:

  /usr/share/php/doc/Net_Ping/docs/examples/example.php

but package php-pear ships:

  /usr/share/php/doc -> ../doc/php-pear/PEAR

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 detect 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: the package installed first will
  "win" and all others have "lost".
  Note that 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
  (Note: Adding Pre-Depends is *not* a solution.)

Please move the files shipped in your package to the "real" location.

>From the attached log (usually somewhere in the middle...):

0m17.3s INFO: dirname part contains a symlink:
  /usr/share/php/doc/Net_Ping (php-net-ping) != /usr/share/doc/php5-common/PEAR/Net_Ping (?)
  /usr/share/php/doc/Net_Ping/docs (php-net-ping) != /usr/share/doc/php5-common/PEAR/Net_Ping/docs (?)
  /usr/share/php/doc/Net_Ping/docs/examples (php-net-ping) != /usr/share/doc/php5-common/PEAR/Net_Ping/docs/examples (?)
  /usr/share/php/doc/Net_Ping/docs/examples/example.php (php-net-ping) != /usr/share/doc/php5-common/PEAR/Net_Ping/docs/examples/example.php (?)


cheers,

Andreas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: php-net-ping_2.4.5-3.log.gz
Type: application/x-gzip
Size: 8167 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-php-pear/attachments/20130222/b64df247/attachment.bin>


More information about the pkg-php-pear mailing list