Your message dated Mon, 19 Aug 2013 10:36:49 +0200
with message-id
<CACz8X-E54eB0+=kjqk9hxpjxcrknafg3rv9youblvcvgywg...@mail.gmail.com>
and subject line Re: Bug#720147: gnunet-server: unhandled symlink to directory
conversion: /usr/share/doc/PACKAGE
has caused the Debian Bug report #720147,
regarding gnunet-server: unhandled symlink to directory conversion:
/usr/share/doc/PACKAGE
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)
--
720147: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=720147
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: gnunet-server
Version: 0.9.3-7
Severity: serious
User: debian...@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:
jessie -> sid
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:
http://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
http://www.debian.org/doc/debian-policy/ch-maintainerscripts.html#s-unpackphase
For switching from a symlink to a directory, the *preinst* script
should do something like this:
DOCDIR=/usr/share/doc/@@PACKAGE@@
if [ -L $DOCDIR ]; then
rm $DOCDIR
fi
>From the attached log (usually somewhere in the middle...):
0m27.0s ERROR: FAIL: silently overwrites files via directory symlinks:
/usr/share/doc/gnunet-server/AUTHORS (gnunet-server) !=
/usr/share/doc/gnunet-common/AUTHORS (gnunet-common)
/usr/share/doc/gnunet-server/README.Debian (gnunet-server) !=
/usr/share/doc/gnunet-common/README.Debian (?)
/usr/share/doc/gnunet-server/README.gz (gnunet-server) !=
/usr/share/doc/gnunet-common/README.gz (gnunet-common)
/usr/share/doc/gnunet-server/README.mysql (gnunet-server) !=
/usr/share/doc/gnunet-common/README.mysql (?)
/usr/share/doc/gnunet-server/README.postgres (gnunet-server) !=
/usr/share/doc/gnunet-common/README.postgres (?)
/usr/share/doc/gnunet-server/changelog.Debian.gz (gnunet-server) !=
/usr/share/doc/gnunet-common/changelog.Debian.gz (gnunet-common)
/usr/share/doc/gnunet-server/changelog.gz (gnunet-server) !=
/usr/share/doc/gnunet-common/changelog.gz (gnunet-common)
/usr/share/doc/gnunet-server/copyright (gnunet-server) !=
/usr/share/doc/gnunet-common/copyright (gnunet-common)
/usr/share/doc/gnunet-server/examples (gnunet-server) !=
/usr/share/doc/gnunet-common/examples (?)
/usr/share/doc/gnunet-server/examples/gnunet-server.preseed (gnunet-server)
!= /usr/share/doc/gnunet-common/examples/gnunet-server.preseed (?)
cheers,
Andreas
gnunet-server_0.9.3-7.log.gz
Description: GNU Zip compressed data
--- End Message ---
--- Begin Message ---
Hi,
I am not sure to understand. You wrote there is an upgrade issue between
Jessie and Sid, but the gnunet package has the same version in Wheezy,
Jessie and Sid... So I am closing this bug.
Indeed I used dh_links for /usr/share/doc for a few months, but it only
landed in Sid and testing, never stable.
Cheers,
Bertrand
2013/8/19 Andreas Beckmann <a...@debian.org>
> Package: gnunet-server
> Version: 0.9.3-7
> Severity: serious
> User: debian...@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:
>
> jessie -> sid
>
> 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:
> http://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
>
> http://www.debian.org/doc/debian-policy/ch-maintainerscripts.html#s-unpackphase
>
> For switching from a symlink to a directory, the *preinst* script
> should do something like this:
>
> DOCDIR=/usr/share/doc/@@PACKAGE@@
>
> if [ -L $DOCDIR ]; then
> rm $DOCDIR
> fi
>
>
> >From the attached log (usually somewhere in the middle...):
>
> 0m27.0s ERROR: FAIL: silently overwrites files via directory symlinks:
> /usr/share/doc/gnunet-server/AUTHORS (gnunet-server) !=
> /usr/share/doc/gnunet-common/AUTHORS (gnunet-common)
> /usr/share/doc/gnunet-server/README.Debian (gnunet-server) !=
> /usr/share/doc/gnunet-common/README.Debian (?)
> /usr/share/doc/gnunet-server/README.gz (gnunet-server) !=
> /usr/share/doc/gnunet-common/README.gz (gnunet-common)
> /usr/share/doc/gnunet-server/README.mysql (gnunet-server) !=
> /usr/share/doc/gnunet-common/README.mysql (?)
> /usr/share/doc/gnunet-server/README.postgres (gnunet-server) !=
> /usr/share/doc/gnunet-common/README.postgres (?)
> /usr/share/doc/gnunet-server/changelog.Debian.gz (gnunet-server) !=
> /usr/share/doc/gnunet-common/changelog.Debian.gz (gnunet-common)
> /usr/share/doc/gnunet-server/changelog.gz (gnunet-server) !=
> /usr/share/doc/gnunet-common/changelog.gz (gnunet-common)
> /usr/share/doc/gnunet-server/copyright (gnunet-server) !=
> /usr/share/doc/gnunet-common/copyright (gnunet-common)
> /usr/share/doc/gnunet-server/examples (gnunet-server) !=
> /usr/share/doc/gnunet-common/examples (?)
> /usr/share/doc/gnunet-server/examples/gnunet-server.preseed
> (gnunet-server) !=
> /usr/share/doc/gnunet-common/examples/gnunet-server.preseed (?)
>
>
> cheers,
>
> Andreas
>
--- End Message ---