Ubuntu Pastebin

Paste from stgraber at Wed, 4 Jan 2017 21:00:53 +0000

Download as text
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
stgraber@dakara:~$ python3 test trusty
Reading package lists... Done
Building dependency tree
Reading state information... Done
NOTICE: 'nvidia-graphics-drivers-340' packaging is maintained in the 'Git' version control system at:
git://github.com/tseliot/nvidia-graphics-drivers.git
Need to get 101 MB of source archives.
Get:1 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/restricted nvidia-graphics-drivers-340 340.98-0ubuntu0.14.04.1 (dsc) [3,718 B]
Get:2 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/restricted nvidia-graphics-drivers-340 340.98-0ubuntu0.14.04.1 (tar) [100 MB]
Get:3 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/restricted nvidia-graphics-drivers-340 340.98-0ubuntu0.14.04.1 (diff) [153 kB]
Fetched 101 MB in 2s (47.1 MB/s)
gpgv: Signature made Tue 25 Oct 2016 06:24:32 PM UTC using RSA key ID A744BE93
gpgv: Can't check signature: public key not found
dpkg-source: warning: failed to verify signature on ./nvidia-graphics-drivers-340_340.98-0ubuntu0.14.04.1.dsc
dpkg-source: info: extracting nvidia-graphics-drivers-340 in nvidia-graphics-drivers-340-340.98
dpkg-source: info: unpacking nvidia-graphics-drivers-340_340.98.orig.tar.gz
dpkg-source: info: applying nvidia-graphics-drivers-340_340.98-0ubuntu0.14.04.1.diff.gz
yay
stgraber@dakara:~$ lxc exec trusty cat test.sh
#!/bin/sh -x
apt-get source --only-source nvidia-graphics-drivers-340=340.98-0ubuntu0.14.04.1
rm -Rf nvidia*
echo yay
stgraber@dakara:~$ cat test
import subprocess
import sys

container_name = sys.argv[1]

auxverb = [
    'lxc', 'exec', container_name, '--',
    'env', '-i', 'bash', '-c',
    'set -a; '
    '[ -r /etc/environment ] && . /etc/environment 2>/dev/null || true; '
    '[ -r /etc/default/locale ] && . /etc/default/locale 2>/dev/null || true; '
    '[ -r /etc/profile ] && . /etc/profile 2>/dev/null || true; '
    'set +a;'
    '"$@"; RC=$?; [ $RC != 255 ] || RC=253; '
    'set -e;'
    'myout=$(readlink /proc/$$/fd/1);'
    'myerr=$(readlink /proc/$$/fd/2);'
    'myout="${myout/[/\\\\[}"; myout="${myout/]/\\\\]}";'
    'myerr="${myerr/[/\\\\[}"; myerr="${myerr/]/\\\\]}";'
    'PS=$(ls -l /proc/[0-9]*/fd/* 2>/dev/null | sed -nr \'\#(\'"$myout"\'|\'"$myerr"\')# { s#^.*/proc/([0-9]+)/.*$#\\1#; p}\'|sort -u);'
    'KILL="";'
    'for pid in $PS; do'
    '    [ $pid -ne $$ ] && [ $pid -ne $PPID ] || continue;'
    '    KILL="$KILL $pid";'
    'done;'
    '[ -z "$KILL" ] || kill -9 $KILL >/dev/null 2>&1 || true;'
    'exit $RC', '--'
]

subprocess.call(auxverb+["sh", "test.sh"])
Download as text