chiark / gitweb /
python libs: new Autopkgtest.py module
[autopkgtest.git] / virt-subproc / adt-virt-schroot
index afcd68a466973de28cfff06d538f258e4d34e9d1..d0473b610059be5137150276c47087600b0a4de3 100755 (executable)
@@ -30,9 +30,9 @@ import grp
 import pwd
 from optparse import OptionParser
 
-try: our_base = os.environ['AUTOPKGTEST_BASE']
-except KeyError: our_base = '/usr/share/autopkgtest';
-sys.path.insert(1, our_base+'/python')
+try: our_base = os.environ['AUTOPKGTEST_BASE']+'/lib'
+except KeyError: our_base = '/usr/share/autopkgtest/python';
+sys.path.insert(1, our_base)
 
 import VirtSubproc as vsp
 capabilities = []
@@ -67,11 +67,11 @@ def parse_args():
                capabilities.append('revert')
 
        if [True
-               for exp_name in cfg['root-users'].split()
+               for exp_name in cfg['root-users'].split(',')
                for got_uid in [os.getuid()]
                if got_uid == pwd.getpwnam(exp_name).pw_uid
        ] or [True
-               for exp_name in cfg['root-groups'].split()
+               for exp_name in cfg['root-groups'].split(',')
                for got_gid in [os.getgid()] + os.getgroups()
                if got_gid == grp.getgrnam(exp_name).gr_gid
        ]:
@@ -82,15 +82,20 @@ def hook_open():
        sessid = vsp.execute('schroot -b -c',[schroot], downp=False, outp=True)
        vsp.down = ['schroot','-r','-c',sessid]
        if 'root-on-testbed' in capabilities: vsp.down += ['-u','root']
-       vsp.down += ['--','sh','-c']
-       return None
+       vsp.down += ['--']
+       vsp.downkind = 'auxverb'
+
+def hook_downtmp():
+       return vsp.downtmp_mktemp()
 
 def hook_revert():
+       vsp.downtmp_remove()
        hook_cleanup()
        hook_open()
 
 def hook_cleanup():
        global schroot, sessid, downtmp
+       vsp.downtmp_remove()
        vsp.execute('schroot -e -c',[sessid], downp=False)
 
 def hook_forked_inchild():