summaryrefslogtreecommitdiff
path: root/cmdline
diff options
context:
space:
mode:
authorDavid Kalnischkies <david@kalnischkies.de>2014-02-25 14:26:18 +0100
committerDavid Kalnischkies <david@kalnischkies.de>2014-03-13 13:58:44 +0100
commitce7f128c020e1347f91c6074238fc5da58c5df71 (patch)
treed7ee2d69fd674597f61c170e415ffc4d1b7d6570 /cmdline
parent565ded7b65240b25ad8551789ac388c8ce72b1f4 (diff)
support DEB_BUILD_PROFILES and -P for build profiles
Inspired by the rest of the patch in 661537, but abstract the parsing of various ways of setting the build profiles more so it can potentially be reused and all apt parts have the same behaviour. Especially config options, cmdline options and environment will not be combined as proposed as this isn't APTs usual behaviour and dpkg doesn't do it either, so one overrides the other as it normally does.
Diffstat (limited to 'cmdline')
-rw-r--r--cmdline/apt-config.cc5
-rw-r--r--cmdline/apt-get.cc6
2 files changed, 11 insertions, 0 deletions
diff --git a/cmdline/apt-config.cc b/cmdline/apt-config.cc
index 30c2a22d5..9f20b3c1b 100644
--- a/cmdline/apt-config.cc
+++ b/cmdline/apt-config.cc
@@ -155,6 +155,11 @@ int main(int argc,const char *argv[]) /*{{{*/
_config->Set(comp + "UncompressArg::", *a);
}
+ std::vector<std::string> const profiles = APT::Configuration::getBuildProfiles();
+ _config->Clear("APT::Build-Profiles");
+ for (std::vector<std::string>::const_iterator p = profiles.begin(); p != profiles.end(); ++p)
+ _config->Set("APT::Build-Profiles::", *p);
+
// Match the operation
CmdL.DispatchArg(Cmds);
diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc
index 12e385b69..f8de80a91 100644
--- a/cmdline/apt-get.cc
+++ b/cmdline/apt-get.cc
@@ -970,6 +970,12 @@ bool DoSource(CommandLine &CmdL)
string buildopts = _config->Find("APT::Get::Host-Architecture");
if (buildopts.empty() == false)
buildopts = "-a" + buildopts + " ";
+
+ // get all active build profiles
+ std::string const profiles = APT::Configuration::getBuildProfilesString();
+ if (profiles.empty() == false)
+ buildopts.append(" -P").append(profiles).append(" ");
+
buildopts.append(_config->Find("DPkg::Build-Options","-b -uc"));
// Call dpkg-buildpackage