extras-buildsys/server BuildMaster.py, 1.35.2.1.4.2, 1.35.2.1.4.3 DBManager.py, 1.1.2.2.4.2, 1.1.2.2.4.3 PackageJob.py, 1.31.2.10.4.6, 1.31.2.10.4.7 UserInterface.py, 1.58.2.2.4.4, 1.58.2.2.4.5

Michael Schwendt mschwendt at fedoraproject.org
Sun Sep 7 17:06:16 UTC 2008


Author: mschwendt

Update of /cvs/fedora/extras-buildsys/server
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv17290/server

Modified Files:
      Tag: Plague-0_4_5
	BuildMaster.py DBManager.py PackageJob.py UserInterface.py 
Log Message:
some compatibility changes for MySQL 5


Index: BuildMaster.py
===================================================================
RCS file: /cvs/fedora/extras-buildsys/server/BuildMaster.py,v
retrieving revision 1.35.2.1.4.2
retrieving revision 1.35.2.1.4.3
diff -u -r1.35.2.1.4.2 -r1.35.2.1.4.3
--- BuildMaster.py	4 Sep 2008 02:14:20 -0000	1.35.2.1.4.2
+++ BuildMaster.py	7 Sep 2008 17:05:46 -0000	1.35.2.1.4.3
@@ -237,9 +237,9 @@
 
     def _write_job_status_to_db(self, uid, attrdict):
         sql = "status='%s'" % attrdict['status']
-        if attrdict.has_key('epoch') and attrdict.has_key('version') and attrdict.has_key('release'):
-            sql = sql + ", epoch='%s', version='%s', release='%s'" % (attrdict['epoch'],
-                    attrdict['version'], attrdict['release'])
+        if attrdict.has_key('rpm_epoch') and attrdict.has_key('rpm_version') and attrdict.has_key('rpm_release'):
+            sql = sql + ", rpm_epoch='%s', rpm_version='%s', rpm_release='%s'" % (attrdict['rpm_epoch'],
+                    attrdict['rpm_version'], attrdict['rpm_release'])
         if attrdict.has_key('result_msg'):
             import urllib
             sql = sql + ", result_msg='%s'" % (urllib.quote(attrdict['result_msg']))


Index: DBManager.py
===================================================================
RCS file: /cvs/fedora/extras-buildsys/server/DBManager.py,v
retrieving revision 1.1.2.2.4.2
retrieving revision 1.1.2.2.4.3
diff -u -r1.1.2.2.4.2 -r1.1.2.2.4.3
--- DBManager.py	4 Sep 2008 02:14:20 -0000	1.1.2.2.4.2
+++ DBManager.py	7 Sep 2008 17:05:46 -0000	1.1.2.2.4.3
@@ -293,11 +293,11 @@
     def __init__(self, cfg):
         self._cfg = cfg
         try:
-            engine = self._cfg.get_str("Database", "engine")
-            self._db_engine_class = db_engines[engine]
+            self.engine = self._cfg.get_str("Database", "engine")
+            self._db_engine_class = db_engines[self.engine]
         except KeyError:
             print "Error: unrecognized database engine '%s'.  Must be " \
-                    "one of: %s" % (engine, db_engines.keys())
+                    "one of: %s" % (self.engine, db_engines.keys())
             os._exit(1)
 
         if not self._db_engine_class:
@@ -305,7 +305,7 @@
                     "Perhaps you need the python module for it?" % engine
             os._exit(1)
 
-        print "Using database engine %s." % engine
+        print "Using database engine %s." % self.engine
 
         # Make sure our database structure is what we want
         dbcx = self.dbcx()
@@ -347,9 +347,9 @@
                     'endtime BIGINT, '              \
                     'status VARCHAR(20), '          \
                     'result VARCHAR(15), '          \
-                    'epoch VARCHAR(4), '            \
-                    'version VARCHAR(25), '         \
-                    'release VARCHAR(25), '         \
+                    'rpm_epoch VARCHAR(4), '        \
+                    'rpm_version VARCHAR(25), '     \
+                    'rpm_release VARCHAR(25), '     \
                     'archlist VARCHAR(75), '        \
                     'result_msg TEXT'               \
                     ')' % uid_type)
@@ -358,6 +358,22 @@
                 print "Could not access the job database.  Reason: '%s'.  Exiting..." % e
                 os._exit(1)
 
