]> git.pld-linux.org Git - projects/pld-builder.new.git/blobdiff - PLD_Builder/chroot.py
Typo.
[projects/pld-builder.new.git] / PLD_Builder / chroot.py
index ac258a048d7b42bf69fbb76fac7db91840129698..f099d018ebe5dff07ab8834f55b2d9b5e8a40e02 100644 (file)
@@ -2,38 +2,44 @@
 
 import os
 import re
-import md5
 import random
 
+try:
+    from hashlib import md5 as md5
+except ImportError:
+    from md5 import md5
+
 from config import config
 
 def quote(cmd):
     return re.sub("([\"\\\\$`])", r"\\\1", cmd)
-    
-def command(cmd, user = None):
+
+def command(cmd, user = None, nostdin=""):
     if user == None:
         user = config.builder_user
-    return "%s sudo chroot %s su - %s -c \"export LC_ALL=C; %s\"" \
-            % (config.sudo_chroot_wrapper, config.chroot, user, quote(cmd))
-    
+    if nostdin:
+        nostdin = "exec < /dev/null; "
+    return "%s sudo chroot %s su - %s -c \"export LC_ALL=C; %s %s\"" \
+            % (config.sudo_chroot_wrapper, config.chroot, user, nostdin, quote(cmd))
+
 def command_sh(cmd):
-    return "%s sudo chroot %s /bin/sh -c \"export LC_ALL=C; %s\"" \
+    return "%s sudo chroot %s /bin/sh -c \"export LC_ALL=C; exec < /dev/null; %s\"" \
             % (config.sudo_chroot_wrapper, config.chroot, quote(cmd))
 
 def popen(cmd, user = "builder", mode = "r"):
     f = os.popen(command(cmd, user), mode)
     return f
-    
+
 def run(cmd, user = "builder", logfile = None, logstdout = None):
-    c = command(cmd, user)
+    c = command(cmd, user, nostdin=True)
     if logfile != None:
         if logstdout != None:
             c = "%s 2>&1 | /usr/bin/tee -a %s" % (c, logfile)
         else:
             c = "%s >> %s 2>&1" % (c, logfile)
     f = os.popen(c)
-    for l in f:
-        if logstdout != None:
+    if logstdout != None:
+        for l in f:
             logstdout.write(l)
     r = f.close()
     if r == None:
@@ -42,7 +48,7 @@ def run(cmd, user = "builder", logfile = None, logstdout = None):
         return r
 
 def cp(file, outfile, user="builder", rm=False):
-    m = md5.new()
+    m = md5()
     m.update(str(random.sample(xrange(100000), 500)))
     digest = m.hexdigest()
 
@@ -74,4 +80,4 @@ def cp(file, outfile, user="builder", rm=False):
     if rp == None:
         return 0
     else:
-        return r
+        return rp
This page took 0.064412 seconds and 4 git commands to generate.