extras-buildsys/server BuilderManager.py,1.3,1.4 Repo.py,1.9,1.10

Daniel Williams (dcbw) fedora-extras-commits at redhat.com
Mon Jul 11 20:13:39 UTC 2005


Author: dcbw

Update of /cvs/fedora/extras-buildsys/server
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv11740/server

Modified Files:
	BuilderManager.py Repo.py 
Log Message:
Use cached-mode createrepo (requires latest CVS) and reload builders on the fly


Index: BuilderManager.py
===================================================================
RCS file: /cvs/fedora/extras-buildsys/server/BuilderManager.py,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- BuilderManager.py	10 Jul 2005 20:02:14 -0000	1.3
+++ BuilderManager.py	11 Jul 2005 20:13:37 -0000	1.4
@@ -36,7 +36,9 @@
         self._builders_lock = threading.Lock()
 
         # List of addresses of possible builders
+        self._builders_lock.acquire()
         self.possible_builders = config_opts['builders']
+        self._builders_lock.release()
         self.running_builders = []
         builder_list = self.update_builders()
 
@@ -68,6 +70,11 @@
 
     def update_builders(self):
         self._builders_lock.acquire()
+
+        # Load in any new builders from the config file
+        execfile("/etc/plague/server/CONFIG.py")
+        self.possible_builders = config_opts['builders']
+
         builder_list = []
         for address in self.possible_builders:
             # If the address is "https" but we aren't set up for SSL, exit


Index: Repo.py
===================================================================
RCS file: /cvs/fedora/extras-buildsys/server/Repo.py,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- Repo.py	11 Jul 2005 02:11:08 -0000	1.9
+++ Repo.py	11 Jul 2005 20:13:37 -0000	1.10
@@ -37,6 +37,9 @@
         self._repodir = os.path.join(config_opts['repo_dir'], target)
         if not os.path.exists(self._repodir):
             os.makedirs(self._repodir)
+        self._repo_cache_dir = os.path.join(config_opts['repo_dir'], "cache", target)
+        if not os.path.exists(self._repo_cache_dir):
+            os.makedirs(self._repo_cache_dir)
         self._lock = threading.Lock()
         self._repo_additions = []
         self._lock_count = 0
@@ -82,9 +85,9 @@
             # Notify the build job that we've copied its files to the repo
             buildjob.repo_add_callback()
 
-        (s, o) = commands.getstatusoutput('/usr/bin/createrepo -q -x "*.src.rpm" -x "*.debuginfo.rpm" %s' % self._repodir)
+        (s, o) = commands.getstatusoutput('/usr/bin/createrepo -q -c %s -x "*.src.rpm" -x "*.debuginfo.rpm" %s' % (self._repo_cache_dir, self._repodir))
         if s != 0:
-            print "createrepo failed with exit status %d!" % s
+            print "Error: createrepo failed with exit status %d!" % s
 
 
     def run(self):




More information about the fedora-extras-commits mailing list