diff options
author | Julian Andres Klode <julian.klode@canonical.com> | 2018-12-10 16:52:59 +0100 |
---|---|---|
committer | Julian Andres Klode <julian.klode@canonical.com> | 2018-12-10 17:31:24 +0100 |
commit | 806e94dcd8dbdf7bf1909657fd4331cfe17b4ab0 (patch) | |
tree | 6c0795c08971f80cd532dd66416b96215d2ae482 /apt-pkg/deb/dpkgpm.cc | |
parent | 37bdbe03d44975951d2518bb9b3d3636081dca6a (diff) |
Set PATH=/usr/sbin:/usr/bin:/sbin:/bin when running dpkg
This avoids a lot of problems from local installations of
scripting languages and other stuff in /usr/local for which
maintainer scripts are not prepared.
[v3: Inherit PATH during tests, check overrides work]
[v2: Add testing]
Diffstat (limited to 'apt-pkg/deb/dpkgpm.cc')
-rw-r--r-- | apt-pkg/deb/dpkgpm.cc | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc index 074e52b3f..3c707e220 100644 --- a/apt-pkg/deb/dpkgpm.cc +++ b/apt-pkg/deb/dpkgpm.cc @@ -2017,6 +2017,9 @@ bool pkgDPkgPM::Go(APT::Progress::PackageManager *progress) && dynamic_cast<debSystem*>(_system)->IsLocked() == true) { setenv("DPKG_FRONTEND_LOCKED", "true", 1); } + if (_config->Find("DPkg::Path", "").empty() == false) + setenv("PATH", _config->Find("DPkg::Path", "").c_str(), 1); + execvp(Args[0], (char**) &Args[0]); cerr << "Could not exec dpkg!" << endl; _exit(100); |