pld-builder.new: PLD_Builder/chroot.py, PLD_Builder/rpm_builder.py...

arekm arekm at pld-linux.org
Sun Feb 25 14:15:02 CET 2007


Author: arekm                        Date: Sun Feb 25 13:15:02 2007 GMT
Module: pld-builder.new               Tag: HEAD
---- Log message:
Safer way to copy rpm files from inside of chroot. Shouldn't depend on all /etc/{env,profile}.d crap.

---- Files affected:
pld-builder.new/PLD_Builder:
   chroot.py (1.18 -> 1.19) , rpm_builder.py (1.42 -> 1.43) 

---- Diffs:

================================================================
Index: pld-builder.new/PLD_Builder/chroot.py
diff -u pld-builder.new/PLD_Builder/chroot.py:1.18 pld-builder.new/PLD_Builder/chroot.py:1.19
--- pld-builder.new/PLD_Builder/chroot.py:1.18	Thu Sep 22 20:33:25 2005
+++ pld-builder.new/PLD_Builder/chroot.py	Sun Feb 25 14:14:57 2007
@@ -2,6 +2,7 @@
 
 import os
 import re
+import subprocess
 from config import config
 
 def quote(cmd):
@@ -32,6 +33,20 @@
     for l in f:
         if logstdout != None:
             logstdout.write(l)
+    r = f.close()
+    if r == None:
+        return 0
+    else:
+        return r
+
+def cp(file, user = "builder", rm=False, outfile):
+    f = open(outfile, 'w')
+    fileno = f.fileno()
+    cmd = "cat %s >&%d" % (file, fileno)
+    if rm:
+        cmd += "; rm %s" % file
+    c = command(cmd, user)
+    subprocess.call(c, shell = True, close_fds = False)
     r = f.close()
     if r == None:
         return 0

================================================================
Index: pld-builder.new/PLD_Builder/rpm_builder.py
diff -u pld-builder.new/PLD_Builder/rpm_builder.py:1.42 pld-builder.new/PLD_Builder/rpm_builder.py:1.43
--- pld-builder.new/PLD_Builder/rpm_builder.py:1.42	Sun Feb 27 13:53:25 2005
+++ pld-builder.new/PLD_Builder/rpm_builder.py	Sun Feb 25 14:14:57 2007
@@ -136,7 +136,7 @@
 
     for f in b.files:
         local = r.tmp_dir + os.path.basename(f)
-        chroot.run("cat %s; rm -f %s" % (f, f), logfile = local)
+        chroot.cp(f, rm=True, outfile = local)
         ftp.add(local)
 
     def uploadinfo(b):
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/pld-builder.new/PLD_Builder/chroot.py?r1=1.18&r2=1.19&f=u
    http://cvs.pld-linux.org/pld-builder.new/PLD_Builder/rpm_builder.py?r1=1.42&r2=1.43&f=u



More information about the pld-cvs-commit mailing list