Bug#522827: perl: policy violation with the current /usr/share/doc symlinks
Niko Tyni
ntyni at debian.org
Mon Apr 6 19:45:42 UTC 2009
Package: perl
Version: 5.10.0-19
Severity: important
As revealed by lintian, shipping /usr/share/doc/perl/copyright
in perl-base and symlinking /usr/share/doc/perl-base -> perl
is a policy violation. Quoting the policy:
http://www.debian.org/doc/debian-policy/ch-docs.html#s-copyrightfile
Every package must be accompanied by a verbatim copy
of its copyright and distribution license in the file
/usr/share/doc/package/copyright. This file must neither be compressed
nor be a symbolic link.
[...]
/usr/share/doc/package may be a symbolic link to another directory in
/usr/share/doc only if the two packages both come from the same source
and the first package Depends on the second. These rules are important
because copyrights must be extractable by mechanical means.
http://www.debian.org/doc/debian-policy/ch-docs.html#s-changelogs
Packages that are not Debian-native must contain a compressed
copy of the debian/changelog file from the Debian source tree in
/usr/share/doc/package with the name changelog.Debian.gz.
Is there a historical reason for the current setup or is it just cosmetics?
It's not causing any problems AFAIK, but I suppose we can't just ignore policy
here.
For reference, the current state is broadly
perl-base /usr/share/doc/perl-base -> perl
perl-base /usr/share/doc/perl/copyright
perl-base /usr/share/doc/perl/changelog.Debian.gz
perl-base /usr/share/doc/perl/Documentation (and others in perl/)
perl-modules /usr/share/doc/perl-modules -> perl
perl /usr/share/doc/perl/Changes.gz (and others in perl/)
perl-doc /usr/share/doc/perl-doc -> perl
perl-doc /usr/share/doc/perl/Changes5.000.gz (and others in perl/)
giving justified lintian errors
E: perl-base: usr-share-doc-symlink-without-dependency perl
E: perl: no-copyright-file
E: perl: debian-changelog-file-missing-or-wrong-name
The best fix I can see is something like
perl-base /usr/share/doc/perl-base/copyright
perl-base /usr/share/doc/perl-base/changelog.Debian.gz
perl-base /usr/share/doc/perl/Documentation (and others in perl/)
perl /usr/share/doc/perl/copyright
perl /usr/share/doc/perl/changelog.Debian.gz
perl /usr/share/doc/perl/Changes.gz (and others in perl/)
perl-modules /usr/share/doc/perl-modules -> perl
perl-doc /usr/share/doc/perl-doc -> perl
perl-doc /usr/share/doc/perl/Changes5.000.gz (and others in perl/)
which would duplicate the copyright information and changelog.Debian.gz
between perl and perl-base.
Possibly, changelog.Debian.gz (but not copyright, as per the policy
snippet above) could even be symlinked from perl to perl-base if we can
rule out any possibility of a symlink loop with partial upgrades. The
35 kilobytes that Emdebian will strip anyway may not be worth the
complication.
The new perl package would need a
Replaces: perl-base (<= 5.10.0-19)
but I can't see any other obvious upgrade gotchas.
More eyeballs are certainly be welcome.
--
Niko Tyni ntyni at debian.org
More information about the Perl-maintainers
mailing list