summaryrefslogtreecommitdiffstats
path: root/extras/rpm/vpp.spec
AgeCommit message (Collapse)AuthorFilesLines
2021-08-20build: include vat2 in RPM file listMatthew Smith1-0/+1
Type: fix Building an RPM with 'make pkg-rpm' fails because /usr/bin/vat2 is installed but is not included in %files. Add it. Change-Id: I686b291e4419d39141f0f87da963b413d11ab0f8 Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2020-12-14build: stop trying to build py2 versions of vpp_papiPaul Vinciguerra1-26/+0
Python2 was EOL's in Jan 2020. RHEL6 was EOL'd in Nov 2020. Type: fix Change-Id: Id6910258cfe808c1e6a8fe16334c23d7991509dc Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2020-10-16misc: deprecate VOMDamjan Marion1-1/+1
Type: make Change-Id: Ifb3e52af93d24fcc2f2e6a0c408e16902a2fe553 Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-09-21build: touch files when extracting rpm tarballsDave Wallace1-2/+5
Type: fix - Long story short, intermittently centos jobs have been failing with clock skew issues. When someone commits a patch on a machine with the date ahead of UTC, then clock skew will be encountered when extracting the RPM source tarball. See [0] and [1] for details. - Replace 'make bootstrap' with 'make install-dep' in RPM package build specfile. [0] https://unix.stackexchange.com/questions/164807/does-git-archive-use-the-wrong-file-timestamp [1] https://git.fd.io/vpp/tree/Makefile#n380 Change-Id: Iebfb9eb2e26c1f2e4488e871da86d0c60b9f4048 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2020-09-15build: fix the the build on centos/rhel 8Yichen Wang1-2/+1
1. Remove uncessary runtime dependency; 2. Add missing build dependency; 3. Fix runtime dependency for api-python3 RPM; Type: make Change-Id: I2700f1a15112effba8d1527aca6467158f81f486 Signed-off-by: Yichen Wang <yicwang@cisco.com>
2020-05-07misc: deprecate elftoolDamjan Marion1-1/+0
Type: make Change-Id: I34fec1c40ef660177c266517eaf41d60827609f4 Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-04-30build: rework x86 CPU variantsDamjan Marion1-2/+2
Type: improvement Change-Id: Ief243f88e654e578ef9b8060fcf535b364aececb Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-03-06misc: Fix vpp-selinux-policy dependency on CentOS 8Renato Botelho do Couto1-1/+6
policycoreutils-python is now called python3-policycoreutils on CentOS 8. Type: fix Signed-off-by: Renato Botelho do Couto <renato@netgate.com> Change-Id: I46264c66a2a719d546e0926f3bd716e986461963
2019-12-17misc: Add CentOS 8 package supportRenato Botelho do Couto1-4/+10
Type: feature Added missing dependencies on RPM spec file and install-dep Ticket: VPP-1800 Signed-off-by: Renato Botelho do Couto <renato@netgate.com> Change-Id: I91d39c94b3f03c213249dff42b264718ef772bdb
2019-12-17build: export vapi generation in vpp-devOliver Giles1-0/+3
Adds the higher-level vapi generation to cmake/api.cmake and exposes the necessary python scripts in vpp-dev, so that out-of-tree/downstream plugins can also leverage the more convenient API. Type: feature Signed-off-by: Oliver Giles <oliver_g@radwin.com> Change-Id: I8c40a14d27ba3cb972c6907632e03c0e7b0ce982
2019-08-12papi: Revert vpp-api-python to py2, add py3 pkgIan Wells1-2/+29
A previous commit, ca3d38ae18c21ce37212f0d5d5f4a1702429e70c, converts the vpp-api-python package from a python2 library to a python3 one. This changes the behaviour of the package and breaks anything that uses it as a dependency. This change reverts the package behaviour to a python2 package, and additionally adds a *separate* python3 package for correct python3 behaviour. Type: fix Fixes: VPP-1738 Signed-Off-By: Ian Wells <iawells@cisco.com> Change-Id: I54eb45156eb6e00fc4cd5b48e7a0aa17fd2f43f7 Signed-off-by: Dave Barach <dave@barachs.net>
2019-05-23rpm: VPP-1674: exclude external headers from rpmBenoît Ganne1-1/+1
External libraries headers such as DPDK, libibverb, quicly, etc. should not be packaged in vpp-dev RPM. Only package headers from vpp/ and vom/ subdirs. Change-Id: Ief1454bd1261c8cf4dcd3b105e28f6852439e896 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-05-01Freshen RPM dependencies in vpp specfile.Thomas F Herbert1-19/+16
VPP-1650 Also update specfile for fedora. Also update and rationalize python3 and python2 dependencies for CentOS. Change-Id: Ia87abfe7b7080ecd07e485e6c32270fda56a496a Signed-off-by: Thomas F Herbert <therbert@redhat.com>
2019-03-06rpm: set exec bits on pluginsMatthew Smith1-3/+3
Install plugin shared libraries with permissions set to 0755 instead of 0644 during RPM builds. When building with rpmbuild, if a compiled file is not executable, it's source files and symbols are not included in the vpp-debuginfo RPM. This makes debugging problems with DPDK (and other plugins probably) difficult unless you are running on the machine where the build was generated. Change-Id: I9cc92af855a66366ec3b81a87b82bfd9994bc180 Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2019-02-19VPP-1504: Remove JVPPMichal Cmarada1-28/+1
As part of JVPP migration this removes JVPP completely from VPP. Change-Id: I6b74e7961aa474ae471e63fe43a624cd9fc3659b Signed-off-by: Michal Cmarada <mcmarada@cisco.com>
2018-12-18Build changes required for Fedora and CentOSThomas F Herbert1-7/+8
VPP-1511 cmake is the dep for Fedora but cmake3 is for CentOS 7. Centos: explicitly install epel-release on Centos. Epel requirement is now explicit for cmake3, and ninja-build. Remove references to Fedora 25 which is EOL. Change-Id: I1548ddf2e5421097ac0ddc2d99abce7582d0d593 Signed-off-by: Thomas F Herbert <therbert@redhat.com>
2018-11-23Fix permission for vpp_papiOnong Tayeng1-1/+1
The permission for the top-level vpp_papi dir under /usr/lib/python2.7/site-packages is set to 644 which means that non-root users cannot import vpp_papi. As a result, devstack setup with VPP/networking-vpp fails since it is run as non-root user. Change-Id: Id85b468b2dcc92efb3a64c51ffb23ef6d596e4ad Signed-off-by: Onong Tayeng <otayeng@cisco.com>
2018-09-26rpm: Fix the spec file to look into right directoriesMohsin Kazmi1-1/+1
Change-Id: If526e9f17226d7c371a8a98b9ac932196dab547a Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2018-09-13Fix: vppapigen make build fails on fresh installPaul Vinciguerra1-2/+2
Steps to reproduce: vagrant@localhost:/vagrant$ build-root/vagrant/build.sh ... @@@@ Building vpp in /vagrant/build-root/build-vpp-native/vpp @@@@ [51/1169] Generating API header /vagrant/build-root/build-vpp-native/vpp/vlibmemory/memclnt.api.json FAILED: cd /vagrant/build-root/build-vpp-native/vpp/vlibmemory && mkdir -p /vagrant/build-root/build-vpp-native/vpp/vlibmemory && /vagrant/src/tools/vppapigen/vppapigen --includedir /vagrant/src --input /vagrant/src/vlibmemory/memclnt.api JSON --output /vagrant/build-root/build-vpp-native/vpp/vlibmemory/memclnt.api.json AttributeError: 'module' object has no attribute 'dumps' This seems to be due to JSON.py namespace colliding with the standard lib json.py Change-Id: If389e4e05ef0c166b0c2b3bef7ec0185298679a8 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2018-09-12Always use 'lib' instead of 'lib64'Damjan Marion1-5/+5
It is packaging responsibility to put libs in the right place. Use of lib64 resulted in huge amount of files with hardcoded lib64. This patch simplifies things... Change-Id: Iab0dea0583e480907732c5d2379eb951a00fa9e6 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-07update regex used by rpm build to find lib filesMatthew Smith1-1/+1
The old expression was '*.so.*.*.*' to find shared library files with 3 components in the version. Building from master gives you files with 2 components in the version (e.g. libvnet.so.18.10). So most libs were not getting included in vpp-lib. Change-Id: Ib89d2f5aeb2417eed1b6b851089b9d22f540a226 Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2018-09-02Switch to cmakeDamjan Marion1-4/+0
Change-Id: I982b69390c55b5ffbd744f355efc0aaf425b360c Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-08-07PAPI: Move unit tests to fix packaging issues.Ole Troan1-1/+0
Change-Id: I67a0f168254367c657eb11d4413f9dc0c5356b3c Signed-off-by: Ole Troan <ot@cisco.com>
2018-08-03PAPI: Union pad at the end of short fields instead of at head.Ole Troan1-0/+1
Hopefully that's going to be consistent across platforms, compilers and ABI. Change-Id: I0b82565288d88fd046278d4d8288ec1488273ba5 Signed-off-by: Ole Troan <ot@cisco.com>
2018-08-01Move java api to extras/Damjan Marion1-3/+3
Change-Id: Ibd5cbbdfb22a235442cddaebc9eae9a3c4e35ec9 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-06-22Python API: Add enum and union support.Ole Troan1-1/+1
As well as a rewrite of the encoders/decoders to make it more readable and extensible. (Re-commit after fix to verify build.) Change-Id: Ic244d3cebe070bb2570491f8a24f4a1e203f889a Signed-off-by: Ole Troan <ot@cisco.com>
2018-06-18Revert "Python API: Add enum and union support."Ole Trøan1-1/+1
This reverts commit a5ee900fb75201bbfceaf13c8bc57a13ed094988. Some of the unit tests breaks. Backing out until fixed. Change-Id: I1846fb417db44a2a772f7b59cda8bcfe6d39f8c3 Signed-off-by: Ole Troan <ot@cisco.com>
2018-06-17Python API: Add enum and union support.Ole Troan1-1/+1
As well as a rewrite of the encoders/decoders to make it more readable and extensible. Change-Id: I253369ac76303922bf9c11377622c8974fa92f19 Signed-off-by: Ole Troan <ot@cisco.com>
2018-05-19MLX DPDK glue: exclude dependency on OFED librariesIgor Mikhailov (imichail)1-0/+1
MLX DPDK mlx5_glue.so, compiled under RTE_LIBRTE_MLX5_DLOPEN_DEPS, provides a run-time check for OFED libraries. To do so, it links with -libverbs -lmlx5 so that the binding could occur or fail at runtime (see DPDK 59b91be and VPP 59b91be). However RPM install fails on systems without OFED installed since RPM spec has an entry "Requires: libmlx5". To overcome this, exclude such requirement from the spec. Same applies to mlx4_glue.so, compiled under RTE_LIBRTE_MLX4_DLOPEN_DEPS Change-Id: I0ff6efc49581104743cc7e5b1f7cdbc1665ce9ba Signed-off-by: Igor Mikhailov (imichail) <imichail@cisco.com>
2018-05-04Add python lex and yacc to spec file build requirements.Thomas F Herbert1-3/+3
Change-Id: Icf1a30c9df4d3298407c00383020debe99acdbff Signed-off-by: Thomas F Herbert <therbert@redhat.com>
2018-04-08Restore building of debuginfo RPMsThomas F Herbert1-10/+2
JIRA: VPP-1227 Remove rpm tmp dir build debuginfo rpms. Reverses commits to fix a build problem with old versions of rpmbuild that prevented builds in chrooted environments with short paths and short project names. Change-Id: I852696dccc984bf4882fd3ca9ec4c8da080bdb41 Signed-off-by: Thomas F Herbert <therbert@redhat.com>
2018-04-08Remove subunit from Centos requirements.Thomas F Herbert1-1/+2
JIRA: VPP-1229 Subunit and Subunit-devel in Fedora and Epel but not Centos. This patch moves the Fedora from the Centos specific requirements. Change-Id: I093a4571cddf14af5ee2827ba8ee00c7bcbe6fc0 Signed-off-by: Thomas F Herbert <therbert@redhat.com>
2018-04-06Remove mbedtls from build requirement for CentosThomas F Herbert1-1/+2
Although mbedtls is in Fedora and Epel, it is not in Centos yet. It is not strictly necessary for TLS which also can use openssl. Change-Id: Id62d52000f9ecda2fc10d1938f02be1142fa5bdb Signed-off-by: Thomas F Herbert <therbert@redhat.com>
2018-03-02Add RPM buildtime dependency on mbedtls-develMatthew Smith1-0/+1
Update RPM spec to know about it Change-Id: I61c7c1ce96071e3b84d792c18ff8880217b14fce Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2018-02-28Adjust vpp-selinux-policy postinstallMatthew Smith1-1/+1
Only run semodule command on hosts where selinux is enabled. Change-Id: I7bcfc758e44bb0f41ec657ad395352ddb92766eb Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2018-01-31RPMS: Also install C.py, JSON.py for vppapipgen.Jon Loeliger1-0/+3
When building plugins outside of the VPP tree, the vppapigen tool requires the use of the C.py / JSON.py code. To that end, install it in /usr/share/vpp as referenced. Change-Id: I457d58e7bde7140c7811fa0a93b4f44d1310784a Signed-off-by: Jon Loeliger <jdl@netgate.com>
2018-01-30VPP-899: Run VPP under SELinuxBilly McFall1-1/+76
Add an SELinux profile such that VPP can run under SELinux on RPM based platforms. The SELinux Policy is currently only implemented for RPM packages, specifically, Fedora, CentOS and RHEL. Doxygen User Documentation has been included (selinux_doc.md). Once some discussion on file locations has completed (see vpp-devlist), updates to the Debug CLI documentation will also need to be updated. Additional changes: Patch Set 2: - Rework selinux_doc.md such that each line is only 80 characters instead of each sentence on a line. Made additonal minor chnages to the text. - Update vHost Debug CLI documentation to reflex new socket location. Cleaned up some text from when I originally wrote it, to better reflex proper use. - Update exec Debug CLI documentation to be more inline with suggested helptext, added text regarding recommended script file location. - For Debian builds, create the /var/log/vpp/ directory. I don't use Debian very much, so please pay extra attention to build-data/platforms.mk and build-root/deb/debian/.gitignore. - Per discussion on VPP call, changed the default log location to /var/log/vpp/vpp.log. - Changed the socket location for vHost in AutoConfig to /var/run/vpp/. Patch Set 3: - Update selinux_doc.md based on comments. Change-Id: I400520dc33f1ca51012d09ef8fe5a7b7b96c631e Signed-off-by: Billy McFall <bmcfall@redhat.com>
2018-01-23VPPAPIGEN: vppapigen replacement in Python PLY.Ole Troan1-0/+1
This is a version of the VPP API generator in Python PLY. It supports the existing language, and has a plugin architecture for generators. Currently C and JSON are supported. Changes: - vl_api_version to option version = "major.minor.patch" - enum support - Added error checking and reporting - import support (removed the C pre-processor) - services (tying request/reply together) Version: option version = "1.0.0"; Enum: enum colours { RED, BLUE = 50, }; define foo { vl_api_colours_t colours; }; Services: service { rpc foo returns foo_reply; rpc foo_dump returns stream foo_details; rpc want_stats returns want_stats_reply events ip4_counters, ip6_counters; }; Future planned features: - unions - bool, text - array support (including length) - proto3 output plugin - Refactor C/C++ generator as a plugin - Refactor Java generator as a plugin Change-Id: Ifa289966c790e1b1a8e2938a91e69331e3a58bdf Signed-off-by: Ole Troan <ot@cisco.com>
2018-01-18dpdk plugin depends on numactl-libsGabriel Ganne1-1/+1
dpdk_plugin.so depends on libnuma.so.1 Change-Id: Ia1fd3b5cec043b294cc14cd947908675b451deac Signed-off-by: Gabriel Ganne <gabriel.ganne@enea.com>
2017-12-04Optimize RPM build processRenato Botelho do Couto1-1/+1
* Remove unused variable OS_VERSION_ID * Do all RPM building in build-root/rpmbuild * Add build-root/rpmbuild to .gitignore * Move redundant code to a target called 'spec' * Copy spec file to SPECS instead of SOURCES * Only set %{_topdir} macro when it's undefined, and because of that remove sed call to delete definition on spec file * Pass _version and _release using --define parameter instead of using sed to add them to .spec * Move rpm files to build-root after build finishes * Add dist tarball to .gitignore Change-Id: I230d60b62914056b353f7f8701d14754b0bf7f8c Signed-off-by: Renato Botelho do Couto <renato@netgate.com>
2017-11-17subunit is required on centos as well as fedoraGabriel Ganne1-2/+0
Remove fedora dependency restriction on subunit and subunit-devel packages. libsunit is only called in test/ext/Makefile on all platforms safe opensuse. Change-Id: I483f42f20f6ba8bd112c18a9c51753a5d816d1c1 Signed-off-by: Gabriel Ganne <gabriel.ganne@enea.com> Signed-off-by: Romain Ly <romain.ly@enea.com>
2017-11-08VOM rpm build fixesNeale Ranns1-0/+1
Change-Id: I1f76aabecfd7d33b924a4856a4c3fc683b9b8802 Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2017-11-05dpdk: build nasm from sourceSergio Gonzalez Monroy1-3/+0
As not all distros have the minimum required nasm version (2.12.01) available, build nasm from sources when building Intel IPsec MB library. Change-Id: Iaa9da87f612c0f84da5704162c3bf430b3351076 Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
2017-10-14Fix bug with temporary directory when building rpms.Thomas F Herbert1-1/+1
Fixes bug introduced in commit 5349f94d. JIRA: VPP-1014 Change-Id: Ia18f4c6f5f1124306cce790a36f6de970d186687 Signed-off-by: Thomas F Herbert <therbert@redhat.com> (cherry picked from commit 8c5bfbcc09f44f3ed2b87b0b5c257fbb7b735f97)
2017-10-14Deps added to Makefile must also be in spec file.Thomas F Herbert1-0/+4
Deps are required for Fedora too. This patch is merged in version stable/17.10. It should also be merged in master because it fixes breaking rpm builds in some circumstances. JIRA: VPP-1015 Cherry-picked from stable/1710 Change-Id: I10807069742cdd6b09a0f34d9d05e9cae4146ec3 Signed-off-by: Thomas F Herbert <therbert@redhat.com>
2017-09-21Unpack into temporary directory with longer name.Thomas F Herbert1-2/+10
JIRA VPP-498 This commit is a fix so downstream builds in Centos and RHEL mock environment will work. This is a workaround for a bug in the debugedit code in rpm-build package 4.13 and earlier. Change-Id: Ia6361f7487c5afe9948a2d2fe929942ba5b9c0f1 Signed-off-by: Thomas F Herbert <therbert@redhat.com>
2017-09-20Use openssl 1.0 compat RPM for Fedora 26 and newer.Thomas F Herbert1-1/+4
This is just a workaround until VPP is compatible with OpenSSL 1.1. JIRA: VPP-569 Change-Id: I8d2a113dc9400fd7e8e6850de5d91f40380455ce Signed-off-by: Thomas F Herbert <therbert@redhat.com>
2017-09-15VPP-958: RPM Update wipes out local changes to 80-vpp.confBilly McFall1-2/+2
Changed the %config to %config(noreplace) for the two files in the vpp.spec file that use it, 80-vpp.conf and startup.conf. Any local changes to these files will now remain. If a newer version of the file is published, the new version will be copied over as {filename}.rpmnew, and the changes will not be applied without manual intervention. Change-Id: I00b2c7abca20bc33f82479374dd184fc57a9abc5 Signed-off-by: Billy McFall <bmcfall@redhat.com>
2017-09-12Add option to build without multi-buffer crypto.Thomas F Herbert1-2/+10
JIRA VPP-498 This patch also allows RPMs to be built without multi- buffer crypto for some RPM based downstream distros that don't have sufficiently new nasm or don't have an USA export license for multi-buffer crypto. The default is to build WITH multi-buffer crypto for x86-64. This patch allows optional building without multi-buffer crypto. To build without multi-buffer crypto, set the AESNI environment variable to n. To build rpm packages without multi-buffer crypto, build the rpms with the option turned off. make build AESNI=n or.. make pkg-rpm --without aesni ---How to test this patch on a Centos build.--- Build as above and verify that nasm isn't executed during the build process. vpp may be installed and the dpdk plugin may be inspected to verify that the multi-buffer code isn't present. Change-Id: I8c5cfd4cdd9eb2b96772a687eaa54560806e001b Signed-off-by: Thomas F Herbert <therbert@redhat.com>
2017-08-26Add Build Requirements from Makefile to spec file.Thomas F Herbert1-6/+23
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>