# Accept the version(s) of the build(s) to perform as args
# TODO: More docs on ArgParser and argument
parser = argparse.ArgumentParser()
- parser.add_argument("-v", "--version", action="append",
- metavar="major minor patch rpm", nargs="*",
- help="RPM version(s) to build")
+ existing_build_group = parser.add_argument_group("Existing build")
+ existing_build_group.add_argument(
+ "-v", "--version", action="append", metavar="major minor patch rpm",
+ nargs="*", help="RPM version(s) to build"
+ )
+ new_build_group = parser.add_argument_group("New build")
+ new_build_group.add_argument("--major", help="Major (element) version to build")
+ new_build_group.add_argument("--minor", help="Minor (SR) version to build")
+ new_build_group.add_argument("--patch", help="Patch version to build")
+ new_build_group.add_argument("--rpm", help="RPM version to build")
+ new_build_group.add_argument("--sysd_commit", help="Version of ODL unitfile to package")
+ new_build_group.add_argument("--codename", help="Codename for ODL version")
+ new_build_group.add_argument("--download_url", help="Tarball to repackage into RPM")
+ new_build_group.add_argument("--changelog_date", help="Date this RPM was defined")
+ new_build_group.add_argument("--changelog_name", help="Name of person who defined RPM")
+ new_build_group.add_argument("--changelog_email", help="Email of person who defined RPM")
# Print help if no arguments are given
if len(sys.argv) == 1:
# build list.
if all(item in build.items() for item in version.items()):
builds.append(build)
+ else:
+ builds.append({"version_major": args.major,
+ "version_minor": args.minor,
+ "version_patch": args.patch,
+ "rpm_release": args.rpm,
+ "sysd_commit": args.sysd_commit,
+ "codename": args.codename,
+ "download_url": args.download_url,
+ "changelog_date": args.changelog_date,
+ "changelog_name": args.changelog_name,
+ "changelog_email": args.changelog_email})
for build in builds:
build_rpm(build)