Bug#806186: gcc-5: new parallel packaging code makes DEB_STAGE=rtlibs fail
Source: gcc-5
Version: 5.2.1-24
Tags: patch
User: helmutg@debian.org
Usertags: rebootstrap
Hi Matthias,
The new parallel code makes DEB_STAGE=rtlibs fail. Close to the end of
the build, I see Invocations like "dh_gencontrol -p. ...". Debhelper
doesn't like "." as a package name. I believe that the culprit here is
the new parallel code, in particular the sorting of architecture
dependent packages:
du -s `cat arch_binaries` | sort -nr | awk '{print $$2}' > arch_binaries.tmp
When we build DEB_STAGE=rtlibs, arch_binaries ends up being empty. Now
du is run with just -s and du just counts the current directory. I
suggest replacing the backticks with xargs -r to not run du at all in
the absense of any arch_binaries. You can find a patch that does just
that attached. Hope it helps.
Helmut
--- a/debian/rules2
+++ b/debian/rules2
@@ -2393,7 +2393,7 @@
# ----------------------------------------------------------------------
# Build architecture-dependent files here.
debian/arch_binaries.all: $(foreach i,$(arch_binaries),$(binary_stamp)-$(i))
- cd debian; du -s `cat arch_binaries` | sort -nr | awk '{print $$2}' \
+ cd debian; xargs -r du -s < arch_binaries | sort -nr | awk '{print $$2}' \
> arch_binaries.tmp
mv debian/arch_binaries.tmp debian/arch_binaries
sed -i 's/ /\n/g' debian/arch_binaries.epoch || touch debian/arch_binaries.epoch
Reply to: