extras-buildsys/server PackageJob.py,1.11,1.12
Daniel Williams (dcbw)
fedora-extras-commits at redhat.com
Thu Jul 21 14:36:56 UTC 2005
Author: dcbw
Update of /cvs/fedora/extras-buildsys/server
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv12329/server
Modified Files:
PackageJob.py
Log Message:
2005-07-21 Dan Williams <dcbw at redhat.com>
* common/FileDownloader.py
server/PackageJob.py
- Remove usage of os.chdir() since it's process-wide
- Lock usage of tempfile.mkdtemp() since it seems to have
threading issues
Index: PackageJob.py
===================================================================
RCS file: /cvs/fedora/extras-buildsys/server/PackageJob.py,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- PackageJob.py 18 Jul 2005 21:26:30 -0000 1.11
+++ PackageJob.py 21 Jul 2005 14:36:54 -0000 1.12
@@ -99,6 +99,10 @@
return False
+# tempfile.mkdtemp seems to have threading issues
+_mkdtemp_lock = threading.Lock()
+
+
class PackageJob:
""" Controller object for building 1 SRPM on multiple arches """
@@ -249,11 +253,12 @@
def _checkout(self):
self._set_cur_stage('checkout')
dir_prefix = self.cvs_tag + "-"
+ _mkdtemp_lock.acquire()
self.checkout_tmpdir = tempfile.mkdtemp(prefix=dir_prefix, dir=config_opts['tmpdir'])
- os.chdir(self.checkout_tmpdir)
+ _mkdtemp_lock.release()
# Checkout the module
- cmd = '%s co -r %s %s' % (config_opts['cvs_cmd'], self.cvs_tag, self.package)
+ cmd = 'cd %s; %s co -r %s %s' % (self.checkout_tmpdir, config_opts['cvs_cmd'], self.cvs_tag, self.package)
debugprint("%d: Running %s" % (self.uid, cmd))
s, o = commands.getstatusoutput(cmd)
if s != 0:
@@ -264,11 +269,9 @@
# get it from CVS
pkg_path = os.path.join(self.checkout_tmpdir, self.package)
if not os.path.exists(os.path.join(pkg_path, "common")):
- os.chdir(pkg_path)
- cmd = '%s co common' % config_opts['cvs_cmd']
+ cmd = 'cd %s; %s co common' % (pkg_path, config_opts['cvs_cmd'])
debugprint("%d: Running %s" % (self.uid, cmd))
s, o = commands.getstatusoutput(cmd)
- os.chdir(self.checkout_tmpdir)
if s != 0:
msg = "could not check out common directory - output was:\n %s" % (self.cvs_tag, self.target, o)
raise PrepError(msg)
@@ -290,9 +293,7 @@
msg = "could not find path %s for %s." % (srpm_dir, self.cvs_tag)
raise PrepError(msg)
- os.chdir(srpm_dir)
-
- cmd = '%s srpm' % config_opts['make_cmd']
+ cmd = 'cd %s; %s srpm' % (srpm_dir, config_opts['make_cmd'])
debugprint("%d: Running %s in %s" % (self.uid, cmd, srpm_dir))
s, o = commands.getstatusoutput(cmd)
if s != 0:
More information about the fedora-extras-commits
mailing list