Bug#945961: xz-utils: FTBFS: cannot stat 'debian/tmp/usr/lib/x86_64-linux-gnu/liblzma.so.*'

2020-04-20 Thread Tiago Daitx
On Thu, 9 Apr 2020 16:35:13 +0200 Sebastian Andrzej Siewior
 wrote:
> I suggested already something in [0]. Back then we were hoping for some
> feedback from the debhelper team.
> Now I was just asking if Jonathan is handling this and/or if we could
> also bump to current upstream version while at it.
>
> [0] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=945961#10

As Dimitri pointed out we have also been affected by this but in
Ubuntu - we found it out recently when doing archive rebuilds on
Focal. The proposed fix in #10 does workaround the issue and it is not
necessary to change the build-arch rules as Dimitri suggested.

I do wonder if this is in fact a regression in debhelper. I tracked it
down to debhelper 12.4 to 12.5 and while I haven't been able to
pinpoint exactly what particular change there is causing it I believe
it is in how double colon rules are being interpreted. It seems the
debhelper changes somehow fail to detect the build-arch rules.

Unless someone knows enough perl to dig into debhelper changes between
12.4 and 12.5 and check if that is in fact a regression, I would
suggest to simply apply the proposed change in comment #10.

Thanks for your help =)

Tiago Daitx



Bug#945961: xz-utils: FTBFS: cannot stat 'debian/tmp/usr/lib/x86_64-linux-gnu/liblzma.so.*'

2020-04-09 Thread Sebastian Andrzej Siewior
On 2020-04-09 14:32:07 [+0100], Dimitri John Ledkov wrote:
> Here is the debdiff that makes everything work for me.
> 
> It smells like a subtle breakage in detecting/parsing makefile
> targets, or like make regression.
> 
> It is still odd, i.e. there is build target, then binary target, which
> then via dependencies calls binary-arch & binary-all. So not sure if
> the results are correct or not.

I suggested already something in [0]. Back then we were hoping for some
feedback from the debhelper team.
Now I was just asking if Jonathan is handling this and/or if we could
also bump to current upstream version while at it.

[0] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=945961#10

Sebastian



Bug#945961: xz-utils: FTBFS: cannot stat 'debian/tmp/usr/lib/x86_64-linux-gnu/liblzma.so.*'

2020-04-09 Thread Dimitri John Ledkov
On Sat, 4 Apr 2020 22:07:52 +0200 Sebastian Andrzej Siewior
 wrote:
> On 2019-12-03 20:18:20 [-0800], Jonathan Nieder wrote:
> > Hi,
> Hi,
>
> > Let's track down the cause first, before pursuing workarounds.
>
> Nothing happened here so far and I almost forgot about it. xz 5.2.5 has
> been released in the meantime. Do you want me to help you out in anyway?
> I could add the fix I suggested and prepare the new release.
>


Here is the debdiff that makes everything work for me.

It smells like a subtle breakage in detecting/parsing makefile
targets, or like make regression.

It is still odd, i.e. there is build target, then binary target, which
then via dependencies calls binary-arch & binary-all. So not sure if
the results are correct or not.
diff -Nru xz-utils-5.2.4/debian/changelog xz-utils-5.2.4/debian/changelog
--- xz-utils-5.2.4/debian/changelog	2019-01-28 01:09:34.0 +
+++ xz-utils-5.2.4/debian/changelog	2020-04-09 14:13:56.0 +0100
@@ -1,3 +1,10 @@
+xz-utils (5.2.4-1.1) unreleased; urgency=medium
+
+  * Non-maintainer upload.
+  * Fix FTBFS due to odd targets in debian/rules. Closes: #945961
+
+ -- Dimitri John Ledkov   Thu, 09 Apr 2020 14:13:56 +0100
+
 xz-utils (5.2.4-1) unstable; urgency=low
 
   * New upstream release.  Closes: #851615.
diff -Nru xz-utils-5.2.4/debian/rules xz-utils-5.2.4/debian/rules
--- xz-utils-5.2.4/debian/rules	2019-01-28 01:07:43.0 +
+++ xz-utils-5.2.4/debian/rules	2020-04-09 14:11:01.0 +0100
@@ -1,10 +1,10 @@
 #!/usr/bin/make -f
 
-build clean install binary-arch binary-indep binary:
+%:
 	+dh $@ --parallel $(opt_no_act)
 
 # Runs tests, too, if and only if nocheck is unset (see below).
-build-arch:: build-plain build-static build-small
+build-arch: build-plain build-static build-small
 
 build-indep: debian/normal-build/Makefile
 	cd debian/normal-build && doxygen Doxyfile
@@ -133,9 +133,9 @@
 endif
 
 ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
