summaryrefslogtreecommitdiff
path: root/packages/brpm
diff options
context:
space:
mode:
Diffstat (limited to 'packages/brpm')
-rwxr-xr-xpackages/brpm15
1 files changed, 11 insertions, 4 deletions
diff --git a/packages/brpm b/packages/brpm
index 77de0cf2..1735f5bb 100755
--- a/packages/brpm
+++ b/packages/brpm
@@ -91,7 +91,7 @@ def format_change_line(ds, who, comment=None):
return "* %s" % (d)
-def generate_spec_contents(args, tmpl_fn, arc_fn):
+def generate_spec_contents(args, tmpl_fn, top_dir, arc_fn):
# Figure out the version and revno
cmd = [util.abs_join(find_root(), 'tools', 'read-version')]
@@ -148,7 +148,9 @@ def generate_spec_contents(args, tmpl_fn, arc_fn):
else:
subs['systemd'] = False
+ subs['defines'] = ["_topdir %s" % (top_dir)]
subs['init_sys'] = args.boot
+ subs['patches'] = [os.path.basename(p) for p in args.patches]
return templater.render_from_file(tmpl_fn, params=subs)
@@ -164,6 +166,10 @@ def main():
" (default: %(default)s)"),
default=False,
action='store_true')
+ parser.add_argument("-p", "--patch", dest="patches",
+ help=("include the following patch when building"),
+ default=[],
+ action='append')
args = parser.parse_args()
capture = True
if args.verbose:
@@ -192,16 +198,17 @@ def main():
# Form the spec file to be used
tmpl_fn = util.abs_join(find_root(), 'packages',
'redhat', 'cloud-init.spec.in')
- contents = generate_spec_contents(args, tmpl_fn,
+ contents = generate_spec_contents(args, tmpl_fn, root_dir,
os.path.basename(archive_fn))
spec_fn = util.abs_join(root_dir, 'cloud-init.spec')
util.write_file(spec_fn, contents)
print("Created spec file at %r" % (spec_fn))
+ for p in args.patches:
+ util.copy(p, util.abs_join(arc_dir, os.path.basename(p)))
# Now build it!
print("Running 'rpmbuild' in %r" % (root_dir))
- cmd = ['rpmbuild', '--clean',
- '-ba', spec_fn]
+ cmd = ['rpmbuild', '-ba', spec_fn]
util.subp(cmd, capture=capture)
# Copy the items built to our local dir