Bug#686292: adt-run fails with permission denied with option --user

Jean-Baptiste Lallement jeanbaptiste.lallement at gmail.com
Thu Aug 30 21:50:20 UTC 2012


Package: autopkgtest
Version: 2.2.3
Severity: normal


With option --user, adt-run fails with permission denied when it creates 
tmpdir

The issue is that the top level temporary directory is owned by root 
with permission 0700

Below the output of adt-run for postgresql-common:

$ sudo adt-run -d --leave-lang --unbuilt-tree . --user=ubuntu  --- 
adt-virt-null

adt-run: trace1: options: <Values at 0x9207ccc: {'set_lang': False, 
'timeout_install': None, 'binaries_fortests': 'auto', 'actions': 
[<Action ubtree ubtree0 <AF at ubtree0-ubtree~.:./!|-/>>], 'VSERVER_DUMMY': 
None, 'unbuilt_tree': None, 'timeout_test': None, 'tmp': None, 'binary': 
None, 'timeout_factor': 1.0, 'timeout_short': None, 'vserver': 
['adt-virt-null'], 'source': None, 'output_dir': None, 'debuglevel': 1, 
'gainroot': None, 'timeout_build': None, 'built_binaries_filter': None, 
'user': 'ubuntu', 'logfile': None, 'override_control': None, 
'gnupghome': '~/.autopkgtest/gpg', 'quiet': False, 'summary': None, 
'built_tree': None, 'binaries': 'auto', 'binaries_forbuilds': 'auto'}>; 
timeouts: {'test': 10000, 'short': 100, 'build': 100000, 'install': 3000}
adt-run: trace: ** init
adt-run: trace: ** start
adt-run: trace: $ vserver: adt-virt-null
adt-run: trace: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ starting
adt-run: trace: ** open, scratch=None
adt-run: trace: ** cmdl = ['sh', '-c', 'exec "$@"', 'x']
adt-run: trace: * initialising
adt-run: trace: * no key generation needed
adt-run: trace: * reset
adt-run: trace: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ builds ...
adt-run: trace: @@@@@@@@@@@@@@@@@@@@ ubtree ubtree0
adt-run: trace1: ** blame += arg:.
adt-run: trace1: ** prepare1, modified=False, deps_processed=[], deps_new=[]
adt-run: trace1: ** needs_reset, previously=False
adt-run: trace: $ ubtree0-extract: sh -ec <SCRIPT> x 
/tmp/tmp.8kHsrdmpjH/ubtree0-build/tmpdir 
/tmp/tmp.8kHsrdmpjH/ubtree0-build/real-tree
adt-run: trace1: $     exec 3>&1 >&2
adt-run: trace1: $     set -x
adt-run: trace1: $     spec="$2"
adt-run: trace1: $     origpwd=`pwd`
adt-run: trace1: $     cd /tmp/tmp.8kHsrdmpjH/ubtree0-build
adt-run: trace1: $     chown ubuntu .
adt-run: trace1: $     TMPDIR="$1"
adt-run: trace1: $     rm -rf -- "$TMPDIR"
adt-run: trace1: $     export TMPDIR
adt-run: trace1: $     su ubuntu -c 'mkdir -- "$TMPDIR"'
adt-run: trace1: $     spec="$spec" origpwd="$origpwd" su ubuntu -c '
adt-run: trace1: $                      rm -rf "$spec"
adt-run: trace1: $                      mkdir "$spec"
adt-run: trace1: $                      cp -rP 
--preserve=timestamps,links -- "$origpwd"/. "$spec"/.
adt-run: trace1: $                      '
adt-run: trace1: $     cd [a-z0-9]*-*/.
adt-run: trace1: $     pwd >&3
adt-run: trace1: $     set +e; test -f debian/tests/control; echo $? >&3
+ spec=/tmp/tmp.8kHsrdmpjH/ubtree0-build/real-tree
+ pwd
+ origpwd=/tmp/tmp.8kHsrdmpjH/ubtree0-ubtree
+ cd /tmp/tmp.8kHsrdmpjH/ubtree0-build
+ chown ubuntu .
+ TMPDIR=/tmp/tmp.8kHsrdmpjH/ubtree0-build/tmpdir
+ rm -rf -- /tmp/tmp.8kHsrdmpjH/ubtree0-build/tmpdir
+ export TMPDIR
+ su ubuntu -c mkdir -- "$TMPDIR"
mkdir: cannot create directory 
`/tmp/tmp.8kHsrdmpjH/ubtree0-build/tmpdir': Permission denied
blame: arg:.
badpkg: rules extract failed with exit code 1
adt-run: erroneous package: rules extract failed with exit code 1
adt-run: trace: ** stop
adt-run: trace: ** close, 
scratch=tb-scratch~/tmp/tmp.8kHsrdmpjH:-/|/tmp/tmp.8kHsrdmpjH/!



More information about the autopkgtest-devel mailing list