Re: lintian .packlist warning and debian/rules modification
On Sun, Sep 09, 2007 at 07:40:28PM +0200, Jeremiah Foster wrote:
> I ran debuilder with lintian and received this output (amongst other
> messages)
>
> E: libhtml-treebuilder-xpath-perl: package-installs-packlist
> usr/lib/perl5/auto/HTML/TreeBuilder/XPath/.packlist
> N:
> N: Packages built using the perl MakeMaker package will have a file named
> N: .packlist in them. Those files are useless, and (in some cases) have
> N: the additional problem of creating an architecture-specific directory
> N: name in an architecture-independent package.
> N:
> N: They can be suppressed by adding the following to debian/rules:
> N:
> N: find debian/tmp -type f -name .packlist | xargs rm -f
> N:
> N: -find debian/tmp/usr/lib/perl5 -type d -empty | xargs rmdir -p
> N:
> N: Or by telling MakeMaker to use vendor install dirs; consult a recent
> N: version of perl policy. Perl 5.6.0-12 or higher supports this.
> Below is an example of the output I would receive:
>
> <snip>
>
> find debian/tmp -type f -name .packlist | xargs -r rm -f
> find: debian/tmp: No such file or directory
> find debian/tmp -type d -empty | xargs -r rmdir -p
> find: debian/tmp: No such file or directory
>
> <snip>
>
> What I did to finally get rid of this error was to change the command to
> this:
>
> # remove .packlist files inserted by MakeMaker
> find . -type f -name .packlist | xargs -r rm -f
> I changed the directories find looks in because of the error message from
> find saying: "No such file or directory" even though the .packlist file
> existed. (I think that the directory debian/tmp was not being created.)
Hi,
The debhelper tools (dh_install) used to use debian/tmp but now
(depending on DH_COMPAT) use debian/$package. So this is a small-ish
lintian bug.
You should probably do find ./debian/ instead of find . to avoid
removing files from ./ except from ./debian/.. since a strict reading
of policy requires that after the "clean" rule is run you have to end
up in the same state as immediately after dpkg -x $dsc.
Justin
Reply to: