Russell or Flavio, would you mind reviewing this? It seems like a plausible patch to me but I am no judge of RPMs.
On Tue, Jun 07, 2016 at 04:23:14PM -0400, Leif Madsen wrote: > Provides changes to the automake.mk file in the rhel/ directory to utilize > mock > instead of rpmbuild for the rpm-fedora build target. The usage of mock > provides > an isolated environment for building packages, and makes things reproducible > in > various environment by relying on the spec file for a list of dependencies to > install. > > Documentation has been updated to reflect this change by noting that mock is a > package dependency. > > It has also been noted that the existing package list for buil dependencies > remains unchanged for now, as the kmod packages are still utilizing rpmbuild. > A > submission in the future will update the rpm-fedora-kmod build target to work > in a similar manner to what is being provided here. > > Signed-off-by: Leif Madsen <[email protected]> > --- > AUTHORS | 1 + > INSTALL.Fedora.md | 19 ++++++++++++++++--- > rhel/automake.mk | 15 ++++++++++++--- > 3 files changed, 29 insertions(+), 6 deletions(-) > > diff --git a/AUTHORS b/AUTHORS > index 9fda4c1..18c1d3a 100644 > --- a/AUTHORS > +++ b/AUTHORS > @@ -133,6 +133,7 @@ Kyle Upton [email protected] > Lance Richardson [email protected] > Lars Kellogg-Stedman [email protected] > Lei Huang [email protected] > +Leif Madsen [email protected] > Leo Alterman [email protected] > Lilijun [email protected] > Linda Sun [email protected] > diff --git a/INSTALL.Fedora.md b/INSTALL.Fedora.md > index 12d9a72..5fff636 100644 > --- a/INSTALL.Fedora.md > +++ b/INSTALL.Fedora.md > @@ -12,8 +12,13 @@ for RHEL 7.x and its derivatives, including CentOS 7.x and > Scientific Linux > > Build Requirements > ------------------ > -The tools and packages that are required for building Open vSwitch are > -documented in [INSTALL.md]. Specific packages (by package name) include: > +The only package required for building Open vSwitch is `mock` as all > +dependencies will be automatically installed from the package list within the > +RPM spec files. The tools and packages that are required for building Open > vSwitch are > +documented in [INSTALL.md]. > + > +However, to build the kmod packages require the following specific packages > +(by package name): > > - rpm-build > - autoconf automake libtool > @@ -57,7 +62,8 @@ cd openvswitch-x.y.z > ### Building the User-Space RPMs > To build Open vSwitch user-space RPMs, after having completed the appropriate > preparation steps described above, execute the following from the directory > -in which `./configure` was executed: > +in which `./configure` was executed. The build will be done within `mock`, > +allowing for reproducible builds in an isolated environment. > > ``` > make rpm-fedora > @@ -68,6 +74,13 @@ This will create the RPMs `openvswitch`, > `python-openvswitch`, > `openvswitch-ovn-central`, `openvswitch-ovn-host`, `openvswitch-ovn-vtep`, > `openvswitch-ovn-docker`, and `openvswitch-debuginfo`. > > +The default build root is Fedora 23 x86_64 (/etc/mock/fedora-23-x86_64.cfg). > To > +change the default build root you can pass RPMBUILD_ROOT environment > variable: > + > +``` > +make rpm-fedora RPMBUILD_ROOT="epel-7-x86_64" > +``` > + > To enable DPDK support in the openvswitch package, > the `--with dpdk` option can be added: > > diff --git a/rhel/automake.mk b/rhel/automake.mk > index dc30715..97d2117 100644 > --- a/rhel/automake.mk > +++ b/rhel/automake.mk > @@ -52,14 +52,23 @@ $(srcdir)/rhel/openvswitch-fedora.spec: > rhel/openvswitch-fedora.spec.in $(top_bu > $(update_rhel_spec) > > RPMBUILD_TOP := $(abs_top_builddir)/rpm/rpmbuild > +RPMBUILD_ROOT := fedora-23-x86_64 > > # Build user-space RPMs > rpm-fedora: dist $(srcdir)/rhel/openvswitch-fedora.spec > ${MKDIR_P} ${RPMBUILD_TOP}/SOURCES > cp ${DIST_ARCHIVES} ${RPMBUILD_TOP}/SOURCES > - rpmbuild ${RPMBUILD_OPT} \ > - -D "_topdir ${RPMBUILD_TOP}" \ > - -bb $(srcdir)/rhel/openvswitch-fedora.spec > + mock --root ${RPMBUILD_ROOT} \ > + --dnf \ > + --spec $(srcdir)/rhel/openvswitch-fedora.spec \ > + --sources=${RPMBUILD_TOP}/SOURCES \ > + --resultdir=${RPMBUILD_TOP}/SRPMS \ > + --buildsrpm > + mock --root ${RPMBUILD_ROOT} ${RPMBUILD_OPT} \ > + --dnf --define "_topdir ${RPMBUILD_TOP}" \ > + --rebuild \ > + --resultdir=${RPMBUILD_TOP}/RPMS \ > + ${RPMBUILD_TOP}/SRPMS/openvswitch-$(VERSION)*.src.rpm > > # Build kernel datapath RPM > rpm-fedora-kmod: dist $(srcdir)/rhel/openvswitch-kmod-fedora.spec > -- > 2.5.5 > > _______________________________________________ > dev mailing list > [email protected] > http://openvswitch.org/mailman/listinfo/dev _______________________________________________ dev mailing list [email protected] http://openvswitch.org/mailman/listinfo/dev
