[projects/pld-builder.new] add support for define xml tags
glen
glen at pld-linux.org
Wed Oct 17 22:49:23 CEST 2012
commit d6139a2517bb27f19dc2393cd741e94735fad2d8
Author: Elan Ruusamäe <glen at delfi.ee>
Date: Wed Oct 17 22:47:08 2012 +0200
add support for define xml tags
PLD_Builder/request.py | 27 +++++++++++++++++++++++----
PLD_Builder/srpm_builder.py | 4 ++--
2 files changed, 25 insertions(+), 6 deletions(-)
---
diff --git a/PLD_Builder/request.py b/PLD_Builder/request.py
index 0731df8..f4cc0be 100644
--- a/PLD_Builder/request.py
+++ b/PLD_Builder/request.py
@@ -157,6 +157,7 @@ class Batch:
self.builders_status_time = {}
self.builders_status_buildtime = {}
self.kernel = ""
+ self.defines = {}
self.target = []
self.branch = ""
self.src_rpm = ""
@@ -188,6 +189,9 @@ class Batch:
self.info = text(c)
elif c.nodeName == "kernel":
self.kernel = text(c)
+ elif c.nodeName == "define":
+ define = attr(c, "name")
+ self.defines[define] = text(c)
elif c.nodeName == "target":
self.target.append(text(c))
elif c.nodeName == "skip":
@@ -219,6 +223,7 @@ class Batch:
f.write(" batch: %s/%s\n" % (self.src_rpm, self.spec))
f.write(" info: %s\n" % self.info)
f.write(" kernel: %s\n" % self.kernel)
+ f.write(" defines: %s\n" % self.defines_string())
f.write(" target: %s\n" % self.target_string())
f.write(" branch: %s\n" % self.branch)
f.write(" bconds: %s\n" % self.bconds_string())
@@ -240,11 +245,11 @@ class Batch:
'branch': self.branch,
'package': self.spec[:-5],
}
- desc = "%(src_rpm)s (<a href=\"%(package_url)s\">%(spec)s -r %(branch)s</a>%(bconds)s)" % {
+ desc = "%(src_rpm)s (<a href=\"%(package_url)s\">%(spec)s -r %(branch)s</a>%(rpmopts)s)" % {
'src_rpm': self.src_rpm,
'spec': self.spec,
'branch': self.branch,
- 'bconds': self.bconds_string() + self.kernel_string() + self.target_string(),
+ 'rpmopts': self.bconds_string() + self.kernel_string() + self.target_string() + self.defines_string(),
'package_url': package_url,
}
f.write("%s <small>[" % desc)
@@ -305,13 +310,13 @@ class Batch:
"""
return all rpmbuild options related to this build
"""
- bconds = self.bconds_string() + self.kernel_string() + self.target_string()
+ rpmopts = self.bconds_string() + self.kernel_string() + self.target_string() + defines_string()
rpmdefs = \
"--define '_topdir %(echo $HOME/rpm)' " \
"--define '_specdir %{_topdir}/packages/%{name}' " \
"--define '_sourcedir %{_specdir}' " \
"--define '_builddir %{_topdir}/BUILD/%{name}' "
- return rpmdefs + bconds
+ return rpmdefs + rpmopts
def kernel_string(self):
r = ""
@@ -333,6 +338,18 @@ class Batch:
r = r + " --without " + b
return r
+ def defines_string(self):
+ r = ""
+ for key,value in self.defines.items():
+ r += " --define '%s %s'" % (key, value)
+ return r
+
+ def defines_xml(self):
+ r = ""
+ for key,value in self.defines.items():
+ r += "<define name='%s'>%s</define>\n" % (escape(key), escape(value))
+ return r
+
def default_target(self, arch):
self.target.append("%s-pld-linux" % arch)
@@ -356,6 +373,8 @@ class Batch:
f.write(" <target>%s</target>\n" % escape(b))
for b in self.bconds_without:
f.write(" <without>%s</without>\n" % escape(b))
+ if self.defines:
+ f.write(" %s\n" % self.defines_xml())
for b in self.builders:
if self.builders_status_buildtime.has_key(b):
t = self.builders_status_buildtime[b]
diff --git a/PLD_Builder/srpm_builder.py b/PLD_Builder/srpm_builder.py
index 6b18884..0c4f516 100644
--- a/PLD_Builder/srpm_builder.py
+++ b/PLD_Builder/srpm_builder.py
@@ -103,9 +103,9 @@ def build_srpm(r, b):
tag_test=""
else:
tag_test=" -Tp %s -tt" % (config.tag_prefixes[0],)
- cmd = ("cd rpm/packages; nice -n %s ./builder %s -bs %s -r %s %s %s %s 2>&1" %
+ cmd = ("cd rpm/packages; nice -n %s ./builder %s -bs %s -r %s %s %s %s %s 2>&1" %
(config.nice, builder_opts, b.bconds_string(), b.branch,
- tag_test, b.kernel_string(), b.spec))
+ tag_test, b.kernel_string(), b.defines_string(), b.spec))
util.append_to(b.logfile, "request from: %s" % r.requester)
util.append_to(b.logfile, "started at: %s" % time.asctime())
util.append_to(b.logfile, "building SRPM using: %s\n" % cmd)
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/projects/pld-builder.new.git/commitdiff/d6139a2517bb27f19dc2393cd741e94735fad2d8
More information about the pld-cvs-commit
mailing list