Bug#879478: [debhelper-devel] Bug#879478: debhelper: dh_testroot regression: relies on debian/control

2017-10-22 Thread Cyril Brulebois
Hi,

Niels Thykier  (2017-10-22):
> Unfortunately, I cannot even fix this by guarding it with a compat bump
> (because that will die as it cannot find debian/compat).  For now, I
> will have it issue a warning and continue (plus make some assumptions
> about what the d/control file would have contained).  But eventually, I
> will remove that fallback and that *cannot* happen with a compat bump.
> 
> For you, an easy fix appears be to re-arrange the lines:
> 
>   dh_testroot
>   @[ -d ../debian ] || { echo "directory '../debian' [...] }
> 
> Into:
> 
>   @[ -d ../debian ] || { echo "directory '../debian' [...] }
>   cd .. && dh_testroot
> 
> (Only occurs two places AFAICT in the Makefile).  This change would also
> be backwards compatible for you.

FYI (debian-boot@): I've checked after filing this bug report that daily
builds are broken… and that release builds are broken as well, so fixing
the issue by taking this proposed change should work for all use cases.

I've filed #879554 to make sure we don't forget about updating d-i
before debhelper gets updated again. I'll probably double check this
for the next buster alpha release.

> The scope of dh_testroot has changed and I have committed an update of
> the documentation of dh_testroot targeting 10.10.1.  Furthermore, I
> have added a note in debhelper.7 that all debhelper tools must be run
> from the unpacked source root (except where otherwise noted).

ACK.

Also: Thanks for the quick reply.


KiBi.


signature.asc
Description: PGP signature


Bug#879478: [debhelper-devel] Bug#879478: debhelper: dh_testroot regression: relies on debian/control

2017-10-22 Thread Niels Thykier
Cyril Brulebois:
> Package: debhelper
> Version: 10.10
> Severity: serious
> Tags: d-i
> Justification: triggers FTBFS
> 
> [ Please keep both debian-boot@ and myself in the loop, thanks. ]
> 
> Hi,
> 
> debian-installer uses compat 7, a build/ directory, and its daily-build
> script is started from this directory. Makefiles use dh_testroot from
> that directory, and starting with 10.10, the build is broken because of:

Hi Cyril

I am sorry to hear that this broke a build for you.

> [...]
> It seems to me that's due to the getpackages call addition, but I don't
> think it's reasonable for debhelper to break compat 7 this way.

Unfortunately, I cannot even fix this by guarding it with a compat bump
(because that will die as it cannot find debian/compat).  For now, I
will have it issue a warning and continue (plus make some assumptions
about what the d/control file would have contained).  But eventually, I
will remove that fallback and that *cannot* happen with a compat bump.

For you, an easy fix appears be to re-arrange the lines:

dh_testroot
@[ -d ../debian ] || { echo "directory '../debian' [...] }

Into:

@[ -d ../debian ] || { echo "directory '../debian' [...] }
cd .. && dh_testroot

(Only occurs two places AFAICT in the Makefile).  This change would also
be backwards compatible for you.

> Also,
> even if one might object d-i is abusing dh_testroot (or using it
> incorrectly), its documented purpose is:
> | dh_testroot simply checks to see if you are root. If not, it exits
> | with an error. Debian packages must be built as root, though you can
> | use fakeroot(1)
> 
> 
> KiBi.
> [...]

The scope of dh_testroot has changed and I have committed an update of
the documentation of dh_testroot targeting 10.10.1.  Furthermore, I have
added a note in debhelper.7 that all debhelper tools must be run from
the unpacked source root (except where otherwise noted).

Thanks,
~Niels



Bug#879478: debhelper: dh_testroot regression: relies on debian/control

2017-10-21 Thread Cyril Brulebois
Package: debhelper
Version: 10.10
Severity: serious
Tags: d-i
Justification: triggers FTBFS

[ Please keep both debian-boot@ and myself in the loop, thanks. ]

Hi,

debian-installer uses compat 7, a build/ directory, and its daily-build
script is started from this directory. Makefiles use dh_testroot from
that directory, and starting with 10.10, the build is broken because of:
| dh_testroot: "debian/control" not found. Are you sure you are in the correct 
directory?

The changes were obvious since 10.9.2 (known good), but I've confirmed
anyway (through bisection) that it's caused by:
| commit 087be1a300581b989aa38227693a8a6f112408f9 (refs/bisect/bad)
| Author: Niels Thykier 
| Date:   Sat Sep 16 14:51:53 2017 +
| 
| Add minimal R³ support for debhelper
| 
| Signed-off-by: Niels Thykier 

It seems to me that's due to the getpackages call addition, but I don't
think it's reasonable for debhelper to break compat 7 this way. Also,
even if one might object d-i is abusing dh_testroot (or using it
incorrectly), its documented purpose is:
| dh_testroot simply checks to see if you are root. If not, it exits
| with an error. Debian packages must be built as root, though you can
| use fakeroot(1)


KiBi.