Hello. Build profiles is apparently live in the Debian archive now!
We need to get some basic support for building packages that has the profile tags in their control file now.... IMHO just ignoring profiles would be a good enough first step but since Johannes Schauer has already kicked off the work on proper support I'm following his path. I'm attaching a couple of COMPLETELY UNTESTED additional patches to get the ball moving by extending support to -classic as suggested by Thorsten Glaser. (I'm very low on time, will try to look at actually testing them soon.) These builds on top of Johannes Schauers already submitted patches. Anyone with objections should start contributing patches (further improvements or alternative versions) ASAP. This is my declaration of intent to NMU pbuilder as soon as I find time to pursue this further (unless anyone else handles this before I get a chance). Input from people experienced with pbuilder internals appreciated! Regards, Andreas Henriksson
>From a5f573a6cc6b3a1d7ca6a8c46a7d2417cacc6fc8 Mon Sep 17 00:00:00 2001 From: Andreas Henriksson <[email protected]> Date: Thu, 18 Jun 2015 12:42:15 +0200 Subject: [PATCH 3/4] Fix DEB_BUILD_PROFILES quoting Thanks: Michael Stapelberg for spotting this --- pbuilder-satisfydepends-aptitude | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pbuilder-satisfydepends-aptitude b/pbuilder-satisfydepends-aptitude index f96486e..ea24efc 100755 --- a/pbuilder-satisfydepends-aptitude +++ b/pbuilder-satisfydepends-aptitude @@ -34,9 +34,9 @@ function checkbuilddep_internal () { local CONFLICTS echo " -> Attempting to satisfy build-dependencies" DEPENDS="$(get_build_deps | filter_arch_deps "$ARCH" | - filter_restriction_deps \"$DEB_BUILD_PROFILES\" )" + filter_restriction_deps "$DEB_BUILD_PROFILES" )" CONFLICTS="$(get_build_conflicts | filter_arch_deps "$ARCH" | - filter_restriction_deps \"$DEB_BUILD_PROFILES\" )" + filter_restriction_deps "$DEB_BUILD_PROFILES" )" echo " -> Creating pbuilder-satisfydepends-dummy package" BUILD_DEP_DEB_DIR="/tmp/satisfydepends-aptitude" BUILD_DEP_DEB_CONTROL="$BUILD_DEP_DEB_DIR/pbuilder-satisfydepends-dummy/DEBIAN/control" -- 2.1.4
>From 7d9b8fa7041f3dd59d87fdd6919103de5a9506d2 Mon Sep 17 00:00:00 2001 From: Andreas Henriksson <[email protected]> Date: Thu, 18 Jun 2015 12:43:53 +0200 Subject: [PATCH 4/4] Support build-profiles in classic satisfydeps --- pbuilder-satisfydepends-classic | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/pbuilder-satisfydepends-classic b/pbuilder-satisfydepends-classic index 12d3107..81a9f37 100755 --- a/pbuilder-satisfydepends-classic +++ b/pbuilder-satisfydepends-classic @@ -45,7 +45,7 @@ split_alternates() { # architecture or version specifier; e.g. "/foo/(>=/2)/[i386/amd64]" becomes # "foo" get_pkg_name() { - echo "$*" | sed 's#^/*##; s#[[/(].*##' + echo "$*" | sed 's#^/*##; s#[[/(].*##; s#<!.*>##' } # filter operator and version of a "/" escaped versioned build-dep; e.g. @@ -81,6 +81,13 @@ checkbuilddep_internal() { continue fi fi + if echo "$INSTALLPKG" | grep -q '<!'; then + if checkbuilddep_restrictiondeps "$INSTALLPKG" "$DEB_BUILD_PROFILES"; then + SATISFIED="yes" + echo " -> This package is not for the current build profiles" + continue + fi + fi if echo "$INSTALLPKG" | grep -q '('; then #echo "Debug: $INSTALLPKG" if ! checkbuilddep_versiondeps "$CURRENTREALPKGNAME" `get_dep_op_and_ver "$INSTALLPKG"`; then @@ -151,6 +158,13 @@ checkbuilddep_internal() { continue fi fi + if echo "$INSTALLPKG" | greq -q '<!'; then + # this package has build-profiles-conflicts. + if checkbuilddep_restrictiondeps "$INSTALLPKG" "$DEB_BUILD_PROFILES"; then + echo "I: Ignoring other-buildprofiles" + continue + fi + fi if echo "$INSTALLPKG" | grep -q '('; then # this package has version-conflicts if ! checkbuilddep_versiondeps "$CURRENTREALPKGNAME" `get_dep_op_and_ver "$INSTALLPKG"`; then -- 2.1.4

