aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas F Herbert <therbert@redhat.com>2017-08-03 11:04:24 -0400
committerThomas F Herbert <therbert@redhat.com>2017-08-26 18:27:06 -0400
commitbd8e242024fcc2daffa77bdd6e2da1296ace5c69 (patch)
tree7f61cc6cd80c2442b24fbf9967f1b7a06b28a906
parentd05282983af7728a5b3980eb25bf4a14c663b15a (diff)
Add Build Requirements from Makefile to spec file.
JIRA: VPP-498 Changes to build to help with downstream distro builds for Fedora, Centos and RHEL distros. Add nasm, automake, libtool, byacc, bison and flex. Remove libconfuse and dependencies. Remove epel-release rpm and dependencies. Add conditionals to work around Python 2 packaging inconsistency in Fed 25. Add numactl to rpm requirements. Change-Id: Ia39f8b931dc87e42df56414d38662eb33c7a4ca7 Signed-off-by: Thomas F Herbert <therbert@redhat.com>
-rw-r--r--Makefile25
-rw-r--r--extras/rpm/vpp.spec29
2 files changed, 33 insertions, 21 deletions
diff --git a/Makefile b/Makefile
index ea9d6beea2f..e5eb1b330fb 100644
--- a/Makefile
+++ b/Makefile
@@ -72,12 +72,18 @@ else
endif
RPM_DEPENDS = redhat-lsb glibc-static java-1.8.0-openjdk-devel yum-utils
-RPM_DEPENDS += openssl-devel https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm apr-devel
-RPM_DEPENDS += python-devel numactl-devel
+RPM_DEPENDS += openssl-devel
+RPM_DEPENDS += numactl-devel
ifeq ($(OS_ID)-$(OS_VERSION_ID),fedora-25)
+ RPM_DEPENDS += python-devel
+ RPM_DEPENDS += python2-virtualenv
+ RPM_DEPENDS_GROUPS = 'C Development Tools and Libraries'
+else ifeq ($(shell if [ "$(OS_VERSION_ID)" -gt "25" ] ; then echo "y" ; fi),"y")
+ RPM_DEPENDS += python2-devel
RPM_DEPENDS += python2-virtualenv
RPM_DEPENDS_GROUPS = 'C Development Tools and Libraries'
else
+ RPM_DEPENDS += python-devel
RPM_DEPENDS += python-virtualenv
RPM_DEPENDS_GROUPS = 'Development Tools'
endif
@@ -90,12 +96,6 @@ ifeq ($(OS_ID),fedora)
else
RPM_DEPENDS += https://kojipkgs.fedoraproject.org//packages/nasm/2.12.02/2.fc26/x86_64/nasm-2.12.02-2.fc26.x86_64.rpm
endif
-EPEL_DEPENDS = libconfuse-devel epel-rpm-macros
-ifeq ($(filter rhel centos,$(OS_ID)),$(OS_ID))
- EPEL_DEPENDS += lcov
-else
- RPM_DEPENDS += lcov
-endif
RPM_SUSE_DEPENDS = autoconf automake bison ccache chrpath distribution-release gcc6 glibc-devel-static
RPM_SUSE_DEPENDS += java-1_8_0-openjdk-devel libopenssl-devel libtool lsb-release make openssl-devel
@@ -206,13 +206,9 @@ ifeq ($(filter ubuntu debian,$(OS_ID)),$(OS_ID))
fi ; \
exit 0
else ifneq ("$(wildcard /etc/redhat-release)","")
- @for i in $(RPM_DEPENDS) $(EPEL_DEPENDS) ; do \
+ @for i in $(RPM_DEPENDS) ; do \
RPM=$$(basename -s .rpm "$${i##*/}" | cut -d- -f1,2,3) ; \
- if [[ "$$RPM" =~ "epel-release-latest" ]] ; then \
- MISSING+=$$(rpm -q epel-release | grep "^package") ; \
- else \
- MISSING+=$$(rpm -q $$RPM | grep "^package") ; \
- fi ; \
+ MISSING+=$$(rpm -q $$RPM | grep "^package") ; \
done ; \
if [ -n "$$MISSING" ] ; then \
echo "Please install missing RPMs: \n$$MISSING\n" ; \
@@ -255,7 +251,6 @@ endif
else ifneq ("$(wildcard /etc/redhat-release)","")
@sudo -E yum groupinstall $(CONFIRM) $(RPM_DEPENDS_GROUPS)
@sudo -E yum install $(CONFIRM) $(RPM_DEPENDS)
- @sudo -E yum install $(CONFIRM) --enablerepo=epel $(EPEL_DEPENDS)
@sudo -E debuginfo-install $(CONFIRM) glibc openssl-libs zlib
else ifeq ($(filter opensuse,$(OS_ID)),$(OS_ID))
@sudo -E zypper -n install -y $(RPM_SUSE_DEPENDS)
diff --git a/extras/rpm/vpp.spec b/extras/rpm/vpp.spec
index ffb6382fefd..439e6bdaf41 100644
--- a/extras/rpm/vpp.spec
+++ b/extras/rpm/vpp.spec
@@ -29,6 +29,21 @@ Version: %{_version}
Release: %{_release}
Requires: vpp-lib = %{_version}-%{_release}, net-tools, pciutils, python
BuildRequires: systemd, chrpath
+BuildRequires: libffi-devel, openssl-devel
+%if 0%{?fedora} >= 26
+BuildRequires: python2-devel, python2-virtualenv
+%else
+%if 0%{?fedora} == 25
+BuildRequires: python-devel, python2-virtualenv
+%else
+BuildRequires: python-devel, python-virtualenv
+%endif
+%endif
+BuildRequires: glibc-static, java-1.8.0-openjdk, java-1.8.0-openjdk-devel yum-utils, redhat-lsb
+BuildRequires: apr-devel
+BuildRequires: nasm
+BuildRequires: numactl-devel
+BuildRequires: autoconf automake libtool byacc bison flex
Source: %{name}-%{_version}-%{_release}.tar.xz
# Source: vpp-latest.tar.xz
@@ -156,10 +171,11 @@ install -p -m 644 %{_mu_build_dir}/../src/scripts/vppctl-cmd-list %{buildroot}/u
# Lua bindings
mkdir -p -m755 %{buildroot}/usr/share/doc/vpp/examples/lua/examples/cli
mkdir -p -m755 %{buildroot}/usr/share/doc/vpp/examples/lua/examples/lute
-for file in $(cd %{_mu_build_dir}/%{_vpp_install_dir}/../../src/vpp-api/lua && git ls-files .)
+# for file in $(cd %{_mu_build_dir}/%{_vpp_install_dir}/../../src/vpp-api/lua && git ls-files .)
+for file in $(cd %{_mu_build_dir}/%{_vpp_install_dir}/../../src/vpp-api/lua && find . -type f -regex '.*/*.[luteamd]' -print | sed -e 's/^\.\///')
do
- install -p -m 644 %{_mu_build_dir}/%{_vpp_install_dir}/../../src/vpp-api/lua/$file \
- %{buildroot}/usr/share/doc/vpp/examples/lua/$file
+ ( cd %{_mu_build_dir}/%{_vpp_install_dir}/../../src/vpp-api/lua && install -p -m 644 $file \
+ %{buildroot}/usr/share/doc/vpp/examples/lua/$file )
done
# Java bindings
@@ -195,10 +211,11 @@ done;
# sample plugin
mkdir -p -m755 %{buildroot}/usr/share/doc/vpp/examples/sample-plugin/sample
-for file in $(cd %{_mu_build_dir}/%{_vpp_install_dir}/../../src/examples/sample-plugin && git ls-files .)
+#for file in $(cd %{_mu_build_dir}/%{_vpp_install_dir}/../../src/examples/sample-plugin && git ls-files .)
+for file in $(cd %{_mu_build_dir}/%{_vpp_install_dir}/../../src/examples/sample-plugin && find . -type f -regex '.*/*.[acdhimp]' -print | sed -e 's/^\.\///')
do
- install -p -m 644 %{_mu_build_dir}/%{_vpp_install_dir}/../../src/examples/sample-plugin/$file \
- %{buildroot}/usr/share/doc/vpp/examples/sample-plugin/$file
+ ( cd %{_mu_build_dir}/%{_vpp_install_dir}/../../src/examples/sample-plugin && install -p -m 644 $file \
+ %{buildroot}/usr/share/doc/vpp/examples/sample-plugin/$file )
done