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