On Sat, 7 Jan 2017, Johannes Schauer wrote: > The Built-Using field is for binary packages to indicate that they incorporate > code from other source packages than the source package that the build from.
I see that's the case indeed, but in an indirect way. The package cross-toolchain-base-ports, for example, has this in Build-Depends: binutils-source (>= 2.27.51.20161101-1~), glibc-source (>= 2.24-5~), gcc-6-source (>= 6.2.0-11~), linux-source (>= 4.8), So they incorporate code from other source packages, but only as far as they are distribured in "foo-source"-like packages. This is to be able to build-depend on them. So, the normal build-depends mechanism is used to decide which version need to be installed for the build. > If the package really fails to build from source because you are not > installing > the right package versions or not the right packages, then these are missing > from the Build-Depends-* fields. That's basically what I thought. Matthias, I have built these two packages in stretch again. Now they build ok so I did a diff between old (failed) and new build logs and found this: -if dpkg --compare-versions 6.2.0-13 le 6.2.1-4; then \ +if dpkg --compare-versions 6.2.1-5 le 6.2.1-4; then \ cd gcc; \ patch -p1 < ../debian/patches/gcc/gcc-stage1.diff; \ fi -patching file debian/rules.patch -Hunk #1 FAILED at 151. -Hunk #2 FAILED at 187. -2 out of 2 hunks FAILED -- saving rejects to file debian/rules.patch.rej -debian/rules:213: recipe for target 'stamp-dir/init-gcc' failed -make: *** [stamp-dir/init-gcc] Error 1 -dpkg-buildpackage: error: debian/rules build-indep gave error exit status 2 > The Built-Using header is for binary packages to assure copyright compliance > in > the archive. They are not indicators of the binary packages required to build > a > source package. Again as I thought: Neither I or sbuild is supposed to look at the Built-Using field in the binary packages when trying to rebuild packages for testing purposes. Instead, I suggest Matthias that he just updates the (already versioned) build-depends on the *-source packages in the control file. Then we could avoid filddling with conditional patching in debian/rules, which we all see that it's prone to error. If you are worried of this package propagating to testing before its build-dependencies, I consider that to be a bug in britney and do not usually report it as a bug in the package itself. An error of type "build-dependencies not met" (i.e. "wait-dep" in wannabuild speak) is always better than a tried-then-failed build. Thanks a lot.