-build-arch:: debian/test-plain-stamp
-build-arch:: debian/test-static-stamp
-build-arch:: debian/test-xzdec-stamp
+build-arch: debian/test-plain-stamp
+build-arch: debian/test-static-stamp
+build-arch: debian/test-xzdec-stamp
 endif
 
 # Build a tarball with the latest upstream version.


Bug#945961: xz-utils: FTBFS: cannot stat 'debian/tmp/usr/lib/x86_64-linux-gnu/liblzma.so.*'

2020-04-04 Thread Sebastian Andrzej Siewior
On 2019-12-03 20:18:20 [-0800], Jonathan Nieder wrote:
> Hi,
Hi,

> Let's track down the cause first, before pursuing workarounds.

Nothing happened here so far and I almost forgot about it. xz 5.2.5 has
been released in the meantime. Do you want me to help you out in anyway?
I could add the fix I suggested and prepare the new release.

> Thanks much,
> Jonathan

Sebastian



Bug#945961: xz-utils: FTBFS: cannot stat 'debian/tmp/usr/lib/x86_64-linux-gnu/liblzma.so.*'

2020-01-30 Thread Vagrant Cascadian
Noticed that I can successfully build arch:all OR arch:any, but not
arch:all AND arch:any when building with sbuild.

Fails, building both arch:all and arch:any in one pass (which I think is
the default for pbuilder?):

 sbuild -d UNRELEASED -c sid --no-source --arch-any --arch-all 
xz-utils_5.2.4-1.dsc

Succeeds, building arch:all only:

 sbuild -d UNRELEASED -c sid --no-source --no-arch-any --arch-all 
xz-utils_5.2.4-1.dsc

Succeeds, building arch:any only:

 sbuild -d UNRELEASED -c sid --no-source --arch-any --no-arch-all 
xz-utils_5.2.4-1.dsc


That would explain why it works on the buildd's but not with pbuilder or
with the reproducible builds infrastructure (which also uses pbuilder
with a all+any build, usually).


At some point, it would be nice to systematically test these types of
issues as part of the reproducible builds infrastructure, but that is
probably a ways off...


live well,
  vagrant


signature.asc
Description: PGP signature


Bug#945961: xz-utils: FTBFS: cannot stat 'debian/tmp/usr/lib/x86_64-linux-gnu/liblzma.so.*'

2019-12-03 Thread Thorsten Glaser
Sebastian Andrzej Siewior dixit:

>| build clean install binary-arch binary-indep binary:

AFAIK, dh7-style does not know an “install” target at all,
but build-{arch,indep} are missing in that list.

bye,
//mirabilos
-- 
11:56⎜«liwakura:#!/bin/mksh» also, i wanted to add mksh to my own distro │
i was disappointed that there is no makefile │ but somehow the Build.sh is
the least painful built system i've ever seen │ honours CC, {CPP,C,LD}FLAGS
properly │ looks cleary like done by someone who knows what they are doing



Bug#945961: xz-utils: FTBFS: cannot stat 'debian/tmp/usr/lib/x86_64-linux-gnu/liblzma.so.*'

2019-12-03 Thread Jonathan Nieder
Hi,

Sebastian Andrzej Siewior wrote:

> I don't know what changed but I think it is debhelper. We have now:
>
> |(sid)bigeasy@debbuildd:~/xz/1/xz-utils-5.2.4$ dh binary --no-act
> |   debian/rules install
> |   dh_installdeb
> |   dh_gencontrol
> |   dh_md5sums
> |   dh_builddeb
>
> and that "debian/rules build" gets inlined we skip to install. This was
> once
>
> |(buster)bigeasy@debbuildd:~/xz/1/xz-utils-5.2.4$ dh binary --no-act
> |   debian/rules install
> |   debian/rules binary-arch
> |   debian/rules binary-indep
>
> The install rule used to expand to other targets, to build the package
> but not anymore.

Good sleuthing.  If someone has time to bisect to find the problematic
debhelper change, that would be helpful.

I can easily believe there is an intentional change involved, but I
don't think this is intentional when trying to build an existing
package without bumping the compat version.

Thus:

[...]
> xz has this line in its rule file:
>
> | #!/usr/bin/make -f
> |
> | build clean install binary-arch binary-indep binary:
> | +dh $@ --parallel $(opt_no_act)
>
> and if I replace it with
> | #!/usr/bin/make -f
> |
> | %:
> | dh $@ --parallel $(opt_no_act)
>
> then it builds again.
>
> Should the rules be adjusted for xz?

Let's track down the cause first, before pursuing workarounds.

Thanks much,
Jonathan



Bug#945961: xz-utils: FTBFS: cannot stat 'debian/tmp/usr/lib/x86_64-linux-gnu/liblzma.so.*'

