[multiarch] pod2man and patched *.pm files
On Wed, Sep 26, 2012 at 07:57:18PM +0100, Wookey wrote:
> +++ Niko Tyni [2012-09-21 22:13 +0300]:
> > I've pushed the current state on the 'ntyni/multiarch-5.14' branch of
> > git://git.debian.org/perl/perl.git
> The perl package contains /usr/share/man/man1/prename.1.gz which has
> the build date in it on line 127. If you happen to build two different
> arches on different days then these files cease to be identical so
> dpkg refuses to install perl:amd64 and perl:armhf side-by side.
Ah, good catch. The file is copied from debian/rename during the build,
so its timestamp will indeed vary. This can be fixed easily: debian/rules
runs pod2man manually so we can add a '-d' option there.
However, I believe the general issue will also affect any arch:any perl
module package that patches a *.pm file that contains documentation. A
current example would be libxml-parser-perl. Modifying the pod2man
arguments isn't quite as easy in that case.
I suppose a fix would be to manually reset the timestamps of patched files
from debian/rules. This could be done automatically with lsdiff.
It might even make sense to put this in dpkg-source: arguably the
'correct' mtime of a patched file should be based on the sign time of
the latest source version in debian/changelog rather than the build time.
Alternatively, pod2man could be made to look at an environment variable
that would override the file timestamp (but probably shouldn't override
a '-d' option). This would work, but it would override the date for
all manual pages and not only the patched ones. This is probably not
what's desired.
--
Niko Tyni ntyni@debian.org
Reply to: