Age | Commit message (Collapse) | Author | Files | Lines |
|
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>
|
|
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>
|
|
Change-Id: Idd522f11cf20b6321ccd1c7db949f5fcb10f82d3
Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
In order to allow users to call debian/rules manually and overriding
the default values of DPDK_CONFIG, RTE_MACHINE and RTE_TARGET assign
the defaults with ?= instead of :=
Change-Id: I5b4b63e62572705b37ff37d610df6305546c62f5
Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
|
|
Call the build of manpages in d/rules arch indep build to be available for
later install-runtime (which is arch dep, but uses the same directories).
Change-Id: I9035d09a9d44c6fbc049f20a20db8bbb51c6478a
Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
|
|
Pass RTE_DEVEL_BUILD=n to make calls to avoid building the test
pmds with rpath set to the current path, which is wrong for binaries
shipped by distributions.
Fixes Lintian Error:
E: dpdk: binary-or-shlib-defines-rpath usr/bin/dpdk-pdump
/home/lboccass/git/dpdk_deb/debian/build/shared-root/lib
Change-Id: I45e6a72beed1769fe35277ec5a2bcf50788254bd
Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
|
|
Enable ppc64el to build supported packages on that architecture as well.
xen dependencies are not available on ppc64el, so disable xen pmd in
that case.
powerpc currently has several libraries and pmds disabled in its default
dpdk config. That defines the range of expected-to-work packages.
Follow that and remove ppc64el architecture on those libs and pmds as packages.
Change-Id: I7f18962ad9e021c42e80739ddd569db4ecfe65dc
Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
Change-Id: Ic0bb0741f4027dd4ed371e3228aa770fb3b698f9
Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
|
|
When the binary kernel module build is enabled, a new package is
autogenerated. This requires adding it to the debian/control file,
and then cleaning it up.
Doing this via a backup debian/control.orig file that is gitignored
is error prone and can lead to changes being inadvertently and
silently overwritten.
Use a sed expression to remove the exact autogenerated snippet
instead to avoid this issue.
Change-Id: If04c25d2b267f654475567b78a36fd1de8318d76
Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
|
|
Otherwise the DPDK build errors out when the other environment
variables are set.
Change-Id: Iaa63a8e747be4daae5d23fa986e184a63eed827f
Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
|
|
Part of fix for:
W: dpdk-dev: hardening-no-relro usr/share/dpdk/x86_64-default-linuxapp-gcc/app/dpdk-pmdinfogen
Change-Id: I27805d114619944d2cb0df2d35ddbf3d157aea18
Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
|
|
Add optional binary kernel modules package, disabled by default
(build with DEB_BUILD_OPTIONS=kernel_modules to enable). If enabled
will build kernel modules against the local, current kernel version
(override by adding ksrc=<path/to/kernel/sources> to
DEB_BUILD_OPTIONS) into a dpdk-modules-<kernel version> package.
Useful for downstream projects that ship a complete ISO, where it is
not desirable to include a whole building environment for DKMS
packages.
Change-Id: I7e0ab239eaf08da71f9d58d60e32abf7cd42bec4
Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
|
|
Simplify debian/rules targets by using overrides on debhelper targets
Change-Id: Id018eae33b5f93acf54b3f24e0f4733683371ad5
Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
|
|
The api and guides docs are built in the static build dir but
installed from the shared dir, which is empty. Use the static dir
in both the build and install targets.
Change-Id: Ibd532d8cfce770b8109e04a88b51307dae2a7fde
Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
|
|
The content of the libdpdk.so linker script is read at build time and
the libraries included are used to generate the LIBS flags. Also the
version is read from the changelog.
Change-Id: I52a6dd01706713feb91004d138dbeac7e870aca5
Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
|
|
Changes:
- Tools renamed, dpdk_nic_bind is now dpdk-devbind
- Adapt d/p/ubuntu-fix-vhost-user-socket-permission.patch to 16.07-rc4
Change-Id: I7b476d3d063db3b321ba6e79289ea99e337f0da0
Signed-off-by: Ricardo Salveti <ricardo.salveti@linaro.org>
|
|
Needed to avoid mixing package name with soversion
(lintian package-name-doesnt-match-sonames).
Change-Id: Ic00208cf8b0568d027306d487abae827b03dbabd
Signed-off-by: Ricardo Salveti <ricardo.salveti@linaro.org>
|
|
Since libdpdk-dev.dirs was removed, we need to manually create the
correct includes path for libdpdk-dev.
Change-Id: I9abd78ed4567623590a1d5480df488a74787156a
Signed-off-by: Ricardo Salveti <ricardo.salveti@linaro.org>
|
|
Change-Id: Ief0486ccabc1244f123fee7af03ccbfd1c67a5f2
Signed-off-by: Ricardo Salveti <ricardo.salveti@linaro.org>
|
|
*updates in v2*
updated to adapt to changes we made when integrating earlier changes
This is a cleanup from the early days of dpdk packaging.
They are no more needed and not recommended if not needed according to
https://www.debian.org/doc/manuals/maint-guide/dother.en.html#dirs
The only remaining is a mkdir -p for dpdk_nic_bind which is much better
in d/rules close to the remove and relink that is done there.
Change-Id: Ife69e3fa23e5f061c86dec03d4b71d76a441e29d
Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
Signed-off-by: C.J. Collier <cjcollier@linuxfoundation.org>
|
|
*updates in v2*
rebased to match merge conflicts due to changes earlier in the series
make the use of tab/spaces consistent throughout the file without
discussinf or deciding which way it better (current majority wins).
Change-Id: I86de3ffff1e25b3c31d8e909896e3e8c7f771912
Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
|
|
The DPKG build system adds a -Wl, to and EXTRA_LDFLAGS, by that the
flags provided by dpkg-buildflags become -Wl,-Wl,option which fails to
build.
Fix by filtering the -Wl, prefix before exporting.
Note: filtering with make text functions is hard if the pattern contains
a comma, so sed was chosen.
Change-Id: I9b91b86c80529855dfb1c5a52725c0d07a95e5c8
Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
|
|
DPDK build ignores the usual way of dpdk-buildflag exports.
We have to set EXTRA_CFLAFS and EXTRA_LDFLAGS properly after setting up
and including dpdk-buildflags properly to have the control over flags a
debian package should have.
LDFLAG fPIC is now added via DEB_CFLAGS_MAINT_APPEND and fPIE disabled from
the default hardening set (incompatibility with fPIC on shared libraries)
Change-Id: I74febe97da99c338e6c3e0992c65ca4a007f381c
Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
|
|
This can be very useful in the buildlog to analyze how certain flags
were set.
Change-Id: I2d80f5f5721516516c8418b7cb449ee3ac02b1d8
Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
|
|
With so many changes to linking, flags and also our plan for further
optimization along the way it is useful to make the build more verbose
by default to spot issues right in the main build log.
Change-Id: I0c41d232bc7b353b9e8a91e7e3934a9b4a3a46cc
Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
Signed-off-by: C.J. Collier <cjcollier@linuxfoundation.org>
|
|
Following policy and fixing the warning regarding
https://lintian.debian.org/tags/package-name-doesnt-match-sonames.html
Change-Id: Ib946075ff64c0f1c30e32f7998a3aa99256ebce5
Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
|
|
By using := instead of = users that rebuild our packaging can overwrite
the following via environment variables:
DPDK_CONFIG
RTE_MACHINE
RTE_TARGET
That is already used by some consumers of the Ubuntu packaging to get
optimized build, but would allow them to go on without a patch on top.
Also since it is a no-op, as long as the variables are not set, it is
fairly safe.
Change-Id: I26265c09c90d33a6e4cd37f8c26ac0ef5baac0c4
Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
|
|
As discussed this shall be our initial baseline.
If history is needed for any sort of debugging or analysis it can be
found at https://code.launchpad.net/~ubuntu-server/dpdk/+git/dpdk
Change-Id: Ie95c7effbbea34d723df14f6451c1f782000cbc1
Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
|