From 806e94dcd8dbdf7bf1909657fd4331cfe17b4ab0 Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Mon, 10 Dec 2018 16:52:59 +0100 Subject: 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] --- test/integration/framework | 3 +++ test/integration/test-dpkg-path | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100755 test/integration/test-dpkg-path (limited to 'test') diff --git a/test/integration/framework b/test/integration/framework index 8ec2e80cf..e7b82c273 100644 --- a/test/integration/framework +++ b/test/integration/framework @@ -482,6 +482,9 @@ EOF unset GREP_OPTIONS POSIXLY_CORRECT unset http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy + # Make dpkg inherit testing path + echo 'DPkg::Path "";\n' >> aptconfig.conf + # Make gcov shut up export GCOV_ERROR_FILE=/dev/null diff --git a/test/integration/test-dpkg-path b/test/integration/test-dpkg-path new file mode 100755 index 000000000..b17b59421 --- /dev/null +++ b/test/integration/test-dpkg-path @@ -0,0 +1,35 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'native' +configdpkgnoopchroot + +# create a bunch of test pkgs +createtestpkg() { + setupsimplenativepackage "testpkg-$1" 'native' '1.0' 'unstable' + BUILDDIR="incoming/testpkg-$1-1.0" + echo '#!/bin/sh +echo PATH=$PATH' > "${BUILDDIR}/debian/preinst" + buildpackage "$BUILDDIR" 'unstable' 'main' 'native' + rm -rf "$BUILDDIR" +} + +createtestpkg 'one' +createtestpkg 'two' + +setupaptarchive + + +# Inherit from environment +testsuccess aptget install testpkg-one -y -o DPkg::Path="" +cp rootdir/tmp/testsuccess.output apt.log +testsuccess grep "PATH=$PATH" apt.log + +# Set a custom value +testsuccess aptget install testpkg-two -y -o DPkg::Path="foobar:$PATH" +cp rootdir/tmp/testsuccess.output apt.log +testsuccess grep "PATH=foobar:$PATH" apt.log -- cgit v1.2.3