Logic for building OpenDaylight's upstream Source RPMs.
-SRPM/RPM builds are supported for the following OpenDaylight versions:
+SRPM/RPM builds are supported for the following OpenDaylight major releases, as well as various daily builds:
* Helium SR4
* Lithium
* Lithium SR1
* Lithium SR2
* Lithium SR3
+* Lithium SR4
+* Beryllium
+* Beryllium SR1
## Overview
are called "release versions". For a given OpenDaylight major.minor.patch
version, there will be one or more major.minor.patch-rpm_release RPMs.
-#### `rpm_disttag`
-
-Override build VM's disttag from `.el7.centos` to `.el7` per [expected norms][11].
-
-By default, the disttag RPM macro is determined at RPM build time by the
-`rpmbuild` tool. For our CentOS 7 Vagrantfile, this results in a disttag of
-`.el7.centos`. However, especially since we generate noarch RPMs, there's no
-technical reason to use `.el7.centos` instead of the more common `.el7` disttag.
-Per [recommendations from upstream CentOS packagers][11], seemingly mostly to
-avoid confusion, we're overriding the default `.el7.centos` to `.el7` for all
-current builds.
-
-#### `java_version`
-
-Java versions supported by this ODL release.
-
-Versions are specified as a range, in the format required by RPM spec files.
-
-For example: `>= 1:1.7.0`
-
#### `sysd_commit`
Version of ODL systemd unitfile to download and package in ODL RPM.
Examples include "Helium-SR4", "Lithium" and "Lithium-SR1".
+#### `download_url`
+
+The ODL RPM repackages the tarball build artifact produced by ODL's
+autorelease build, because building Java projects from source directly
+to RPMs is very difficult with current tooling. This is the URL to the
+tarball ODL build to repackage into an RPM.
+
#### `changelog`
Entry in the RPM .spec file's changelog for this RPM.
another sandbox, then inspected.
The `build.py` helper script can build a set of SRPMs/RPMs based on provided
-version arguments or all defined builds.
+version arguments.
```
[vagrant@localhost ~]$ /vagrant/build.py -h
usage: build.py [-h] [-v [major minor patch rpm [major minor patch rpm ...]]]
- [-a]
optional arguments:
-h, --help show this help message and exit
-v [major minor patch rpm [major minor patch rpm ...]], --version [major minor patch rpm [major minor patch rpm ...]]
RPM version(s) to build
- -a, --all Build all RPMs
```
The `-v`/`--version` flag accepts a version number. Any build that matches
the match unique. For example, `build.py -v 2 4 0 1` could only match one
definition (Helium SR4, 2.4.0-1).
-To build all RPMs defined in `build_vars.yaml`, use `build.py -a`.
-
The `build.py` script uses the `cache/cache.py` script to handled downloading
and caching the artifacts required for the requested builds. Artifacts are
cached in the `packaging/rpm/cache/` directory.