export DH_OPTIONS=-v
VERSION := $(shell dpkg-parsechangelog | sed -nr '/^Version:/s/Version: (.*:)?(.*)-(.*)/\2/p')
+ABIVERSION := "$(VERSION).0"
# see EXAMPLES in dpkg-buildflags(1) and read /usr/share/dpkg/*
include /usr/share/dpkg/default.mk
ifeq (,$(filter dpdk_config=%,$(DEB_BUILD_OPTIONS)))
sed -ri -e 's,(RTE_MACHINE=).*,\1$(RTE_MACHINE),' \
-e 's,(RTE_NEXT_ABI=).*,\1n,' \
+ -e 's,(CONFIG_RTE_MAJOR_ABI=).*,\1$(ABIVERSION),' \
-e 's,(CONFIG_RTE_EAL_IGB_UIO=).*,\1$(DPDK_CONFIG_BUILD_KMOD),' \
-e 's,(CONFIG_RTE_KNI_KMOD=).*,\1$(DPDK_CONFIG_BUILD_KMOD),' \
-e 's,(LIBRTE_PMD_PCAP=).*,\1y,' \
sed -ri 's,(RTE_BUILD_SHARED_LIB=).*,\1y,' \
$(DPDK_SHARED_DIR)/.config
$(MAKE) -j $(PAR) V=$(DH_VERBOSE) O=$(DPDK_SHARED_DIR) RTE_KERNELDIR=$(KSRC) build
+ $(MAKE) -j $(PAR) V=$(DH_VERBOSE) O=$(DPDK_SHARED_DIR) RTE_KERNELDIR=$(KSRC) test-build
override_dh_auto_install-arch: LIBDIR=/usr/lib/$(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
override_dh_auto_install-arch:
debian/dpdk-dev/usr/share/dpdk/dpdk-sdk-env.sh
# include the bundled autotest suite to be usable from the dpdk-dev package
mkdir -p debian/dpdk-dev/usr/share/dpdk/test
- cp -a app/test/autotest* debian/dpdk-dev/usr/share/dpdk/test
+ cp -a test/test/autotest* debian/dpdk-dev/usr/share/dpdk/test
cp $(DPDK_SHARED_DIR)/app/test debian/dpdk-dev/usr/share/dpdk/test/
+ cp $(DPDK_SHARED_DIR)/app/testacl debian/dpdk-dev/usr/share/dpdk/test/
+ cp $(DPDK_SHARED_DIR)/app/testpipeline debian/dpdk-dev/usr/share/dpdk/test/
# since we move libs to multiarch dirs update the non aware symlink
rm debian/dpdk-dev/usr/share/dpdk/$(RTE_TARGET)/lib
ln -rs debian/dpdk-dev/$(LIBDIR)/ \
# Package(s): libdpdk-<NAME><VER> (bare runtime libs)
for lib in $$(ls -1 debian/dpdk/$(LIBDIR)/*.so.*); do \
BN=$$(basename $${lib}); \
- VER=$$(echo $${BN} | sed -e 's/^.*\.so\.//'); \
- LN=$$(echo $${BN} | sed -e 's/\.so\.[0-9]*$$//' | tr '_' '-'); \
+ LN=$$(echo $${BN} | sed -e 's/\.so\.[0-9\.]*$$//' | tr '_' '-'); \
if echo $${LN} | grep -q ".*[0-9]$$"; then \
- PKG=$${LN}-$${VER}; \
+ PKG=$${LN}-$(VERSION); \
else \
- PKG=$${LN}$${VER}; \
+ PKG=$${LN}$(VERSION); \
fi; \
LIBF="$$(basename $${lib})"; \
LIBD="debian/$${PKG}/$(LIBDIR)"; \
- echo "moving $${lib} for library $${PKG}"; \
+ echo "moving $${lib} to dir $${LIBD} (PKG=$${PKG} BN=$${BN} LN={$${LN} LIBF=$${LIBF} LIBD=$${LIBD})"; \
mkdir -p $${LIBD}; \
mv $${lib} $${LIBD}; \
if [ "$${LIBF#librte_pmd_}x" != "$${LIBF}x" ]; then \
LIBS=$$(sed -e 's/GROUP ( \(.*\) )/\1/' -e 's/lib/-l/g' -e 's/\.so//g' \
$(CURDIR)/debian/libdpdk-dev/$(LIBDIR)/libdpdk.so); \
sed -e "s/@DPDK_LIBS@/$${LIBS}/" -e "s/@VERSION@/$(VERSION)/" \
+ -e "s|@LIBDIR@|$(LIBDIR)|" \
debian/libdpdk.pc.in > debian/libdpdk-dev/$(LIBDIR)/pkgconfig/libdpdk.pc
# Package: dpdk-igb-uio-dkms
mkdir -p debian/dpdk-igb-uio-dkms/usr/src/dpdk-igb-uio-$(VERSION)
debian/dpdk-rte-kni-dkms/usr/src/dpdk-rte-kni-$(VERSION)
ifneq (,$(KVERS))
# Package: dpdk-modules-<kernel version>
- mkdir -p debian/dpdk-modules-$(KVERS)/lib/modules/$(KVERS)/kernel/drivers/net
- cp -a debian/build/shared-root/kmod/* \
- debian/dpdk-modules-$(KVERS)/lib/modules/$(KVERS)/kernel/drivers/net
+ $(MAKE) V=$(DH_VERBOSE) O=$(DPDK_SHARED_DIR) \
+ kerneldir=/lib/modules/$(KVERS)/extra/dpdk \
+ DESTDIR=debian/dpdk-modules-$(KVERS) install-kmod
endif
debian/libethdev4.links: debian/libethdev4.links.in