Bug#925136: help2man: FTBFS in unstable (dh_clean fails)

2019-03-22 Thread Brendan O'Dea
On Fri, Mar 22, 2019 at 05:42:37PM +0100, Sven Joachim wrote:
>On 2019-03-21 20:45 +1100, Brendan O'Dea wrote:
>> I suspect that it is related to reproducible builds, [...]
>There has indeed been such a change in dpkg-source:
>
>,
>| - Generate reproducible source tarballs by using the new GNU tar
>|   --clamp-mtime option in Dpkg::Source::Archive, to make sure no file
>|   in source packages has an mtime later than the changelog entry time.
>`
>
>However, that was in version 1.18.10, uploaded July 2016.
>
>It seems that in previous versions of help2man help2man.PL was older
>than debian/changelog, so you did not hit the problem.

Ah thanks.  I assumed that this was more recent.  Looking at some previous
source packages, the max date is indeed clamped, but it just so happened that
I updated the version in help2man.PL before making the changelog entry so
didn't trip over this.

Incidentally, I'm slightly puzzled at this behaviour for native packages.
Under what circumstances would the source tar ball for a released package be
re-built without changing the version?

>> I'll try to find a way to revise this check that will be more robust to this
>> kind of timestamp modification.  Somewhat annoyingly, the "test" builtin has
>> -nt and -ot options, but no way to test that timestamps are newer or equal 
>> (or
>> even just equal).
>
>A negated test with the -ot option might help:
>
>   ! test README -ot help2man.PL # maintainer sanity check

Thanks, good suggestion but rather ungainly.  I've cooked up a different
solution for the next release which doens't depend on the mtimes.

--bod



Bug#925136: help2man: FTBFS in unstable (dh_clean fails)

2019-03-22 Thread Sven Joachim
On 2019-03-21 20:45 +1100, Brendan O'Dea wrote:

> On Wed, Mar 20, 2019 at 10:21:39AM +0100, Gianfranco Costamagna wrote:
>>Looks like README needs a newer timestamp wrt help2man.PL file?
> [...]
>>dpkg-buildpackage: info: host architecture amd64
>> fakeroot debian/rules clean
>>test README -nt help2man.PL  # maintainer sanity check
>>make: *** [debian/rules:40: clean] Error 1
>
> Well this is odd, it seems that there has been a change in dpkg-source which
> breaks this particular sanity check (intended to ensure that I've run the
> maint-prep step since updating the version in help2man.PL).
>
> I suspect that it is related to reproducible builds, since the timestamps that
> ended up in the tarball have been changed to the changlog timestamp (in fact
> there are no files in the tarball with later dates).

There has indeed been such a change in dpkg-source:

,
| - Generate reproducible source tarballs by using the new GNU tar
|   --clamp-mtime option in Dpkg::Source::Archive, to make sure no file
|   in source packages has an mtime later than the changelog entry time.
`

However, that was in version 1.18.10, uploaded July 2016.

It seems that in previous versions of help2man help2man.PL was older
than debian/changelog, so you did not hit the problem.

>  ~/debian/help2man-1.47.9 $ ls -l README help2man.PL
>  -rw-r--r--   1 bodbod   540 2019-03-18 19:16 README
>  -rwxr-xr-x   1 bodbod 23166 2019-03-18 19:13 help2man.PL
>  ~/debian/help2man-1.47.9 $ tar tvJf ../help2man-1.47.9.tar.xz 
> help2man-1.47.9/README help2man-1.47.9/help2man.PL
>  -rw-r--r-- 0/0 540 2019-03-18 19:10 help2man-1.47.9/README
>  -rwxr-xr-x 0/0   23166 2019-03-18 19:10 help2man-1.47.9/help2man.PL
>  ~/debian/help2man-1.47.9 $ dpkg-parsechangelog -S Date
>  Mon, 18 Mar 2019 19:10:35 +1100
>
> I'll try to find a way to revise this check that will be more robust to this
> kind of timestamp modification.  Somewhat annoyingly, the "test" builtin has
> -nt and -ot options, but no way to test that timestamps are newer or equal (or
> even just equal).

