aboutsummaryrefslogtreecommitdiffstats
path: root/debian/rules
AgeCommit message (Collapse)AuthorFilesLines
2018-06-18Add package and build-dependency MLX4 and MLX5 PMDs.Christian Ehrhardt1-0/+2
Change-Id: I144c22af88bac0ccc7e33e2e6709265f0741b284 Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
2018-01-05dpdk[-doc]: convert all scripts to python3Luca Boccassi1-0/+5
Use dh_python3 to change the shebang of all scripts to python3, and remove the python2 dependency from dpdk. Change-Id: I7baa53e1c0c9261e67fe99cd22f274417593495b Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
2018-01-04d/rules: make auto-loaded drivers dir versionedChristian Ehrhardt1-8/+9
The dir registered as CONFIG_RTE_EAL_PMD_PATH= will be loaded by EAL. But that is an issue if multiple versions of DPDK are co-installed. Version A of EAL might load drivers of version B or vice versa. Since this isn't the normal linker loads, but loads from a dir we must version it to avoid issues of these cross-version loads. Fixes: https://bugs.launchpad.net/ubuntu/+source/dpdk/+bug/1741244 Change-Id: I4e97f077f531f7fcb746a2c5b2ffec60d140a4a1 Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
2017-11-09Fix DPDK_ABI parsing when using ~ for RCsLuca Boccassi1-1/+1
Change-Id: I484f7331390c8fb0226becbaeba9e8ff6a50304a Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
2017-11-09Drop Xen support and packages, removed upstreamLuca Boccassi1-5/+0
Change-Id: Id1fbdf349cedfc4e479af24e4d53dd24b2ea3a41 Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
2017-11-09Revert "d/rules: use new dh option names"Luca Boccassi1-2/+2
Ubuntu 16.04 does not ship a debhelper version new enough to support the new option, which breaks the CI. Temporarily revert until we can switch the CI image to 18.04. This reverts commit c7873313a7fe60ac1bc229df2617153cca4318d7. Change-Id: Id29ec8c454094952eaa49b5af071b819e5393b66 Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com> (cherry picked from commit b0215431e14505a59e78c436d8fa014378402912) Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
2017-11-08Switch dependencies to python3Luca Boccassi1-2/+2
Since the switch to Python 3 Sphynx the dependencies can change too. Change-Id: Iabec22c9ad89c55fdd62a9644bcdadccdea7252d Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
2017-11-08Fix DPDK_ABI parsing in d/rules to account for -rcXLuca Boccassi1-1/+1
Change-Id: I3704004c8f0595414cc1ddec62c5884e4a1791b1 Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
2017-10-23d/rules: use new dh option namesChristian Ehrhardt1-2/+2
From man pages: Note that the --no-restart-on-upgrade alias is deprecated and will be removed in compat 11. This is to avoid confusion with the --no-restart-after-upgrade option. The --no-stop-on-upgrade variant was introduced in debhelper 10.2 (included in Debian stretch). Follow that to be ready for compat 11 in that regard. Change-Id: I7362a90e867bf4fefae66a4f690992b7053eb593 Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
2017-10-23d/rules: properly enable dpdk systemd serviceChristian Ehrhardt1-2/+2
Since ca40d310 "Convert debian/rules to new style DH targets" the installed service is by default disabled which is not intended. Add --with=systemd to dh, to issue the right sequence and be safe against future changes in that regard. Change-Id: I3d8be98397e59a3cc295368bf99fdf343d38419d Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
2017-08-23Use dpkg's DEB_HOST* instead of manually parsingLuca Boccassi1-3/+0
Change-Id: I69663f204ae93da5d77a874af172aa59c831b813 Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
2017-08-23Use dpkg's DEB_VERSION_UPSTREAM instead of manually parsingLuca Boccassi1-9/+8
Change-Id: I738a14688ba98c61023dc0155a680265d8c572b7 Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
2017-08-18fix packaging of dpdk-devbindChristian Ehrhardt1-1/+1
17.05 moved all the tools to /usr/share/dpdk/usertools and those that got installed by the makefiles are adapted like dpdk-pmdinfo. But others that we decided to include like dpdk-devbind are missing. So currently this is a broken symlink: /sbin/dpdk-devbind -> /usr/share/dpdk/tools/dpdk-devbind.py And intstead it is at: /usr/share/dpdk/usertools/dpdk-devbind.py Fix by adapting d/rules to link from the right path Change-Id: I89ba54b3df81f5d2170e8a231674a6592935a033 Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
2017-08-03Copy full headers directory into SDKLuca Boccassi1-0/+10
The dpdk-dev SDK package is arch-dependent, as it ships a number of binary executables. Also using RTE_SDK does not support the multiple level of headers, so instead of symlinking into /usr/include/dpdk copy the full set of headers into /usr/share/dpdk/TARGET/include Given dpkg cannot replace a symlink with a directory automatically also generate a preinst file to handle it manually on upgrade. Change-Id: I1fb8fbe424b8ef015c04062f2cffe9f2b9ffe02f Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
2017-08-03Use arch-dependent include directory in DKMS confsLuca Boccassi1-0/+4
Generate them at build time to substitute the right directory per architecture to fix the build. Change-Id: Ib6ba0820a27a4cc38d5e11dc94d35f1adece1453 Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
2017-07-28Fix upstream version parsingLuca Boccassi1-1/+1
The sed regex is greedy, so 17.08-rc2-0vyatta1 returns 17.08-rc2. Match everything until the separator instead. Also use dpkg-parsechangelog --show-field Version to simplify it further. It's available since dpkg-dev 17.0 which is in both Ubuntu 14.04 and Debian 8. Change-Id: Ie3ef44b5573d6ee586e8cf291f307c0539976ead Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
2017-07-06Backward compatibility: symlink x86_64 headersLuca Boccassi1-0/+7
To avoid breaking compatibility, at least for the x86_64 users which are the vast majority, symlink arch-specific headers in the general include directory. Change-Id: I684115c9196d7926e15734221e9ad8e1061af432 Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
2017-06-30Install arch-specific headers in /usr/include/ARCHLuca Boccassi1-4/+15
Fix multiarch compatibility by installing architecture specific headers into the multiarch subdirectory. Change-Id: I877432a659628c15bd68ab48d950d3ee795044f8 Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
2017-06-20debian/rules: adapt new location and build of testsChristian Ehrhardt1-3/+4
Build test tools which is now split from default build. We want those as we already provided a few of them together with the dpdk-dev package as helpers. Since we want only those from the shared (not the static) build we only add the shared ones. Also along that some paths changed which had to be adapted. This will add testacl and testpipeline tools and unify them with the already provided test and testpmd tools in one directory. Due to that testpmd will no more be in path, but that is correct given that it is a test/dev tool more than a normal end user binary. Change-Id: Ice383b5a70fe26fcd12864a0a86eebe114272108 Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com> Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
2017-06-19Adjust install path for UTs and check config firstLuca Boccassi1-5/+7
Do not try to copy the unit test binaries if the config is not enabled. Change-Id: I339eac3b5bfae351085aebb69adbacac99790c03 Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
2017-06-19Set +x on debian/rulesLuca Boccassi1-0/+0
Change-Id: I932232250c4f7ced707914bc3484b66849db43f1 Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
2017-06-19Always change ABI in the config regardless of custom filesLuca Boccassi1-1/+2
Packaging is tuned toward having ABI-named packages, so change custom config files too, not only the default ones Change-Id: I8deae49d2b7d589d69e72da407e397ca430752af Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
2017-06-19Rename libraries following ABI version rather than library versionLuca Boccassi1-2/+2
Change-Id: I73e00edf4d7135e92d084d5748330ee7b3ab212d Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
2017-06-19Merge branch '16.11.x' into 17.05.xLuca Boccassi1-29/+67
Conflicts: app/test-pmd/parameters.c app/test-pmd/testpmd.c debian/changelog debian/control debian/patches/fix-vhost-user-socket-permission.patch debian/rules doc/guides/cryptodevs/qat.rst doc/guides/nics/thunderx.rst doc/guides/rel_notes/release_16_11.rst drivers/net/i40e/i40e_rxtx_vec_neon.c drivers/net/ixgbe/ixgbe_rxtx.c drivers/net/mlx5/mlx5_rxtx.c drivers/net/nfp/nfp_net.c drivers/net/qede/qede_ethdev.c drivers/net/thunderx/nicvf_struct.h drivers/net/virtio/virtio_ethdev.c drivers/net/virtio/virtio_pci.c drivers/net/virtio/virtio_pci.h drivers/net/virtio/virtio_user/virtio_user_dev.c drivers/net/virtio/virtio_user/virtio_user_dev.h drivers/net/virtio/virtio_user_ethdev.c examples/dpdk_qat/main.c examples/performance-thread/l3fwd-thread/main.c examples/quota_watermark/qw/init.c lib/librte_eal/bsdapp/eal/eal_pci.c lib/librte_eal/common/include/rte_version.h lib/librte_vhost/socket.c lib/librte_vhost/vhost.c lib/librte_vhost/vhost.h pkg/dpdk.spec test/test/test_mempool.c Change-Id: I04809b1bcf4ecee4c171c5acb60a8a8aac8cc4a8 Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
2017-06-14Pass -g via EXTRA_CFLAGSCharles (Chas) Williams1-0/+1
Change-Id: Ieddf137bcb8ed68417b61ac7f66969d20231b4ed Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
2017-06-13Remove old compatibility transitional packagesLuca Boccassi1-15/+0
Change-Id: I64ea0708cacbb657895ba2548bd3b02fac9a0c0c Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
2017-06-12Generate libdpdk-dev dependencies and dpdk recommendsLuca Boccassi1-0/+7
There are many, many binary packages in DPDK, and they constantly change. To avoid having to manually maintain the list of dependencies of libdpdk-dev and recommends of dpdk, generate them at build time depending on what is actually built for each architecture. Change-Id: I19f5f037c41dc4b1d61fb5b2c00e0f005431d8f0 Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
2017-06-12Hide dbgsym metapackage behind DEB_BUILD_OPTIONSLuca Boccassi1-11/+23
dbgsym packages go in the -debug section of the archive, and various DDs and FTP Masters have strongly recommended to avoid uploading any such metapackage to Main for this reason. It can be still very useful for users and rebuilders, so leave it disabled behind a dbgsym_meta DEB_BUILD_OPTIONS flag. Change-Id: I112f3195755cc6bafef3167b39d3d47273572377 Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
2017-06-12Add dbgsym meta-packageJan Blunck1-0/+6
This adds a meta-package to install all generated -dbgsym packages. Change-Id: If2d802317628d5858ce2a60add445da39ab980e8 Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
2017-06-12Add support for building mempool packagesCharles (Chas) Williams1-0/+5
Change-Id: Ia7e55570cdc8aa93c82fbd2d7403331ecee95030 Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
2017-06-12Pass jobs argument via MAKEFLAGS variableJan Blunck1-6/+5
Change-Id: I23f329a3116563d70b318f6c4c9ad9159a48e997 Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
2017-05-30Change DEB_BUILD_OPTIONS nodocs to nodocLuca Boccassi1-1/+1
Debian Policy version 4.0.0 was just released and nodoc is officially recommended and recognised. Rename the option to comply. Change-Id: If80282f5e47b05065dd427d067f6e37c0f349517 Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
2017-05-22debian/rules: fix man pages on non-x86Christian Ehrhardt1-2/+5
These were built only in the arch indep, and therefore usually x86 only. Due to that dh:_installman only picked it up there. Move the make target to the binary section, so that the man pages will be packaged along the executables. Update in v2 - keep it in the BUILD_DOC wrapper to be able to skip it with nodoc build option. Change-Id: I6aa6f2d78014de7764b6a8804711570b0194f66d Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
2017-05-18Add option to disable static libraries buildLuca Boccassi1-0/+12
Upstream's build system requires a complete rebuild to have both static and shared libraries, which takes time. Add a DEB_BUILD_OPTIONS nostatic variable to let users disable it. Change-Id: If33884e0b85f8fb00c8293bae3e1668db6c74e4c Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
2017-05-18Add option to disable docs buildLuca Boccassi1-0/+10
Takes some good time to build the documentation, so add a DEB_BUILD_OPTIONS nodocs variable to let users disable it. Change-Id: I8cb44d31329367784d2987ecba008143be089376 Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
2017-05-17debian/rules: adapt new location and build of testsChristian Ehrhardt1-1/+4
Build test tools which is now split from default build. We want those as we already provided a few of them together with the dpdk-dev package as helpers. Since we want only those from the shared (not the static) build we only add the shared ones. Also along that some paths changed which had to be adapted. This will add testacl and testpipeline tools and unify them with the already provided test and testpmd tools in one directory. Due to that testpmd will no more be in path, but that is correct given that it is a test/dev tool more than a normal end user binary. Change-Id: Ice383b5a70fe26fcd12864a0a86eebe114272108 Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
2017-05-17debian/rules: build using MAJOR_ABIChristian Ehrhardt1-5/+6
To avoid further issues with sub-libraries bumping ABIs one by one we adapted to the MAJOR_ABI config feature. That shall allow us to: - co-install old and new binaries - avoid recursive ldd resolving to the wrong (old vs new ABI) libs - all libs being directly recognizable which code base they are from Change-Id: I14c7bd1749969a812be9730829ba009401d443a2 Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
2017-03-16Explicitly pass kerneldir= variableJan Blunck1-0/+1
This is a workaround for the assumption of install-kmod functionality that the running kernel is identical with the kernel we build against. This fixes commit 75964339a3 ("Make debian/rules file call install-kmod"). Change-Id: If5b9a99db36d4a9130ee9876ef93d581132369fc Signed-off-by: Jan Blunck <jblunck@infradead.org> Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
2017-03-15Make debian/rules file call install-kmodJan Blunck1-3/+2
Change-Id: Ie769436ef8de824ad85ac5fd10f12de4e6f8f970 Signed-off-by: Jan Blunck <jblunck@infradead.org> Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
2017-03-15Fix pkg-config multiarch libdirJan Blunck1-0/+1
Change-Id: Ie619ee1992fd6d9d41e0b427707a825658c4dfc9 Signed-off-by: Jan Blunck <jblunck@infradead.org> Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
2017-03-15Pass Debian multiarch libdir during installJan Blunck1-8/+12
Lets pass the multiarch libdir at install time so that the links embedded in the dpdk-dev package (build environment) are correct. Change-Id: I4f907ad88721f2155a300dc6ad6724a686b7b194 Signed-off-by: Jan Blunck <jblunck@infradead.org> Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
2017-02-07provide old ABI levels via backward compatibility of new DPDK libraries.Christian Ehrhardt1-0/+15
The cross dependencies in DPDK libraries would force us to conflict with older ABI versions to avoid double ld.so resolution (https://lists.ubuntu.com/archives/ubuntu-devel/2017-February/039659.html) The conflicts would make the old versions and thereby the dependent applications non-installable until there is a rebuild (as other updates would do). But for our case that would deny most benefits of version named libraries. Instead of adding a conflicts - whenever possible - provide a backward compatible wrapper symlinking to the new (ABI compatible) implementation. Change-Id: If9fa9cb9474ad0ac555bdf1a0c72f701ddaf2926 Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
2017-01-04Make dpdk-dev's //lib symlink multiarch awareChristian Ehrhardt1-0/+4
Change-Id: Idd522f11cf20b6321ccd1c7db949f5fcb10f82d3 Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
2016-11-10Use -fno-PIE when building kernel modulesLuca Boccassi1-0/+1
In Debian 9 -fPIE is now default, which causes build failures when building kernel modules. Pass -fno-PIE to fix it. Change-Id: Ib9187ef6ed72bd25b92fb9f449a9435fcc5cc6cf Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
2016-11-09debian/rules: Only export hardening related building HOST_/EXTRA flags when ↵Santiago1-13/+19
dpkg-dev < 1.18.11. On newer dpkg-dev versions, dpkg-buildflags handle them directly and are injected by gcc (6.x). Change-Id: I1fd99405d9b07e10c3bc41034256212ebeaf7549 Signed-off-by: Santiago <santiagorr@riseup.net>
2016-10-12include the autotest suite in dpdk-devChristian Ehrhardt1-0/+4
The autotest suite is ready to use after build and built by default. It can be useful to developers and tools to have access to the test toolchains built together with the packaged content. Change-Id: I5d5fe58b4ccc6960edde92bbec2577526d0c9916 Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
2016-10-11d/rules support DEB_BUILD_OPTIONS parallelChristian Ehrhardt1-3/+10
Build seems stable enough to support DEB_BUILD_OPTIONS parallel these days. Since we don't just dh we have to explicitly support that flag. Change-Id: Ia7fc590f81cdae5b4bd5abdfb36af7aaeddfa10c Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
2016-09-29add empty RTE_EAL_PMD_PATH dir to librte_ealChristian Ehrhardt1-0/+3
If EAL is initialized and the path isn't existing at all (=no PMDs at all are installed) the initialization fails with: EAL: /usr/lib/x86_64-linux-gnu/dpdk-pmds/: cannot open shared object file: No such file or directory So since we support RTE_EAL_PMD_PATH now but can never guarantee that there always will be a PMD it becomes a requirement of librte_eal to have at least an empty path. An empty path is fine and will not load anything, but avoid the initializaiton error. Change-Id: I2725169c67c190f8ed8b608fc5ae508ae66eab1c Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
2016-09-29utilize RTE_EAL_PMD_PATHChristian Ehrhardt1-2/+10
This sets RTE_EAL_PMD_PATH to /usr/lib/$(shell dpkg-architecture -qDEB_HOST_MULTIARCH)/dpdk-pmds. On creating the pmd library packages those get a symlink from that dir. This allows DPDK applications to autoload pmd drivers and only rely on the EAL -d option for those provided in other places (e.g. custom drivers). By that one can use testpmd/l2fwd/openvswitch-dpdk and others without passing -d <full-path-to-pmd.so> to EAL. Each lib gets an extra relative symlink from the RTE_EAL_PMD_PATH dir to the lib itself e.g. for librte_vhost: ./usr/lib/x86_64-linux-gnu/dpdk-pmds/ ./usr/lib/x86_64-linux-gnu/dpdk-pmds/librte_vhost.so.3 -> ../librte_vhost.so.3 Change-Id: Idf997e58cfa5060961239b3ee0c22de89e0ed1a3 Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
2016-09-22Allow DPDK_CONFIG, RTE_MACHINE, RTE_TARGET overridesLuca Boccassi1-1/+18
Parse DEB_BUILD_OPTIONS and let users override the defaults. If DPDK_CONFIG is overridden, allow users to store it in the debian/ directory, to avoid modifying the upstream tree, and also avoid modifying it during dh_auto_configure. Change-Id: I6b4f449a36ab079fab271b5930b020fbafc24905 Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>