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 <therbert@redhat.com>
This commit is contained in:
Thomas F Herbert
2017-07-19 19:17:15 -04:00
committed by Neale Ranns
parent 80cb2584c3
commit b60f4965bf
3 changed files with 24 additions and 5 deletions

View File

@ -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)

View 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 SOURCES RPMS
cp $(TARBALL) SOURCES/vpp-latest.tar.xz
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 RPMS SOURCES
cp $(TARBALL) SOURCES/vpp-$(VERSION)-$(RELEASE).tar.xz
rpmbuild -bb \
--define "_topdir $(PWD)" \
--define "_version $(VERSION)" \

View 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