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