From b60f4965bf6f51eb746e18fa0307af8e3444bf96 Mon Sep 17 00:00:00 2001 From: Thomas F Herbert Date: Wed, 19 Jul 2017 19:17:15 -0400 Subject: Create source rpm. 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 --- Makefile | 3 +++ extras/rpm/Makefile | 22 +++++++++++++++++++--- extras/rpm/vpp.spec | 4 ++-- 3 files changed, 24 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index c8eba6e3ed3..1cce928aa1a 100644 --- 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) diff --git a/extras/rpm/Makefile b/extras/rpm/Makefile index 1dcbb203d0f..534e4d43f99 100644 --- a/extras/rpm/Makefile +++ b/extras/rpm/Makefile @@ -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)" \ diff --git a/extras/rpm/vpp.spec b/extras/rpm/vpp.spec index 3644570d117..ffb6382fefd 100644 --- a/extras/rpm/vpp.spec +++ b/extras/rpm/vpp.spec @@ -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 -- cgit 1.2.3-korg