self.builders_status_time = {}
self.builders_status_buildtime = {}
self.kernel = ""
+ self.defines = {}
self.target = []
self.branch = ""
self.src_rpm = ""
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":
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())
'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)
"""
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 = ""
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)
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]
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)