Add ability to build RPMs without defining in YAML 81/41081/4
authorDaniel Farrell <dfarrell@redhat.com>
Wed, 29 Jun 2016 22:50:30 +0000 (18:50 -0400)
committerDaniel Farrell <dfarrell@redhat.com>
Thu, 30 Jun 2016 22:57:34 +0000 (22:57 +0000)
Adds params to build.py that can define/build an RPM without adding
them to build_vars.yaml. This will allow builds via Jenkins jobs
without humans updating the YAML config.

Change-Id: Idda2049b418a6f3572152271ac7871a23310a2f7
Signed-off-by: Daniel Farrell <dfarrell@redhat.com>
rpm/build.py

index e872d1c2e0c00f54e0ef17c169286a73a9eb8d80..774c9de05e60557750b4189681b3f23e16c78a2f 100755 (executable)
@@ -99,9 +99,22 @@ if __name__ == "__main__":
     # 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:
@@ -134,6 +147,17 @@ if __name__ == "__main__":
                 # 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)