summaryrefslogtreecommitdiffstats
path: root/extras/rpm
AgeCommit message (Collapse)AuthorFilesLines
2020-11-25api: vat2 and json autogeneration for api messagesOle Troan1-1/+2
VAT2: A completely auto-generated replacement of VAT. Reads input message in JSON from stdin and outputs received messages in JSON. A VAT2 plugin is automatically built for a .api file. There no longer a need for a separate _test.c. Example: vat2 show_version {} { "_msgname": "show_version_reply", "retval": 0, "program": "vpe", "version": "21.01-rc0~411-gf6eb348a6", "build_date": "2020-11-19T09:49:25", "build_directory": "/vpp/autogen3" } vat2 sw_interface_dump '{"sw_if_index": -1, "name_filter_valid": 0, "name_filter": ""}' [{ "_msgname": "sw_interface_details", "sw_if_index": 0, "sup_sw_if_index": 0, "l2_address": "00:00:00:00:00:00", "flags": "Invalid ENUM", "type": "IF_API_TYPE_HARDWARE", "link_duplex": "LINK_DUPLEX_API_UNKNOWN", "link_speed": 0, "link_mtu": 0, "mtu": [0, 0, 0, 0], "sub_id": 0, "sub_number_of_tags": 0, "sub_outer_vlan_id": 0, "sub_inner_vlan_id": 0, "sub_if_flags": "Invalid ENUM", "vtr_op": 0, "vtr_push_dot1q": 0, "vtr_tag1": 0, "vtr_tag2": 0, "outer_tag": 0, "b_dmac": "00:00:00:00:00:00", "b_smac": "00:00:00:00:00:00", "b_vlanid": 0, "i_sid": 0, "interface_name": "local0", "interface_dev_type": "local", "tag": "" }] This is the first phase and vat2 is not integrated in packaging yet. Type: feature Signed-off-by: Ole Troan <ot@cisco.com> Change-Id: Ib45ddeafb180ea7da8c5dc274a9274d7a4edc876 Signed-off-by: Ole Troan <ot@cisco.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-21build: remove opensuse build infraDave Wallace2-336/+0
- VPP on opensuse has not been supported for several releases. Type: fix Signed-off-by: Dave Wallace <dwallacelf@gmail.com> Change-Id: I2b5316ad5c20a843b8936f4ceb473f932a5338d9
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 Marion2-2/+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-07-12docs: how to enable coredump with systemdBenoît Ganne1-0/+5
Type: docs Change-Id: I1f657389fec716cc6cdc942803e65f861ffea5f5 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-05-23rpm: VPP-1674: exclude external headers from rpmBenoît Ganne2-2/+2
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 Cmarada2-60/+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 Kazmi2-4/+4
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 Marion2-6/+6
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 Marion2-8/+0
Change-Id: I982b69390c55b5ffbd744f355efc0aaf425b360c Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-08-30SUSE: fix spec to generate RPMsMarco Varlese1-27/+27
Change-Id: I36ec5136d0f100c8277a19f89c8f6c9640e0614e Signed-off-by: Marco Varlese <marco.varlese@suse.com>
2018-08-21SUSE: rpm-packaging fixesMarco Varlese2-2/+9
Change-Id: Ic7ddc34bbb2fe414d41a083efd8caf35a12488ab Signed-off-by: Marco Varlese <marco.varlese@suse.de>
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-02Temporrary disable japi packaging for opensuseDamjan Marion1-26/+26
To unbreak verify job, caused by following message: 19:06:58 RPM build errors: 19:06:58 File not found: /w/workspace/vpp-verify-master-osleap15/build-root/rpmbuild/BUILDROOT/vpp-18.10-rc0~105_g0578e3f9~b1992.x86_64/usr/share/java/* 19:06:58 make[2]: *** [Makefile:50: RPM] Error 1 19:06:58 make[2]: Leaving directory '/w/workspace/vpp-verify-master-osleap15/extras/rpm' 19:06:58 make[1]: *** [Makefile:476: pkg-rpm] Error 2 19:06:58 make[1]: Leaving directory '/w/workspace/vpp-verify-master-osleap15' 19:06:58 make: *** [Makefile:541: verify] Error 2 19:06:58 Build step 'Execute shell' marked build as failure Change-Id: Ie1300cbf70bedb9dd861a3f31feeddf1eb810eaf Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-08-01Move java api to extras/Damjan Marion2-6/+6
Change-Id: Ibd5cbbdfb22a235442cddaebc9eae9a3c4e35ec9 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-07-10openSUSE: spec file update to reflect latest depsMarco Varlese1-5/+13
Change-Id: I3c04956400a2e88d331f43d1b4865ee2c75e7bc9 Signed-off-by: Marco Varlese <marco.varlese@suse.com>
2018-06-22Python API: Add enum and union support.Ole Troan2-2/+2
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øan2-2/+2
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 Troan2-2/+2
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 Couto2-21/+18
* 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-30Cleanup and simplifyMarco Varlese1-31/+13
This patch addresses two things: 1) It simplifies the Makefile to build RPMs by removing duplication and use environment variables instead; 2) It aligns openSUSE with others with regards to invoke "pkg-rpm" by the build.sh for Vagrant Change-Id: I51557f54e4ddf49d83bb69fa0035c8fff122857e Signed-off-by: Marco Varlese <marco.varlese@suse.com>
2017-11-29Using $(CURDIR) to fix the absolute path issueMarco Varlese1-1/+1
Change-Id: Ic26edd34a2980fc8cf34514433a7b7076660316e Signed-off-by: Marco Varlese <marco.varlese@suse.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>