Fix "make dist" to include version number, docouple it from rpm packaging
Change-Id: If2f9976d668089026c97b897cf449bff09050631 Signed-off-by: Damjan Marion <damarion@cisco.com>
This commit is contained in:

committed by
Florin Coras

parent
b59a705552
commit
c06eeb0e3c
26
Makefile
26
Makefile
@ -214,18 +214,30 @@ else
|
|||||||
$(shell $(BR)/scripts/version > $(BR)/scripts/.version)
|
$(shell $(BR)/scripts/version > $(BR)/scripts/.version)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
dist: $(BR)/scripts/.version
|
DIST_FILE = $(BR)/vpp-$(shell src/scripts/version).tar
|
||||||
$(MAKE) verstring=$(PLATFORM)-$(shell cat $(BR)/scripts/.version) prefix=$(PLATFORM) distversion
|
DIST_SUBDIR = vpp-$(shell src/scripts/version|cut -f1 -d-)
|
||||||
|
|
||||||
distversion: $(BR)/scripts/.version
|
dist:
|
||||||
$(BR)/scripts/verdist ${BR} ${prefix}-$(shell $(BR)/scripts/version rpm-version) ${verstring}
|
@git archive \
|
||||||
mv $(verstring).tar.gz $(BR)/rpm
|
--prefix=$(DIST_SUBDIR)/ \
|
||||||
|
--format=tar \
|
||||||
|
-o $(DIST_FILE) \
|
||||||
|
HEAD
|
||||||
|
@git describe > $(BR)/.version
|
||||||
|
@tar --append \
|
||||||
|
--file $(DIST_FILE) \
|
||||||
|
--transform='s,.*/.version,$(DIST_SUBDIR)/src/scripts/.version,' \
|
||||||
|
$(BR)/.version
|
||||||
|
@$(RM) $(BR)/.version $(DIST_FILE).xz
|
||||||
|
@xz -v --threads=0 $(DIST_FILE)
|
||||||
|
@$(RM) $(BR)/vpp-latest.tar.xz
|
||||||
|
@ln -rs $(DIST_FILE).xz $(BR)/vpp-latest.tar.xz
|
||||||
|
|
||||||
build: $(BR)/.bootstrap.ok
|
build: $(BR)/.bootstrap.ok
|
||||||
$(call make,$(PLATFORM)_debug,vpp-install)
|
$(call make,$(PLATFORM)_debug,vpp-install)
|
||||||
|
|
||||||
wipedist:
|
wipedist:
|
||||||
$(RM) $(BR)/scripts/.version $(BR)/rpm/*.tar.gz
|
@$(RM) $(BR)/*.tar.xz
|
||||||
|
|
||||||
wipe: wipedist $(BR)/.bootstrap.ok
|
wipe: wipedist $(BR)/.bootstrap.ok
|
||||||
$(call make,$(PLATFORM)_debug,vpp-wipe)
|
$(call make,$(PLATFORM)_debug,vpp-wipe)
|
||||||
@ -351,7 +363,7 @@ pkg-deb:
|
|||||||
$(call make,$(PLATFORM),install-deb)
|
$(call make,$(PLATFORM),install-deb)
|
||||||
|
|
||||||
pkg-rpm: dist
|
pkg-rpm: dist
|
||||||
$(call make,$(PLATFORM),install-rpm)
|
make -C extras/rpm
|
||||||
|
|
||||||
dpdk-install-dev:
|
dpdk-install-dev:
|
||||||
make -C dpdk install-$(PKG)
|
make -C dpdk install-$(PKG)
|
||||||
|
@ -94,20 +94,3 @@ install-deb: $(patsubst %,%-find-source,$(ROOT_PACKAGES))
|
|||||||
dpkg-buildpackage -us -uc -b \
|
dpkg-buildpackage -us -uc -b \
|
||||||
)
|
)
|
||||||
|
|
||||||
.PHONY: install-rpm
|
|
||||||
install-rpm: $(patsubst %,%-find-source,$(ROOT_PACKAGES))
|
|
||||||
@$(BUILD_ENV) ; \
|
|
||||||
set -eu$(BUILD_DEBUG) ; \
|
|
||||||
$(MAKE) -C $(MU_BUILD_ROOT_DIR) \
|
|
||||||
$(patsubst %,%-install, \
|
|
||||||
$(ROOT_PACKAGES)) || exit 1; \
|
|
||||||
\
|
|
||||||
cd rpm ; \
|
|
||||||
mkdir -p SOURCES ; \
|
|
||||||
if test -f *.tar.gz ; then mv *.tar.gz SOURCES ; fi ; \
|
|
||||||
rpmbuild -bb --define "_topdir $$PWD" --define \
|
|
||||||
"_install_dir $(INSTALL_PREFIX)$(ARCH)" \
|
|
||||||
--define "_mu_build_root_dir $(MU_BUILD_ROOT_DIR)" \
|
|
||||||
vpp.spec ; \
|
|
||||||
mv $$(find RPMS -name \*.rpm -type f) ..
|
|
||||||
|
|
||||||
|
@ -1,31 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
#
|
|
||||||
# Add version to dist tarball.
|
|
||||||
#
|
|
||||||
BR=$1
|
|
||||||
prefix=$2
|
|
||||||
verstring=$3
|
|
||||||
BASE=`pwd`
|
|
||||||
|
|
||||||
git rev-parse 2> /dev/null
|
|
||||||
if [ $? == 0 ]; then
|
|
||||||
git archive --prefix=${prefix}/ HEAD | gzip -9 > ${verstring}.tar.gz
|
|
||||||
else
|
|
||||||
cd ..
|
|
||||||
tar -c ${prefix} | gzip -9 > ${verstring}.tar.gz
|
|
||||||
cp ${verstring}.tar.gz $BASE
|
|
||||||
cd $BASE
|
|
||||||
fi
|
|
||||||
|
|
||||||
mkdir ${BASE}/tmp
|
|
||||||
cd ${BASE}/tmp
|
|
||||||
tar -xzf ${BASE}/${verstring}.tar.gz
|
|
||||||
rm ${BASE}/${verstring}.tar.gz
|
|
||||||
|
|
||||||
cp ${BR}/scripts/.version ${BASE}/tmp/${prefix}/build-root/scripts
|
|
||||||
tar -c ${prefix} | gzip -9 > ${verstring}.tar.gz
|
|
||||||
mv ${verstring}.tar.gz ${BASE}
|
|
||||||
|
|
||||||
cd ${BASE}
|
|
||||||
rm -rf tmp
|
|
30
extras/rpm/Makefile
Normal file
30
extras/rpm/Makefile
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
# Copyright (c) 2017 Cisco and/or its affiliates.
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at:
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
|
||||||
|
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)
|
||||||
|
|
||||||
|
all:
|
||||||
|
@echo $(TARBALL)
|
||||||
|
mkdir -p SOURCES RPMS
|
||||||
|
cp $(TARBALL) SOURCES/vpp-latest.tar.xz
|
||||||
|
rpmbuild -bb \
|
||||||
|
--define "_topdir $(PWD)" \
|
||||||
|
--define "_version $(VERSION)" \
|
||||||
|
--define "_release $(RELEASE)" \
|
||||||
|
vpp.spec
|
||||||
|
mv $$(find RPMS -name \*.rpm -type f) .
|
@ -1,11 +1,9 @@
|
|||||||
%define _mu_build_dir %{_mu_build_root_dir}
|
|
||||||
%define _vpp_install_dir %{_install_dir}
|
|
||||||
%define _vpp_build_dir build-tool-native
|
%define _vpp_build_dir build-tool-native
|
||||||
%define _unitdir /lib/systemd/system
|
%define _unitdir /lib/systemd/system
|
||||||
%define _topdir %(pwd)
|
%define _topdir %(pwd)
|
||||||
%define _builddir %{_topdir}
|
%define _builddir %{_topdir}
|
||||||
%define _version %(../scripts/version rpm-version)
|
%define _mu_build_dir %{_topdir}/%{name}-%{_version}/build-root
|
||||||
%define _release %(../scripts/version rpm-release)
|
%define _vpp_install_dir install-vpp-native
|
||||||
|
|
||||||
# Failsafe backport of Python2-macros for RHEL <= 6
|
# Failsafe backport of Python2-macros for RHEL <= 6
|
||||||
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
|
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
|
||||||
@ -28,7 +26,8 @@ Release: %{_release}
|
|||||||
Requires: vpp-lib = %{_version}-%{_release}, net-tools, pciutils, python
|
Requires: vpp-lib = %{_version}-%{_release}, net-tools, pciutils, python
|
||||||
BuildRequires: systemd, chrpath
|
BuildRequires: systemd, chrpath
|
||||||
|
|
||||||
Source: %{name}-%{_version}-%{_release}.tar.gz
|
# Source: %{name}-%{_version}-%{_release}.tar.xz
|
||||||
|
Source: vpp-latest.tar.xz
|
||||||
|
|
||||||
%description
|
%description
|
||||||
This package provides VPP executables: vpp, vpp_api_test, vpp_json_test
|
This package provides VPP executables: vpp, vpp_api_test, vpp_json_test
|
||||||
@ -102,6 +101,8 @@ This package contains the python bindings for the vpp api
|
|||||||
groupadd -f -r vpp
|
groupadd -f -r vpp
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
make bootstrap
|
||||||
|
make -C build-root PLATFORM=vpp TAG=vpp install-packages
|
||||||
cd %{_mu_build_dir}/../src/vpp-api/python && %py2_build
|
cd %{_mu_build_dir}/../src/vpp-api/python && %py2_build
|
||||||
|
|
||||||
%install
|
%install
|
||||||
@ -120,7 +121,7 @@ mkdir -p -m755 %{buildroot}/usr/share/vpp/api
|
|||||||
#
|
#
|
||||||
mkdir -p -m755 %{buildroot}/etc/vpp
|
mkdir -p -m755 %{buildroot}/etc/vpp
|
||||||
mkdir -p -m755 %{buildroot}/etc/sysctl.d
|
mkdir -p -m755 %{buildroot}/etc/sysctl.d
|
||||||
install -p -m 644 %{_mu_build_dir}/rpm/vpp.service %{buildroot}%{_unitdir}
|
install -p -m 644 %{_topdir}/vpp.service %{buildroot}%{_unitdir}
|
||||||
install -p -m 644 %{_mu_build_dir}/../src/vpp/conf/startup.conf %{buildroot}/etc/vpp/startup.conf
|
install -p -m 644 %{_mu_build_dir}/../src/vpp/conf/startup.conf %{buildroot}/etc/vpp/startup.conf
|
||||||
install -p -m 644 %{_mu_build_dir}/../src/vpp/conf/80-vpp.conf %{buildroot}/etc/sysctl.d
|
install -p -m 644 %{_mu_build_dir}/../src/vpp/conf/80-vpp.conf %{buildroot}/etc/sysctl.d
|
||||||
#
|
#
|
@ -4,15 +4,11 @@ path=$( cd "$(dirname "${BASH_SOURCE}")" ; pwd -P )
|
|||||||
|
|
||||||
cd "$path"
|
cd "$path"
|
||||||
|
|
||||||
git rev-parse 2> /dev/null
|
if [ -f .version ]; then
|
||||||
if [ $? == 0 ]; then
|
|
||||||
vstring=$(git describe)
|
|
||||||
elif [ -f .version ]; then
|
|
||||||
vstring=$(cat .version)
|
vstring=$(cat .version)
|
||||||
else
|
else
|
||||||
if [ -f ../rpm/*.gz ]; then
|
vstring=$(git describe)
|
||||||
vstring=$(ls ../rpm/*.gz)
|
if [ $? != 0 ]; then
|
||||||
else
|
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
Reference in New Issue
Block a user