summaryrefslogtreecommitdiffstats
path: root/extras/rpm/vpp.spec
AgeCommit message (Collapse)AuthorFilesLines
2019-05-15rpm: 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-04-22RH7/Centos7: remove python-ply as it is not neededIgor Mikhailov (imichail)1-2/+2
Also remove double required packages Change-Id: Ifcc7c9c0a4ce62d89a246019147d194610f5167a Signed-off-by: Igor Mikhailov (imichail) <imichail@cisco.com>
2019-04-17VPP-1650Thomas F Herbert1-3/+7
Update spec file for new build and execution requirements. 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>
2017-08-08Create source rpm.Thomas F Herbert1-2/+2
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>
2017-07-27Use relative path to vpp.service.Thomas F Herbert1-1/+1
This change is necessary to avoid breaking builds from source rpm. JIRA: VPP-498 Change-Id: I876572ff75f88e22bf8012cabb1bde7e6d3c925a Signed-off-by: Thomas F Herbert <therbert@redhat.com>
2017-07-12Decrease steps necessary to upgrading RPM packages fixedKristina Nevolnikova1-16/+22
in %postun part and not call sysctl when VPP package is upgrading provide by condition for sysctl --system in %post part. Change-Id: I549803864699e4a81cf589befe296d585e1c6d2b Signed-off-by: Kristina Nevolnikova <knevolnikova@frinx.io>
2017-07-05VPP-900: VPP is released under the Apache 2.0 License (ASL 2.0). Update RPM ↵Billy McFall1-1/+1
specfile to reflect the proper license. Change-Id: I9e8d1643ea65afd91a0cd5ad9545248575e32617 Signed-off-by: Billy McFall <bmcfall@redhat.com> (cherry picked from commit 01d2b4b13ad719934e1e6999f9ed6c7c36a815ff)
2017-05-20Restore possibility to build vpp in debug mode for rpmsIgor Mikhailov (imichail)1-2/+6
Change-Id: I3935b3f312852e0f032c48726651561fb8616273 Signed-off-by: Igor Mikhailov (imichail) <imichail@cisco.com>
2017-04-19Fix "make dist" to include version number, docouple it from rpm packagingDamjan Marion1-0/+299
Change-Id: If2f9976d668089026c97b897cf449bff09050631 Signed-off-by: Damjan Marion <damarion@cisco.com>