pld-builder.new: PLD_Builder/acl.py, PLD_Builder/bqueue.py, PLD_Builder/bui...
glen
glen at pld-linux.org
Sat Oct 1 20:54:56 CEST 2011
Author: glen Date: Sat Oct 1 18:54:56 2011 GMT
Module: pld-builder.new Tag: HEAD
---- Log message:
- whitespace cleanup
---- Files affected:
pld-builder.new/PLD_Builder:
acl.py (1.28 -> 1.29) , bqueue.py (1.23 -> 1.24) , build.py (1.17 -> 1.18) , buildlogs.py (1.26 -> 1.27) , chroot.py (1.40 -> 1.41) , config.py (1.41 -> 1.42) , deps.py (1.2 -> 1.3) , file_sender.py (1.39 -> 1.40) , ftp.py (1.14 -> 1.15) , get_br.py (1.3 -> 1.4) , gpg.py (1.24 -> 1.25) , install.py (1.24 -> 1.25) , load_balancer.py (1.10 -> 1.11) , log.py (1.15 -> 1.16) , loop.py (1.2 -> 1.3) , notify.py (1.7 -> 1.8) , notifyq.py (1.2 -> 1.3) , poldek.py (1.3 -> 1.4) , report.py (1.36 -> 1.37) , request_fetcher.py (1.29 -> 1.30) , request_handler.py (1.53 -> 1.54) , rpm_builder.py (1.127 -> 1.128) , srpm_builder.py (1.78 -> 1.79) , stopwatch.py (1.2 -> 1.3) , util.py (1.13 -> 1.14)
pld-builder.new/client:
smtpwrapper.py (1.1 -> 1.2)
---- Diffs:
================================================================
Index: pld-builder.new/PLD_Builder/acl.py
diff -u pld-builder.new/PLD_Builder/acl.py:1.28 pld-builder.new/PLD_Builder/acl.py:1.29
--- pld-builder.new/PLD_Builder/acl.py:1.28 Wed Oct 20 19:05:40 2010
+++ pld-builder.new/PLD_Builder/acl.py Sat Oct 1 20:54:51 2011
@@ -18,18 +18,18 @@
self.privs = []
self.gpg_emails = []
self.mailto = ""
-
+
if p.has_option(login, "gpg_emails"):
self.gpg_emails = string.split(p.get(login, "gpg_emails"))
else:
log.panic("acl: [%s] has no gpg_emails" % login)
-
+
if p.has_option(login, "mailto"):
self.mailto = p.get(login, "mailto")
else:
if len(self.gpg_emails) > 0:
self.mailto = self.gpg_emails[0]
-
+
if p.has_option(login, "privs"):
for p in string.split(p.get(login, "privs")):
l = string.split(p, ":")
@@ -117,7 +117,7 @@
self.users[e] = user
self.users[login] = user
status.pop()
-
+
def user_by_email(self, ems):
for e in ems:
if self.users.has_key(e):
================================================================
Index: pld-builder.new/PLD_Builder/bqueue.py
diff -u pld-builder.new/PLD_Builder/bqueue.py:1.23 pld-builder.new/PLD_Builder/bqueue.py:1.24
--- pld-builder.new/PLD_Builder/bqueue.py:1.23 Sat Nov 13 23:58:01 2010
+++ pld-builder.new/PLD_Builder/bqueue.py Sat Oct 1 20:54:51 2011
@@ -74,7 +74,7 @@
self.fd = open(self.name, "r+")
else:
self.fd = open(self.name, "w+")
-
+
def read(self):
self._open()
self.signers = []
@@ -112,7 +112,7 @@
return 1
except IOError:
return 0
-
+
def unlock(self):
fcntl.flock(self.fd, fcntl.LOCK_UN)
================================================================
Index: pld-builder.new/PLD_Builder/build.py
diff -u pld-builder.new/PLD_Builder/build.py:1.17 pld-builder.new/PLD_Builder/build.py:1.18
--- pld-builder.new/PLD_Builder/build.py:1.17 Fri Feb 19 15:18:24 2010
+++ pld-builder.new/PLD_Builder/build.py Sat Oct 1 20:54:51 2011
@@ -67,7 +67,7 @@
if dep.build_failed:
can_build = 0
failed_dep = dep.spec
-
+
if batch.is_command() and can_build:
batch.logfile = tmp + "command"
if config.builder in batch.builders:
@@ -115,6 +115,6 @@
batch.build_time = ""
log.notice("building %s %s" % (batch.spec, batch.skip_reason))
notify.add_batch(batch, "SKIP")
-
+
buildlogs.flush()
chroot.run("rm -f %s" % string.join(r.chroot_files))
================================================================
Index: pld-builder.new/PLD_Builder/buildlogs.py
diff -u pld-builder.new/PLD_Builder/buildlogs.py:1.26 pld-builder.new/PLD_Builder/buildlogs.py:1.27
--- pld-builder.new/PLD_Builder/buildlogs.py:1.26 Thu Oct 8 15:48:06 2009
+++ pld-builder.new/PLD_Builder/buildlogs.py Sat Oct 1 20:54:51 2011
@@ -46,7 +46,7 @@
Requester: %s
END
""" % (config.buildlogs_url, l['name'], config.builder, time.time(), self.requester_email)
-
+
q = self.queue[:]
for l in q:
f = open(path.buildlogs_queue_dir + '/' + l['id'] + ".desc.tmp", "w")
================================================================
Index: pld-builder.new/PLD_Builder/chroot.py
diff -u pld-builder.new/PLD_Builder/chroot.py:1.40 pld-builder.new/PLD_Builder/chroot.py:1.41
--- pld-builder.new/PLD_Builder/chroot.py:1.40 Sun Apr 18 07:37:05 2010
+++ pld-builder.new/PLD_Builder/chroot.py Sat Oct 1 20:54:51 2011
@@ -13,7 +13,7 @@
def quote(cmd):
return re.sub("([\"\\\\$`])", r"\\\1", cmd)
-
+
def command(cmd, user = None, nostdin=""):
if user == None:
user = config.builder_user
@@ -21,7 +21,7 @@
nostdin = "exec < /dev/null; "
return "%s sudo chroot %s su - %s -c \"export LC_ALL=C; %s %s\"" \
% (config.sudo_chroot_wrapper, config.chroot, user, nostdin, quote(cmd))
-
+
def command_sh(cmd):
return "%s sudo chroot %s /bin/sh -c \"export LC_ALL=C; exec < /dev/null; %s\"" \
% (config.sudo_chroot_wrapper, config.chroot, quote(cmd))
@@ -29,7 +29,7 @@
def popen(cmd, user = "builder", mode = "r"):
f = os.popen(command(cmd, user), mode)
return f
-
+
def run(cmd, user = "builder", logfile = None, logstdout = None):
c = command(cmd, user, nostdin=True)
if logfile != None:
================================================================
Index: pld-builder.new/PLD_Builder/config.py
diff -u pld-builder.new/PLD_Builder/config.py:1.41 pld-builder.new/PLD_Builder/config.py:1.42
--- pld-builder.new/PLD_Builder/config.py:1.41 Mon Apr 6 18:53:19 2009
+++ pld-builder.new/PLD_Builder/config.py Sat Oct 1 20:54:51 2011
@@ -46,7 +46,7 @@
return d
else:
log.panic("cannot find %s::%s" % (builder, o))
-
+
p.readfp(open(path.builder_conf))
self.admin_email = get("admin_email")
@@ -101,7 +101,7 @@
self.builder_user = get("builder_user", "builder")
self.sudo_chroot_wrapper = get("sudo_chroot_wrapper", "")
self.nice = get("nice", "0")
-
+
f = get("syslog", "")
if f != "":
if syslog_facilities.has_key(f):
================================================================
Index: pld-builder.new/PLD_Builder/deps.py
diff -u pld-builder.new/PLD_Builder/deps.py:1.2 pld-builder.new/PLD_Builder/deps.py:1.3
--- pld-builder.new/PLD_Builder/deps.py:1.2 Thu Dec 9 19:09:04 2004
+++ pld-builder.new/PLD_Builder/deps.py Sat Oct 1 20:54:51 2011
@@ -18,7 +18,7 @@
rpm_prov = {}
# list of required files
req_files = {}
-
+
def get_req():
msg("rpm-req... ")
f = chr_popen("rpm -qa --qf '@\n%{NAME}\n[%{REQUIRENAME}\n]'")
@@ -42,7 +42,7 @@
msg("[%s: %s, %s] " % (what, rpm_prov[what], pkg))
else:
rpm_prov[what] = pkg
-
+
def get_prov():
msg("rpm-prov... ")
f = chr_popen("rpm -qa --qf '@\n%{NAME}\n[%{PROVIDENAME}\n]'")
@@ -60,7 +60,7 @@
del req_files[l]
f.close()
msg("done\n")
-
+
def get_prov_files():
msg("rpm-files... ")
f = chr_popen("rpm -qa --qf '@\n%{NAME}\n[%{FILENAMES}\n]'")
@@ -90,7 +90,7 @@
msg("[%s: %s] " % (pkg, req))
requires[pkg] = pkg_reqs
msg("done\n")
-
+
# map from pkg-name to list of pkg-names required by it
# this is result
requires = {}
@@ -103,7 +103,7 @@
def remove_list(req, need):
"""List of packages scheduled for removal.
-
+
Given dependency information and list of needed packages compute list
of packages that don't need to be present.
"""
================================================================
Index: pld-builder.new/PLD_Builder/file_sender.py
diff -u pld-builder.new/PLD_Builder/file_sender.py:1.39 pld-builder.new/PLD_Builder/file_sender.py:1.40
--- pld-builder.new/PLD_Builder/file_sender.py:1.39 Thu Jan 21 18:52:14 2010
+++ pld-builder.new/PLD_Builder/file_sender.py Sat Oct 1 20:54:51 2011
@@ -142,7 +142,7 @@
os.unlink(dir + "/retry-at")
except:
pass
-
+
status.push("flushing %s" % dir)
if flush_queue(dir):
@@ -170,7 +170,7 @@
else:
return rc
q.sort(mycmp)
-
+
error = None
# copy of q
remaining = q[:]
@@ -186,7 +186,7 @@
os.unlink(d['_file'])
os.unlink(d['_desc'])
remaining.remove(d)
-
+
if error != None:
emails = {}
emails[config.admin_email] = 1
@@ -198,7 +198,7 @@
emails[d['Requester']] = 1
e = emails.keys()
m = mailer.Message()
- m.set_headers(to = string.join(e, ", "),
+ m.set_headers(to = string.join(e, ", "),
subject = "[%s] builder queue problem" % config.builder)
m.write("there were problems sending files from queue %s:\n" % dir)
m.write("problems:\n")
================================================================
Index: pld-builder.new/PLD_Builder/ftp.py
diff -u pld-builder.new/PLD_Builder/ftp.py:1.14 pld-builder.new/PLD_Builder/ftp.py:1.15
--- pld-builder.new/PLD_Builder/ftp.py:1.14 Tue Apr 7 16:23:26 2009
+++ pld-builder.new/PLD_Builder/ftp.py Sat Oct 1 20:54:51 2011
@@ -25,7 +25,7 @@
self.url = config.test_ftp_url
else:
self.url = config.ftp_url
-
+
def add(self, file, type):
# if /dev/null, say bye bye
if self.url == "/dev/null":
@@ -46,7 +46,7 @@
Requester: %s
END
""" % (self.url, l['name'], config.builder, time.time(), l['type'], self.requester_email)
-
+
for l in self.queue:
f = open(path.ftp_queue_dir + '/' + l['id'] + ".desc", "w")
f.write(desc(l))
@@ -63,7 +63,7 @@
def flush():
queue.flush()
-
+
def kill():
queue.kill()
@@ -72,6 +72,6 @@
def status():
return queue.status
-
+
def clear_status():
queue.status = ""
================================================================
Index: pld-builder.new/PLD_Builder/get_br.py
diff -u pld-builder.new/PLD_Builder/get_br.py:1.3 pld-builder.new/PLD_Builder/get_br.py:1.4
--- pld-builder.new/PLD_Builder/get_br.py:1.3 Thu Dec 9 19:09:04 2004
+++ pld-builder.new/PLD_Builder/get_br.py Sat Oct 1 20:54:51 2011
@@ -8,7 +8,7 @@
def get_build_requires(spec, bconds_with, bconds_without):
cond_rx = re.compile(r"%\{(\!\?|\?\!|\?)([a-zA-Z0-9_+]+)\s*:([^%\{\}]*)\}")
-
+
def expand_conds(l):
def expand_one(m):
if m.group(1) == "?":
@@ -18,7 +18,7 @@
if not macros.has_key(m.group(2)):
return m.group(3)
return ""
-
+
for i in range(10):
l = cond_rx.sub(expand_one, l)
if len(l) > 1000: break
@@ -32,13 +32,13 @@
return string.strip(macros[m.group(1)])
else:
return m.group(0) # don't change
-
+
for i in range(10):
l = macro_rx.sub(expand_one, l)
if len(l) > 1000: break
-
+
return expand_conds(l)
-
+
simple_br_rx = re.compile(r"^BuildRequires\s*:\s*([^\s]+)", re.I)
bcond_rx = re.compile(r"^%bcond_(with|without)\s+([^\s]+)")
version_rx = re.compile(r"^Version\s*:\s*([^\s]+)", re.I)
@@ -46,7 +46,7 @@
name_rx = re.compile(r"^Name\s*:\s*([^\s]+)", re.I)
define_rx = re.compile(r"^\%define\s+([a-zA-Z0-9_+]+)\s+(.*)", re.I)
any_br_rx = re.compile(r"BuildRequires", re.I)
-
+
macros = {}
for b in bconds_with:
macros["_with_%s" % b] = 1
@@ -59,24 +59,24 @@
macros["kgcc_package"] = "gcc"
build_req = []
-
+
f = open(spec)
for l in xreadlines.xreadlines(f):
l = string.strip(l)
if l == "%changelog": break
-
+
# %bcond_with..
m = bcond_rx.search(l)
if m:
bcond = m.group(2)
if m.group(1) == "with":
- if macros.has_key("_with_%s" % bcond):
+ if macros.has_key("_with_%s" % bcond):
macros["with_%s" % bcond] = 1
else:
- if not macros.has_key("_without_%s" % bcond):
+ if not macros.has_key("_without_%s" % bcond):
macros["with_%s" % bcond] = 1
continue
-
+
# name,version,release
m = version_rx.search(l)
if m: macros["version"] = m.group(1)
@@ -88,7 +88,7 @@
# %define
m = define_rx.search(l)
if m: macros[m.group(1)] = m.group(2)
-
+
# *BuildRequires*
if any_br_rx.search(l):
l = expand_macros(l)
================================================================
Index: pld-builder.new/PLD_Builder/gpg.py
diff -u pld-builder.new/PLD_Builder/gpg.py:1.24 pld-builder.new/PLD_Builder/gpg.py:1.25
--- pld-builder.new/PLD_Builder/gpg.py:1.24 Sat Feb 13 22:09:46 2010
+++ pld-builder.new/PLD_Builder/gpg.py Sat Oct 1 20:54:51 2011
@@ -30,7 +30,7 @@
rx = re.compile("^gpg: Signature made .*using [DR]SA key ID (.+)")
keys = []
-
+
for l in d_stderr.split('\n'):
m = rx.match(l)
if m:
================================================================
Index: pld-builder.new/PLD_Builder/install.py
diff -u pld-builder.new/PLD_Builder/install.py:1.24 pld-builder.new/PLD_Builder/install.py:1.25
--- pld-builder.new/PLD_Builder/install.py:1.24 Fri May 22 11:57:38 2009
+++ pld-builder.new/PLD_Builder/install.py Sat Oct 1 20:54:51 2011
@@ -178,7 +178,7 @@
if len(needed) == 0:
b.log_line("no BR needed")
return True
-
+
nbr = ""
for bre in needed.keys():
nbr = nbr + " " + re.escape(bre)
================================================================
Index: pld-builder.new/PLD_Builder/load_balancer.py
diff -u pld-builder.new/PLD_Builder/load_balancer.py:1.10 pld-builder.new/PLD_Builder/load_balancer.py:1.11
--- pld-builder.new/PLD_Builder/load_balancer.py:1.10 Thu Feb 17 23:53:28 2005
+++ pld-builder.new/PLD_Builder/load_balancer.py Sat Oct 1 20:54:51 2011
@@ -24,11 +24,11 @@
for b in config.binary_builders:
bs[b] = 0
bl.append(b)
-
+
lck = lock.lock("got-lock")
f = open(path.got_lock_file, "r+")
line_no = 0
-
+
for l in f.xreadlines():
line_no += 1
b = string.strip(l)
@@ -39,7 +39,7 @@
def mycmp(b1, b2):
return cmp(bs[b1], bs[b2])
-
+
bl.sort(mycmp)
f.seek(0)
================================================================
Index: pld-builder.new/PLD_Builder/log.py
diff -u pld-builder.new/PLD_Builder/log.py:1.15 pld-builder.new/PLD_Builder/log.py:1.16
--- pld-builder.new/PLD_Builder/log.py:1.15 Fri Oct 2 10:34:26 2009
+++ pld-builder.new/PLD_Builder/log.py Sat Oct 1 20:54:51 2011
@@ -26,22 +26,22 @@
f = open(path.log_file, "a")
f.write("%s [%s]: %s [%s]\n" % (time.asctime(), builder, s, os.path.basename(sys.argv[0])))
f.close()
-
+
def panic(s):
log(syslog.LOG_ALERT, "PANIC: %s" % s)
raise Exception, "PANIC: %s" % str(s)
def alert(s):
- log(syslog.LOG_ALERT, "alert: %s" % s)
-
+ log(syslog.LOG_ALERT, "alert: %s" % s)
+
def error(s):
- log(syslog.LOG_ERR, "error: %s" % s)
-
+ log(syslog.LOG_ERR, "error: %s" % s)
+
def warn(s):
- log(syslog.LOG_WARNING, "warning: %s" % s)
-
+ log(syslog.LOG_WARNING, "warning: %s" % s)
+
def notice(s):
- log(syslog.LOG_NOTICE, "notice: %s" % s)
+ log(syslog.LOG_NOTICE, "notice: %s" % s)
def open_syslog(name, f):
global do_syslog
================================================================
Index: pld-builder.new/PLD_Builder/loop.py
diff -u pld-builder.new/PLD_Builder/loop.py:1.2 pld-builder.new/PLD_Builder/loop.py:1.3
--- pld-builder.new/PLD_Builder/loop.py:1.2 Thu Dec 9 19:09:04 2004
+++ pld-builder.new/PLD_Builder/loop.py Sat Oct 1 20:54:51 2011
@@ -20,7 +20,7 @@
sys.exit(s)
else:
sys.exit(10)
-
+
start = time.time()
while time.time() - start < max:
last = time.time()
================================================================
Index: pld-builder.new/PLD_Builder/notify.py
diff -u pld-builder.new/PLD_Builder/notify.py:1.7 pld-builder.new/PLD_Builder/notify.py:1.8
--- pld-builder.new/PLD_Builder/notify.py:1.7 Fri Feb 6 15:02:21 2009
+++ pld-builder.new/PLD_Builder/notify.py Sat Oct 1 20:54:51 2011
@@ -13,7 +13,7 @@
self.xml = StringIO.StringIO()
self.xml.write("<notification group-id='%s' builder='%s'>\n" % \
(g.id, config.builder))
-
+
def send(self, r):
sio = StringIO.StringIO()
self.xml.write("</notification>\n")
@@ -24,10 +24,10 @@
notifyq.init(r)
notifyq.add(sio)
notifyq.flush()
-
+
def add_batch(self, b, s):
self.xml.write(" <batch id='%s' status='%s' />\n" % (b.b_id, s))
-
+
n = None
def begin(group):
================================================================
Index: pld-builder.new/PLD_Builder/notifyq.py
diff -u pld-builder.new/PLD_Builder/notifyq.py:1.2 pld-builder.new/PLD_Builder/notifyq.py:1.3
--- pld-builder.new/PLD_Builder/notifyq.py:1.2 Tue Apr 7 16:23:26 2009
+++ pld-builder.new/PLD_Builder/notifyq.py Sat Oct 1 20:54:51 2011
@@ -17,7 +17,7 @@
self.queue = []
self.requester_email = g.requester_email
self.notify_url = config.notify_url
-
+
def add(self, file):
id = util.uuid()
f = open(path.notify_queue_dir + '/' + id, 'w')
@@ -34,7 +34,7 @@
Requester: %s
END
""" % (self.notify_url, l['id'], config.builder, time.time(), self.requester_email)
-
+
for l in self.queue:
f = open(path.notify_queue_dir + '/' + l['id'] + ".desc", "w")
f.write(desc(l))
@@ -51,7 +51,7 @@
def flush():
queue.flush()
-
+
def kill():
queue.kill()
@@ -60,6 +60,6 @@
def status():
return queue.status
-
+
def clear_status():
queue.status = ""
================================================================
Index: pld-builder.new/PLD_Builder/poldek.py
diff -u pld-builder.new/PLD_Builder/poldek.py:1.3 pld-builder.new/PLD_Builder/poldek.py:1.4
--- pld-builder.new/PLD_Builder/poldek.py:1.3 Thu Dec 9 19:09:05 2004
+++ pld-builder.new/PLD_Builder/poldek.py Sat Oct 1 20:54:51 2011
@@ -19,10 +19,10 @@
# and intersection method on set object
def intersect(a, b):
r = []
- for x in a:
+ for x in a:
if x in b: r.append(x)
return r
-
+
# add given req-list to cur_pkg_reqs
def add_req(reqs):
if len(reqs) == 1:
@@ -49,11 +49,11 @@
return
if not did:
cur_pkg_reqs.append(reqs)
-
+
pkg_reqs = {}
cur_pkg_reqs = None
cur_pkg = None
-
+
f = chr_popen("poldek -v -v --verify --unique-pkg-names")
for l in xreadlines.xreadlines(f):
m = name_rx.match(l)
@@ -78,7 +78,7 @@
else:
msg("poldek_reqs: bad pkg name: %s\n" % x)
if len(reqs) != 0: add_req(reqs)
-
+
f.close()
if cur_pkg:
================================================================
Index: pld-builder.new/PLD_Builder/report.py
diff -u pld-builder.new/PLD_Builder/report.py:1.36 pld-builder.new/PLD_Builder/report.py:1.37
--- pld-builder.new/PLD_Builder/report.py:1.36 Tue Nov 16 09:07:50 2010
+++ pld-builder.new/PLD_Builder/report.py Sat Oct 1 20:54:51 2011
@@ -52,7 +52,7 @@
copy_mode = 0
else:
target.write(l)
-
+
def send_report(r, is_src = False):
s_failed = ' '.join([b.spec for b in r.batches if b.build_failed])
s_ok = ' '.join([b.spec for b in r.batches if not b.build_failed])
<<Diff was trimmed, longer than 597 lines>>
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/pld-builder.new/PLD_Builder/acl.py?r1=1.28&r2=1.29&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/pld-builder.new/PLD_Builder/bqueue.py?r1=1.23&r2=1.24&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/pld-builder.new/PLD_Builder/build.py?r1=1.17&r2=1.18&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/pld-builder.new/PLD_Builder/buildlogs.py?r1=1.26&r2=1.27&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/pld-builder.new/PLD_Builder/chroot.py?r1=1.40&r2=1.41&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/pld-builder.new/PLD_Builder/config.py?r1=1.41&r2=1.42&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/pld-builder.new/PLD_Builder/deps.py?r1=1.2&r2=1.3&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/pld-builder.new/PLD_Builder/file_sender.py?r1=1.39&r2=1.40&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/pld-builder.new/PLD_Builder/ftp.py?r1=1.14&r2=1.15&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/pld-builder.new/PLD_Builder/get_br.py?r1=1.3&r2=1.4&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/pld-builder.new/PLD_Builder/gpg.py?r1=1.24&r2=1.25&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/pld-builder.new/PLD_Builder/install.py?r1=1.24&r2=1.25&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/pld-builder.new/PLD_Builder/load_balancer.py?r1=1.10&r2=1.11&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/pld-builder.new/PLD_Builder/log.py?r1=1.15&r2=1.16&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/pld-builder.new/PLD_Builder/loop.py?r1=1.2&r2=1.3&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/pld-builder.new/PLD_Builder/notify.py?r1=1.7&r2=1.8&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/pld-builder.new/PLD_Builder/notifyq.py?r1=1.2&r2=1.3&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/pld-builder.new/PLD_Builder/poldek.py?r1=1.3&r2=1.4&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/pld-builder.new/PLD_Builder/report.py?r1=1.36&r2=1.37&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/pld-builder.new/PLD_Builder/request_fetcher.py?r1=1.29&r2=1.30&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/pld-builder.new/PLD_Builder/request_handler.py?r1=1.53&r2=1.54&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/pld-builder.new/PLD_Builder/rpm_builder.py?r1=1.127&r2=1.128&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/pld-builder.new/PLD_Builder/srpm_builder.py?r1=1.78&r2=1.79&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/pld-builder.new/PLD_Builder/stopwatch.py?r1=1.2&r2=1.3&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/pld-builder.new/PLD_Builder/util.py?r1=1.13&r2=1.14&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/pld-builder.new/client/smtpwrapper.py?r1=1.1&r2=1.2&f=u
More information about the pld-cvs-commit
mailing list