A negated test with the -ot option might help:

! test README -ot help2man.PL # maintainer sanity check

Cheers,
   Sven



Bug#925136: help2man: FTBFS in unstable (dh_clean fails)

2019-03-21 Thread Brendan O'Dea
On Wed, Mar 20, 2019 at 10:21:39AM +0100, Gianfranco Costamagna wrote:
>Looks like README needs a newer timestamp wrt help2man.PL file?
[...]
>dpkg-buildpackage: info: host architecture amd64
> fakeroot debian/rules clean
>test README -nt help2man.PL  # maintainer sanity check
>make: *** [debian/rules:40: clean] Error 1

Well this is odd, it seems that there has been a change in dpkg-source which
breaks this particular sanity check (intended to ensure that I've run the
maint-prep step since updating the version in help2man.PL).

I suspect that it is related to reproducible builds, since the timestamps that
ended up in the tarball have been changed to the changlog timestamp (in fact
there are no files in the tarball with later dates).

 ~/debian/help2man-1.47.9 $ ls -l README help2man.PL
 -rw-r--r--   1 bodbod   540 2019-03-18 19:16 README
 -rwxr-xr-x   1 bodbod 23166 2019-03-18 19:13 help2man.PL
 ~/debian/help2man-1.47.9 $ tar tvJf ../help2man-1.47.9.tar.xz 
help2man-1.47.9/README help2man-1.47.9/help2man.PL
 -rw-r--r-- 0/0 540 2019-03-18 19:10 help2man-1.47.9/README
 -rwxr-xr-x 0/0   23166 2019-03-18 19:10 help2man-1.47.9/help2man.PL
 ~/debian/help2man-1.47.9 $ dpkg-parsechangelog -S Date
 Mon, 18 Mar 2019 19:10:35 +1100

I'll try to find a way to revise this check that will be more robust to this
kind of timestamp modification.  Somewhat annoyingly, the "test" builtin has
-nt and -ot options, but no way to test that timestamps are newer or equal (or
even just equal).

--bod



Bug#925136: help2man: FTBFS in unstable (dh_clean fails)

2019-03-20 Thread Gianfranco Costamagna
Package: help2man
Version: 1.47.9
Severity: serious

Looks like README needs a newer timestamp wrt help2man.PL file?

APT_CONFIG=/var/lib/sbuild/apt.conf
DEB_BUILD_OPTIONS=parallel=4
HOME=/sbuild-nonexistent
LC_ALL=POSIX
LOGNAME=buildd
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
SCHROOT_ALIAS_NAME=sid-amd64-sbuild
SCHROOT_CHROOT_NAME=sid-amd64-sbuild
SCHROOT_COMMAND=env
SCHROOT_GID=1009
SCHROOT_GROUP=buildd
SCHROOT_SESSION_ID=sid-amd64-sbuild-f190c122-7391-4aaa-be5e-e45efc144c1c
SCHROOT_UID=2952
SCHROOT_USER=buildd
SHELL=/bin/sh
USER=buildd
XDG_RUNTIME_DIR=/run/user/2952
XDG_SESSION_ID=2

dpkg-buildpackage
-

dpkg-buildpackage: info: source package help2man
dpkg-buildpackage: info: source version 1.47.9
dpkg-buildpackage: info: source distribution unstable
 dpkg-source --before-build .
dpkg-buildpackage: info: host architecture amd64
 fakeroot debian/rules clean
test README -nt help2man.PL  # maintainer sanity check
make: *** [debian/rules:40: clean] Error 1
dpkg-buildpackage: error: fakeroot debian/rules clean subprocess returned exit 
status 2

Build finished at 2019-03-18T08:59:52Z

Finished


Gianfranco