diff options
author | David Kalnischkies <david@kalnischkies.de> | 2016-07-22 13:04:47 +0200 |
---|---|---|
committer | David Kalnischkies <david@kalnischkies.de> | 2016-07-22 16:05:09 +0200 |
commit | 01047752b34486607665db99afffa595cb2d43ce (patch) | |
tree | 512f73f84fd29a6bfaea7b98b6f591de5836f4a4 /test | |
parent | 503c7d594125f963b92047ad2d9d0644f39136c7 (diff) |
create non-existent files in edit-sources with 644 instead of 640
If the sources file we want to edit doesn't exist yet GetLock will
create it with 640, which for a generic lockfile might be okay, but as
this is a sources file more relaxed permissions are in order – and
actually required as it wont be readable for unprivileged users causing
warnings/errors in apt calls.
Reported-By: J. Theede (musca) on IRC
Diffstat (limited to 'test')
-rwxr-xr-x | test/integration/test-apt-edit-sources | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/test/integration/test-apt-edit-sources b/test/integration/test-apt-edit-sources new file mode 100755 index 000000000..58742e94f --- /dev/null +++ b/test/integration/test-apt-edit-sources @@ -0,0 +1,39 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'native' + +echo 'Dir::Bin::Editor "cat";' > rootdir/etc/apt/apt.conf.d/editor.conf + +echo 'deb http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list.d/rocks.list +testsuccessequal "$(cat rootdir/etc/apt/sources.list.d/rocks.list)" apt edit-sources rocks.list + +cat >editor.sh <<EOF +#!/bin/sh +umask 077 +touch "\$@" +EOF +chmod +x ./editor.sh +echo 'Dir::Bin::Editor "./editor.sh";' > rootdir/etc/apt/apt.conf.d/editor.conf +testsuccess apt edit-sources blub.list +testfailure test -e 'rootdir/etc/apt/sources.list.d/blub.list' + +cat >editor.sh <<EOF +#!/bin/sh +umask 077 +echo '#comment' > "\$1" +EOF +testsuccess apt edit-sources blub.list +testfilestats 'rootdir/etc/apt/sources.list.d/blub.list' '%U:%G:%a' '=' "${TEST_DEFAULT_USER}:${TEST_DEFAULT_GROUP}:644" + +echo 'Dir::Bin::Editor "cat";' > rootdir/etc/apt/apt.conf.d/editor.conf +echo 'blub' > rootdir/etc/apt/sources.list.d/blub.list +testfailure apt edit-sources blub.list --assume-no + +echo 'deb http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list.d/blub.list +touch -m -d 'now + 1 hour' rootdir/etc/apt/sources.list.d/blub.list +testwarning apt edit-sources blub.list --assume-no |