Create source rpm. 56/7856/3
authorThomas F Herbert <therbert@redhat.com>
Wed, 19 Jul 2017 23:17:15 +0000 (19:17 -0400)
committerNeale Ranns <nranns@cisco.com>
Tue, 8 Aug 2017 15:29:11 +0000 (15:29 +0000)
Use actual file name for tarball.
Includes required modifications in spec file for unpacking srpm.
Spec file source references actual dist tarball name
so it matches the revision and release while building from srpm.

JIRA: VPP-498

Change-Id: I8b55a69f060b7864527b94d8c5b0a2ebccc306b1
Signed-off-by: Thomas F Herbert <therbert@redhat.com>
Makefile
extras/rpm/Makefile
extras/rpm/vpp.spec

index c8eba6e..1cce928 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -435,6 +435,9 @@ pkg-deb:
 pkg-rpm: dist
        make -C extras/rpm
 
+pkg-srpm: dist
+       make -C extras/rpm srpm
+
 dpdk-install-dev:
        make -C dpdk install-$(PKG)
 
index 1dcbb20..534e4d4 100644 (file)
@@ -17,11 +17,27 @@ TARBALL=$(shell realpath ../../build-root/vpp-latest.tar.xz)
 BASENAME=$(shell basename $(TARBALL) | sed -e s/.tar.\*//)
 VERSION=$(shell echo $(BASENAME) | cut -f2 -d-)
 RELEASE=$(shell echo $(BASENAME) | cut -f3- -d- | sed -e s/-/_/g)
+PC=%
 
-all:
+all: RPM
+
+srpm:
+       @echo $(TARBALL)
+       mkdir -p rpmbuild/{RPMS,SRPMS,BUILD,SOURCES,SPECS}
+       cp $(TARBALL) rpmbuild/SOURCES/vpp-$(VERSION)-$(RELEASE).tar.xz
+       cp vpp.spec rpmbuild/SOURCES
+       sed -i '1s/^/$(PC)define _version $(VERSION)\n/' rpmbuild/SOURCES/vpp.spec
+       sed -i '1s/^/$(PC)define _release $(RELEASE)\n/' rpmbuild/SOURCES/vpp.spec
+       sed -i '/define _topdir/d' rpmbuild/SOURCES/vpp.spec
+       rpmbuild -bs \
+         --define "_topdir rpmbuild" \
+         rpmbuild/SOURCES/vpp.spec
+       mv $$(find rpmbuild/SRPMS -name \*.src.rpm -type f) .
+
+RPM:
        @echo $(TARBALL)
-       mkdir -p SOURCES RPMS
-       cp $(TARBALL) SOURCES/vpp-latest.tar.xz
+       mkdir -p RPMS SOURCES
+       cp $(TARBALL) SOURCES/vpp-$(VERSION)-$(RELEASE).tar.xz
        rpmbuild -bb \
          --define "_topdir $(PWD)" \
          --define "_version $(VERSION)" \
index 3644570..ffb6382 100644 (file)
@@ -30,8 +30,8 @@ Release: %{_release}
 Requires: vpp-lib = %{_version}-%{_release}, net-tools, pciutils, python
 BuildRequires: systemd, chrpath
 
-Source: %{name}-%{_version}-%{_release}.tar.xz
-Source: vpp-latest.tar.xz
+Source: %{name}-%{_version}-%{_release}.tar.xz
+Source: vpp-latest.tar.xz
 
 %description
 This package provides VPP executables: vpp, vpp_api_test, vpp_json_test