2019-12-03 Thread Sebastian Andrzej Siewior
On 2019-12-01 11:35:08 [-0800], Daniel Schepler wrote:
> ...
>  debian/rules build
> dh build --parallel
>dh_update_autotools_config -O--parallel
>dh_auto_configure -O--parallel
>dh_auto_build -O--parallel
>dh_auto_test -O--parallel
>  fakeroot debian/rules binary
> dh binary --parallel
>debian/rules install
> make[1]: Entering directory '/build/xz-utils-5.2.4'
> dh install --parallel
>debian/rules build
> make[2]: Entering directory '/build/xz-utils-5.2.4'
> dh build --parallel
> make[2]: Leaving directory '/build/xz-utils-5.2.4'
>dh_testroot -O--parallel
>dh_prep -O--parallel
>debian/rules override_dh_auto_install
> make[2]: Entering directory '/build/xz-utils-5.2.4'
> dh_auto_install --builddirectory debian/xzdec-build
> dh_auto_install --builddirectory debian/normal-build
> dh_auto_install --builddirectory debian/static-build

I don't know what changed but I think it is debhelper. We have now:
|(sid)bigeasy@debbuildd:~/xz/1/xz-utils-5.2.4$ dh binary --no-act
|   debian/rules install
|   dh_installdeb
|   dh_gencontrol
|   dh_md5sums
|   dh_builddeb

and that "debian/rules build" gets inlined we skip to install. This was
once
|(buster)bigeasy@debbuildd:~/xz/1/xz-utils-5.2.4$ dh binary --no-act
|   debian/rules install
|   debian/rules binary-arch
|   debian/rules binary-indep

The install rule used to expand to other targets, to build the package
but not anymore. If I use sid and downgrade to debhelper 12.5.3 then it
still expands the same way. Buhhh.
According to the overview in

https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/xz-utils.html

it FTBFS in bullseye on AMD64 but succeeds on ARM64. The build on ARM64
is from "2019-08-20 11:36:00 UTC" while the ADM64 is from "at 2019-11-26
05:14:00 UTC" so something might not migrated yet.
Anyway.
xz has this line in its rule file:

| #!/usr/bin/make -f
| 
| build clean install binary-arch binary-indep binary:
| +dh $@ --parallel $(opt_no_act)

and if I replace it with
| #!/usr/bin/make -f
|  
| %:
| dh $@ --parallel $(opt_no_act)

then it builds again.

Should the rules be adjusted for xz?

Sebastian



Bug#945961: xz-utils: FTBFS: cannot stat 'debian/tmp/usr/lib/x86_64-linux-gnu/liblzma.so.*'

2019-12-01 Thread Daniel Schepler
Source: xz-utils
Version: 5.2.4-1
Severity: serious

>From my pbuilder build log:

...
 debian/rules build
dh build --parallel
   dh_update_autotools_config -O--parallel
   dh_auto_configure -O--parallel
   dh_auto_build -O--parallel
   dh_auto_test -O--parallel
 fakeroot debian/rules binary
dh binary --parallel
   debian/rules install
make[1]: Entering directory '/build/xz-utils-5.2.4'
dh install --parallel
   debian/rules build
make[2]: Entering directory '/build/xz-utils-5.2.4'
dh build --parallel
make[2]: Leaving directory '/build/xz-utils-5.2.4'
   dh_testroot -O--parallel
   dh_prep -O--parallel
   debian/rules override_dh_auto_install
make[2]: Entering directory '/build/xz-utils-5.2.4'
dh_auto_install --builddirectory debian/xzdec-build
dh_auto_install --builddirectory debian/normal-build
dh_auto_install --builddirectory debian/static-build
set -e; arch=$(dpkg-architecture -qDEB_HOST_MULTIARCH); \
install -d debian/tmp/lib/$arch; \
mv debian/tmp/usr/lib/$arch/liblzma.so.* debian/tmp/lib/$arch/; \
dso=$(basename $(readlink debian/tmp/usr/lib/$arch/liblzma.so)); \
ln -s -f /lib/$arch/$dso debian/tmp/usr/lib/$arch/liblzma.so
mv: cannot stat 'debian/tmp/usr/lib/x86_64-linux-gnu/liblzma.so.*': No
such file or directory
make[2]: *** [debian/rules:34: override_dh_auto_install] Error 1
make[2]: Leaving directory '/build/xz-utils-5.2.4'
make[1]: *** [debian/rules:4: install] Error 2
make[1]: Leaving directory '/build/xz-utils-5.2.4'
make: *** [debian/rules:4: binary] Error 2
dpkg-buildpackage: error: fakeroot debian/rules binary subprocess
returned exit status 2
-- 
Daniel Schepler