+        # Rename columns in jobs table, because `RELEASE` is a new
+        # reserved keyword in MySQL 5, and the quote character is
+        # different for Postgresql.
+        for i in range(len(curs.description)):
+            if curs.description[i][0].upper() == 'RELEASE':
+                if self.engine == 'mysql':
+                    curs.execute('ALTER TABLE jobs CHANGE `release` rpm_release VARCHAR(25);')
+                    curs.execute('ALTER TABLE jobs CHANGE `version` rpm_version VARCHAR(25);')
+                    curs.execute('ALTER TABLE jobs CHANGE `epoch` rpm_epoch VARCHAR(4);')
+                else:
+                    curs.execute('ALTER TABLE jobs CHANGE release rpm_release VARCHAR(25);')
+                    curs.execute('ALTER TABLE jobs CHANGE version rpm_version VARCHAR(25);')
+                    curs.execute('ALTER TABLE jobs CHANGE epoch rpm_epoch VARCHAR(4);')
+                dbcx.commit()
+                break
+
         # Create the archjobs table
         try:
             curs.execute('SELECT * FROM archjobs LIMIT 4')


Index: PackageJob.py
===================================================================
RCS file: /cvs/fedora/extras-buildsys/server/PackageJob.py,v
retrieving revision 1.31.2.10.4.6
retrieving revision 1.31.2.10.4.7
diff -u -r1.31.2.10.4.6 -r1.31.2.10.4.7
--- PackageJob.py	5 Sep 2008 09:32:43 -0000	1.31.2.10.4.6
+++ PackageJob.py	7 Sep 2008 17:05:46 -0000	1.31.2.10.4.7
@@ -172,9 +172,9 @@
             attrdict['status'] = copy.copy(stage)
             attrdict['result'] = copy.copy(self.result)
             if self.name and self.epoch and self.ver and self.release:
-                attrdict['epoch'] = self.epoch
-                attrdict['version'] = self.ver
-                attrdict['release'] = self.release
+                attrdict['rpm_epoch'] = self.epoch
+                attrdict['rpm_version'] = self.ver
+                attrdict['rpm_release'] = self.release
             if result_msg:
                 attrdict['result_msg'] = result_msg
 


Index: UserInterface.py
===================================================================
RCS file: /cvs/fedora/extras-buildsys/server/UserInterface.py,v
retrieving revision 1.58.2.2.4.4
retrieving revision 1.58.2.2.4.5
diff -u -r1.58.2.2.4.4 -r1.58.2.2.4.5
--- UserInterface.py	4 Sep 2008 21:02:28 -0000	1.58.2.2.4.4
+++ UserInterface.py	7 Sep 2008 17:05:46 -0000	1.58.2.2.4.5
@@ -376,7 +376,7 @@
             return (-1, "Error: Invalid job UID.", {})
 
         sql = 'SELECT uid, username, package, source, target_distro, target_target, ' \
-                'target_repo, starttime, endtime, status, epoch, version, release,  ' \
+                'target_repo, starttime, endtime, status, rpm_epoch, rpm_version, rpm_release,  ' \
                 'archlist, result_msg FROM jobs WHERE uid=%d' % uid
 
         # Run the query for the job
@@ -401,15 +401,15 @@
         jobrec['starttime'] = job['starttime']
         jobrec['endtime'] = job['endtime']
         jobrec['status'] = job['status']
-        if job['epoch'] and job['version'] and job['release']:
-            jobrec['epoch'] = job['epoch']
-            jobrec['version'] = job['version']
-            jobrec['release'] = job['release']
+        if job['rpm_epoch'] and job['rpm_version'] and job['rpm_release']:
+            jobrec['rpm_epoch'] = job['rpm_epoch']
+            jobrec['rpm_version'] = job['rpm_version']
+            jobrec['rpm_release'] = job['rpm_release']
             base_url = self._cfg.get_str("UI", "log_url")
             target_str = "%s-%s-%s" % (jobrec['target_distro'], jobrec['target_target'], jobrec['target_repo'])
             log_url = PackageJob.make_job_log_url(base_url, target_str,
-                        str(uid), jobrec['package'], jobrec['version'],
-                        jobrec['release'])
+                        str(uid), jobrec['package'], jobrec['rpm_version'],
+                        jobrec['rpm_release'])
             if log_url and len(log_url):
                 jobrec['log_url'] = log_url
         if job['result_msg']:




More information about the fedora-extras-commits mailing list