Bug#891664: /usr/bin/mk-build-deps: [mk-build-deps] Doesn't honor Build-Depends-Arch

Uwe Kleine-König ukleinek at debian.org
Tue Feb 27 20:24:55 UTC 2018


Package: devscripts
Version: 2.17.12
Severity: normal
File: /usr/bin/mk-build-deps

Hello,

after

	$ mk-build-deps -ris sudo linux

I have:

	~$ dpkg -s linux-build-deps
	Package: linux-build-deps
	Status: install ok installed
	Priority: optional
	Section: devel
	Installed-Size: 9
	Maintainer: Uwe Kleine-König <ukleinek at debian.org>
	Architecture: all
	Multi-Arch: foreign
	Version: 4.15.4-1
	Depends: build-essential:amd64, debhelper (>= 10.1~), dh-exec, python3:any, quilt, cpio, xz-utils, dh-python, patchutils, graphviz, python-sphinx, python-sphinx-rtd-theme
	Description: build-dependencies for linux
	 Dependency package to build the 'linux' package

This however isn't sufficient to build the linux package:

	~/debsrc/linux$ dpkg-buildpackage 
	dpkg-buildpackage: info: source package linux
	dpkg-buildpackage: info: source version 4.15.4-2
	dpkg-buildpackage: info: source distribution UNRELEASED
	dpkg-buildpackage: info: source changed by Uwe Kleine-König <ukleinek at debian.org>
	dpkg-buildpackage: info: host architecture amd64
	 dpkg-source --before-build linux
	dpkg-source: info: using options from linux/debian/source/local-options: --abort-on-upstream-changes
	dpkg-source: info: using options from linux/debian/source/options: --compression=xz --tar-ignore=debian/*.local
	dpkg-checkbuilddeps: error: Unmet build dependencies: asciidoc-base xmlto libaudit-dev libbabeltrace-dev (>= 1.5.0) libbabeltrace-dev (>= 1.5.3-2~) | libbabeltrace-ctf-dev (>= 1.5.0) libdw-dev libelf-dev libiberty-dev libnewt-dev libnuma-dev libperl-dev libunwind8-dev libudev-dev libwrap0-dev libpci-dev
	dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting
	dpkg-buildpackage: warning: (Use -d flag to override.)

The problem is that mk-build-deps didn't pick up the packages listed in
Build-Depends-Arch:, only those from Build-Depends (and optionally
Build-Depends-Indep).

The following patch helped me, but I don't dare to tag this bug with "patch" as
I'm not confident enough in my perl and debian-package skills. Also I think
mk-build-deps should also handle Build-Conflicts-Indep.

Best regards
Uwe

diff --git a/scripts/mk-build-deps.pl b/scripts/mk-build-deps.pl
index 261238975699..a0ab11113fd7 100755
--- a/scripts/mk-build-deps.pl
+++ b/scripts/mk-build-deps.pl
@@ -275,7 +275,7 @@ while ($control = shift) {
 	}
 	my $args = '';
 	my $arch = 'all';
-	my ($build_deps, $build_dep, $build_indep);
+	my ($build_deps, $build_dep, $build_arch, $build_indep);
 	my ($build_conflicts, $conflict_arch, $conflict_indep);
 
 	if (exists $ctrl->{'Build-Depends'}) {
@@ -283,6 +283,14 @@ while ($control = shift) {
 	    $build_dep =~ s/\n/ /g;
 	    $build_deps = $build_dep;
 	}
+	if (exists $ctrl->{'Build-Depends-Arch'}) {
+	    $build_arch = $ctrl->{'Build-Depends-Arch'};
+	    $build_arch =~ s/\n/ /g;
+	    $build_dep .= ', ' if $build_dep;
+	    $build_dep .= $build_arch;
+	    $build_deps .= ', ' if $build_deps;
+	    $build_deps .= $build_arch;
+	}
 	if (exists $ctrl->{'Build-Depends-Indep'}) {
 	    $build_indep = $ctrl->{'Build-Depends-Indep'};
 	    $build_indep =~ s/\n/ /g;


More information about the devscripts-devel mailing list