Bug#766063: atd-run doesn't work if libpam-tmpdir is used

David Kalnischkies david at kalnischkies.de
Mon Oct 20 14:50:11 UTC 2014

Package: autopkgtest
Version: 3.6


while completing my testing of a fix for #765951 in apt I stumbled
(again) over permission issues with atd-run which suggests it has the
very same problem as apt – namely that it is trying to use a TMPDIR
which isn't accessible for the user trying to create files in it.

Running as normal user gives me an uninformative:
adt-run [16:18:00]: version 3.6
adt-run [16:18:01]: testbed dpkg architecture: amd64
Unexpected error:
Traceback (most recent call last):
  File "/usr/share/autopkgtest/python/VirtSubproc.py", line 671, in mainloop
  File "/usr/share/autopkgtest/python/VirtSubproc.py", line 609, in command
    r = f(c, ce)
  File "/usr/share/autopkgtest/python/VirtSubproc.py", line 555, in cmd_copyup
    copyupdown(c, ce, True)
  File "/usr/share/autopkgtest/python/VirtSubproc.py", line 442, in copyupdown
    copyupdown_internal(ce[0], c[1:], upp)
  File "/usr/share/autopkgtest/python/VirtSubproc.py", line 467, in copyupdown_internal
    copyup_shareddir(sd[0], sd[1], dirsp, downtmp_host)
  File "/usr/share/autopkgtest/python/VirtSubproc.py", line 381, in copyup_shareddir
    shutil.copy(tb, host)
  File "/usr/lib/python3.4/shutil.py", line 228, in copy
    copyfile(src, dst, follow_symlinks=follow_symlinks)
  File "/usr/lib/python3.4/shutil.py", line 107, in copyfile
    with open(src, 'rb') as fsrc:
PermissionError: [Errno 13] Permission denied: '/var/lib/schroot/mount/debci-unstable-amd64-df2ea1c8-cb3c-4908-8a52-8b1754d7e1b6/tmp/adt-run.yCY3wH/testbed-packages'
adt-run [16:18:02]: ERROR: testbed failed: cannot send to testbed: ['BrokenPipeError: [Errno 32] Broken pipe\n']

but running the same command as root gives a way "better" response:
adt-run [16:19:16]: version 3.6
adt-run [16:19:17]: testbed dpkg architecture: amd64
adt-run [16:19:17]: @@@@@@@@@@@@@@@@@@@@ source apt_1.1~exp8.dsc
adt-run [16:19:19]: ERROR: unexpected error: "sh -ec
  apt-key add /tmp/adt-run.ubMZG4/binaries/archive-key.pgp
  echo "deb file:///tmp/adt-run.ubMZG4/binaries /" >/etc/apt/sources.list.d/autopkgtest.list
  if [ "x`ls /var/lib/dpkg/updates`" != x ]; then
    echo >&2 "/var/lib/dpkg/updates contains some files, aargh"; exit 1
  apt-get --quiet --no-list-cleanup -o Dir::Etc::sourcelist=/etc/apt/sources.list.d/autopkgtest.list -o Dir::Etc::sourceparts=/dev/null update 2>&1
  cp /var/lib/dpkg/status /tmp/adt-run.ubMZG4/apt-key.out
  " failed with stderr "mktemp: failed to create directory via template ‘/tmp/user/0/tmp.XXXXXXXXXX’: No such file or directory

btw: You don't have to run "apt-key add", you could just as well drop
the file into /etc/apt/trusted.gpg.d/

Best regards

David Kalnischkies
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/autopkgtest-devel/attachments/20141020/32ca5aa5/attachment.sig>

More information about the autopkgtest-devel mailing list