extras-buildsys/server BuildMaster.py, 1.35.2.1.4.1, 1.35.2.1.4.2 DBManager.py, 1.1.2.2.4.1, 1.1.2.2.4.2 PackageJob.py, 1.31.2.10.4.4, 1.31.2.10.4.5 Repo.py, 1.16.2.3.4.2, 1.16.2.3.4.3 User.py, 1.7.6.1, 1.7.6.2
Dennis Gilmore
ausil at fedoraproject.org
Thu Sep 4 02:14:52 UTC 2008
- Previous message (by thread): extras-buildsys/builder builder.py, 1.44.2.8.2.1.2.5, 1.44.2.8.2.1.2.6
- Next message (by thread): rpms/plague/devel .cvsignore, 1.12, 1.13 plague.spec, 1.34, 1.35 sources, 1.26, 1.27 plague-0.4.5-logtail.patch, 1.1, NONE plague-0.4.5-mock-0.8.patch, 1.1, NONE plague-0.4.5-sqlite3.patch, 1.1, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: ausil
Update of /cvs/fedora/extras-buildsys/server
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv4025/server
Modified Files:
Tag: Plague-0_4_5
BuildMaster.py DBManager.py PackageJob.py Repo.py User.py
Log Message:
- update to 0.4.5.1 applying Michael schwendt's logging and mock patches
- using pysqlite2 on fedora and python-sqlite on RHEL
- requires mock > 0.8
- requires createrepo >= 0.4.7
Index: BuildMaster.py
===================================================================
RCS file: /cvs/fedora/extras-buildsys/server/BuildMaster.py,v
retrieving revision 1.35.2.1.4.1
retrieving revision 1.35.2.1.4.2
diff -u -r1.35.2.1.4.1 -r1.35.2.1.4.2
--- BuildMaster.py 31 Jan 2008 14:30:13 -0000 1.35.2.1.4.1
+++ BuildMaster.py 4 Sep 2008 02:14:20 -0000 1.35.2.1.4.2
@@ -65,10 +65,6 @@
self._building_jobs = {}
self._building_jobs_lock = threading.Lock()
- self._dbcx = self._db_manager.dbcx()
- self._cursor = self._dbcx.cursor()
-
- self._requeue_interrupted_jobs()
threading.Thread.__init__(self)
self.setName("BuildMaster")
@@ -397,6 +393,12 @@
def run(self):
DebugUtils.registerThreadName(self)
+
+ self._dbcx = self._db_manager.dbcx()
+ self._cursor = self._dbcx.cursor()
+
+ self._requeue_interrupted_jobs()
+
while self.should_stop == False:
# Write update status for jobs to the database
self._save_job_status()
Index: DBManager.py
===================================================================
RCS file: /cvs/fedora/extras-buildsys/server/DBManager.py,v
retrieving revision 1.1.2.2.4.1
retrieving revision 1.1.2.2.4.2
diff -u -r1.1.2.2.4.1 -r1.1.2.2.4.2
--- DBManager.py 31 Jan 2008 14:30:13 -0000 1.1.2.2.4.1
+++ DBManager.py 4 Sep 2008 02:14:20 -0000 1.1.2.2.4.2
@@ -124,11 +124,15 @@
def fetchall(self, cursor):
""" sqlite returns the items in a dict-like class already """
- return cursor.fetchall()
+ rows = cursor.fetchall()
+ return [ResultSet(row, cursor.description) for row in rows]
def fetchone(self, cursor):
""" sqlite returns the items in a dict-like class already """
- return cursor.fetchone()
+ row = cursor.fetchone()
+ if not row:
+ return None
+ return ResultSet(row, cursor.description)
def _connect(self):
try:
@@ -143,7 +147,7 @@
tm = 3
try:
- dbcx = sqlite.connect(dbloc, encoding="utf-8", timeout=tm)
+ dbcx = sqlite.connect(dbloc, timeout=tm)
except StandardError, e:
print "Error: %s" % e
os._exit(1)
@@ -268,7 +272,10 @@
try:
import sqlite
except ImportError, e:
- db_engines['sqlite'] = None
+ try:
+ import pysqlite2._sqlite as sqlite
+ except ImportError, e:
+ db_engines['sqlite'] = None
try:
import pgdb
Index: PackageJob.py
===================================================================
RCS file: /cvs/fedora/extras-buildsys/server/PackageJob.py,v
retrieving revision 1.31.2.10.4.4
retrieving revision 1.31.2.10.4.5
diff -u -r1.31.2.10.4.4 -r1.31.2.10.4.5
--- PackageJob.py 31 Jan 2008 14:34:23 -0000 1.31.2.10.4.4
+++ PackageJob.py 4 Sep 2008 02:14:20 -0000 1.31.2.10.4.5
@@ -729,30 +729,9 @@
self.bm.notify_job_done(self)
- def _get_log_tail(self, arch):
- """ Returns the last 30 lines of the most relevant log file """
-
- pkg_dir = "%s-%s-%s-%s" % (self.uid, self.name, self.ver, self.release)
- work_dir = self._server_cfg.get_str("Directories", "server_work_dir")
- log_dir = os.path.join(work_dir, self._target_str, pkg_dir, arch)
- final_log = None
- build_log = "%s/%s" % (log_dir, "build.log")
- root_log = "%s/%s" % (log_dir, "root.log")
- job_log = "%s/%s" % (log_dir, "job.log")
-
- # Try the most relevant log file first
- if os.path.exists(build_log) and os.path.getsize(build_log) > 0:
- final_log = build_log
- elif os.path.exists(root_log) and os.path.getsize(root_log) > 0:
- final_log = root_log
- elif os.path.exists(job_log) and os.path.getsize(job_log) > 0:
- final_log = job_log
-
- if not final_log:
- return ""
-
- seek_pos = os.path.getsize(final_log) - 4096
- f = open(final_log, "r", 4096);
+ def _get_log_file_tail(self, logfile):
+ seek_pos = os.path.getsize(logfile) - 4096
+ f = open(logfile, "r", 4096);
if seek_pos > 0:
f.seek(seek_pos)
try:
@@ -770,9 +749,28 @@
lines.append(line)
if len(lines) > 30: # only want last 30 lines
del lines[0]
-
f.close()
- return "".join(lines)
+ return lines
+
+ def _get_log_tail(self, arch):
+ """ Returns the last 30 lines of the most relevant log file(s) """
+
+ pkg_dir = "%s-%s-%s-%s" % (self.uid, self.name, self.ver, self.release)
+ work_dir = self._server_cfg.get_str("Directories", "server_work_dir")
+ log_dir = os.path.join(work_dir, self._target_str, pkg_dir, arch)
+
+ logtail = []
+ for l in ["build.log", "root.log", "job.log"]:
+ lpath = os.path.join(log_dir, l)
+ if os.path.exists(lpath) and os.path.getsize(lpath)>0:
+ lines = self._get_log_file_tail(lpath)
+ if l=="build.log" and len(lines)<10:
+ logtail += lines
+ logtail.append("\n\n"+">"*40+"\n\n")
+ else:
+ logtail += lines
+ break
+ return "".join(logtail)
def email_result(self, to, resultstring, subject=None):
"""send 'resultstring' to self.username"""
Index: Repo.py
===================================================================
RCS file: /cvs/fedora/extras-buildsys/server/Repo.py,v
retrieving revision 1.16.2.3.4.2
retrieving revision 1.16.2.3.4.3
diff -u -r1.16.2.3.4.2 -r1.16.2.3.4.3
--- Repo.py 5 Mar 2008 22:39:47 -0000 1.16.2.3.4.2
+++ Repo.py 4 Sep 2008 02:14:20 -0000 1.16.2.3.4.3
@@ -87,7 +87,7 @@
return True
return False
- def _update_repo(self):
+ def _update_repo(self, target_string):
""" Copy new RPMS to each repo, and update each repo at the end """
for buildjob in self._repo_additions:
# Ensure all the files are accessible
@@ -118,11 +118,11 @@
self._repo_additions = []
- (s, o) = commands.getstatusoutput('/usr/bin/createrepo -q -c %s -x "*.src.rpm" -x "*-debuginfo-*.rpm" %s' % (self._repo_cache_dir, self._repodir))
+ (s, o) = commands.getstatusoutput('/usr/bin/createrepo -d -q -c %s -x "*.src.rpm" -x "*-debuginfo-*.rpm" %s' % (self._repo_cache_dir, self._repodir))
if s != 0:
- print "Repo Error (%s): createrepo failed with exit status %d! Output: '%s'" % (target_string, s, o)
+ target_str = self._target_cfg.target_string()
+ print "Repo Error (%s): createrepo failed with exit status %d! Output: '%s'" % (target_str, s, o)
- del target_string
def _run_repo_script(self):
target_str = self._target_cfg.target_string()
Index: User.py
===================================================================
RCS file: /cvs/fedora/extras-buildsys/server/User.py,v
retrieving revision 1.7.6.1
retrieving revision 1.7.6.2
diff -u -r1.7.6.1 -r1.7.6.2
--- User.py 31 Jan 2008 14:30:13 -0000 1.7.6.1
+++ User.py 4 Sep 2008 02:14:20 -0000 1.7.6.2
@@ -14,8 +14,12 @@
#
# Copyright 2005 Dan Williams <dcbw at redhat.com> and Red Hat, Inc.
+try:
+ import sqlite
+except ImportError, e:
+ import pysqlite2._sqlite as sqlite
-import sqlite
+import sys
CONFIG_LOCATION = "/etc/plague/server/"
@@ -30,10 +34,9 @@
self.user_admin = False
self.server_admin = False
-
def get_userdb_dbcx():
try:
- dbcx = sqlite.connect(CONFIG_LOCATION + "userdb", encoding="utf-8", timeout=4)
+ dbcx = sqlite.connect(CONFIG_LOCATION + "userdb", timeout=4)
curs = dbcx.cursor()
return (dbcx, curs)
except sqlite.DatabaseError, e:
@@ -57,7 +60,7 @@
try:
curs.execute('SELECT * FROM users')
dbcx.commit()
- except sqlite._sqlite.DatabaseError, e:
+ except sqlite.DatabaseError, e:
create = True
if create:
- Previous message (by thread): extras-buildsys/builder builder.py, 1.44.2.8.2.1.2.5, 1.44.2.8.2.1.2.6
- Next message (by thread): rpms/plague/devel .cvsignore, 1.12, 1.13 plague.spec, 1.34, 1.35 sources, 1.26, 1.27 plague-0.4.5-logtail.patch, 1.1, NONE plague-0.4.5-mock-0.8.patch, 1.1, NONE plague-0.4.5-sqlite3.patch, 1.1, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list