[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