Hi Lunar,
Just a heads up that lowmem is FTBFS in Jenkins because something in the
dh_buildeb/dpkg-deb interface is creating the -dbgsym packages without a
.udeb extension:
dpkg-deb: building package 'lowmemcheck-dbgsym' in
'../lowmemcheck-dbgsym_1.43_amd64.deb'.
dpkg-deb: building package 'lowmem' in '../lowmem_1.43_all.udeb'.
dpkg-deb: building package 'lowmemcheck' in
'../lowmemcheck_1.43_amd64.udeb'.
dpkg-genbuildinfo >../lowmem_1.43_amd64.buildinfo
dpkg-genbuildinfo: error: cannot fstat file
../lowmemcheck-dbgsym_1.43_amd64.udeb: No such file or directory
dpkg-buildpackage: error: dpkg-genbuildinfo
>../lowmem_1.43_amd64.buildinfo gave error exit status 2
debian/files is:
lowmem_1.43_all.udeb debian-installer optional
lowmem_1.43_amd64.buildinfo debian-installer optional
lowmemcheck-dbgsym_1.43_amd64.udeb debugsym extra
^^^^^^^^^^^^^^^^^^^^^^^
lowmemcheck_1.43_amd64.udeb debian-installer optional
I can paper over it with the attached patch but:
* Is this specific to us? ie. because we are using some random Git
version of debhelper?
* Is this specific to dpkg-genbuildinfo? I don't think so given that
debian/files and the filename itself is already out of sync by the time
we are called.
* I'm guessing the target filename should be .udeb (otherwise the debug
symbols are uninstallable with d-i) rather than fixing it by always
making debug symbol packages with .deb.
* (Should we even be building ddeb's for udebs? Does d-i have the rest
of the mechanism to make this remotely useful?)
Just to clarify, attached patch merely to concisely show the problem. I
mean, we should not be doing the filename calculation here (!) - I guess
dpkg-deb should be. But at *that* point it doesn't know to create a udeb
vs. deb, etc.
Anyway, just letting you know. Feel free to forward to the Debhelper
Maintainers list <[email protected]> or the BTS if
this is really an upstream issue, I'm afraid I just don't know enough
about the debug package proposal.
[0] https://reproducible.debian.net/rb-pkg/unstable/amd64/lowmem.html
Regards,
--
,''`.
: :' : Chris Lamb
`. `'` [email protected] / chris-lamb.co.uk
`-
diff --git a/Debian/Debhelper/Dh_Lib.pm b/Debian/Debhelper/Dh_Lib.pm
index 348144e..cd5f8dd 100644
--- a/Debian/Debhelper/Dh_Lib.pm
+++ b/Debian/Debhelper/Dh_Lib.pm
@@ -23,6 +23,7 @@ use vars qw(@EXPORT %dh);
&cross_command &set_buildflags &get_buildoption
&install_dh_config_file &error_exitcode &package_multiarch
&install_file &install_prog &install_lib &install_dir
+ &ddeb_filename
);
my $max_compat=10;
@@ -982,6 +983,13 @@ sub udeb_filename {
return _xdeb_filename($package, 'udeb');
}
+# Generates the target that is used for a ddeb package.
+sub ddeb_target {
+ my ($package, $ext) = @_;
+
+ return _xdeb_filename($package, $ext, $package."-dbgsym");
+}
+
# Handles #DEBHELPER# substitution in a script; also can generate a new
# script from scratch if none exists but there is a .debhelper file for it.
sub debhelper_script_subst {
diff --git a/dh_builddeb b/dh_builddeb
index e36f0a3..e673a74 100755
--- a/dh_builddeb
+++ b/dh_builddeb
@@ -128,8 +128,10 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
# the ddeb.
my @args = default_compressor_args(["-z1", "-Zxz",
"-Sextreme"],
@{$dh{U_PARAMS}});
+ my $target = $dh{DESTDIR}."/".
+ ddeb_filename($package, is_udeb($package) ?
"udeb" : "deb");
doit("dpkg-deb", @args,
- "--build", $ddeb_tmpdir, $dh{DESTDIR});
+ "--build", $ddeb_tmpdir, $target);
} else {
warning("Not building ddeb for ${package} as it has no
control file");
warning("Please use dh_gencontrol to avoid this issue");
_______________________________________________
Reproducible-builds mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds