DPDK_STATIC_DIR = "debian/build/static-root"
DPDK_SHARED_DIR = "debian/build/shared-root"
-clean:
- dh_testdir
+%:
+ dh $@ --with python2,dkms
+
+override_dh_auto_clean:
rm -rf debian/build debian/tmp
- dh_clean
-build-config:
- dh_testdir
+override_dh_auto_configure:
# report dpkg-buildflags status to build log
dpkg-buildflags --status
echo EXTRA_CFLAGS $$EXTRA_CFLAGS
echo EXTRA_LDFLAGS: $$EXTRA_LDFLAGS
- $(MAKE) O=$(DPDK_STATIC_DIR) T=$(DPDK_CONFIG) config
+ $(MAKE) V=$(DH_VERBOSE) O=$(DPDK_STATIC_DIR) T=$(DPDK_CONFIG) config
sed -ri -e 's,(RTE_MACHINE=).*,\1$(RTE_MACHINE),' \
-e 's,(RTE_NEXT_ABI=).*,\1n,' \
-e 's,(CONFIG_RTE_EAL_IGB_UIO=).*,\1n,' \
-e 's,(LIBRTE_PMD_PCAP=).*,\1y,' \
-e 's,(LIBRTE_PMD_XENVIRT=).*,\1y,' \
$(DPDK_STATIC_DIR)/.config
+ dh_auto_configure
+
+override_dh_auto_build-indep:
+ $(MAKE) V=$(DH_VERBOSE) O=$(DPDK_STATIC_DIR) doc-api-html doc-guides-html
-build-indep: build-config
- dh_testdir
- $(MAKE) O=$(DPDK_STATIC_DIR) doc-api-html doc-guides-html
+override_dh_auto_install-indep:
+ # Package: dpdk-doc
+ # All files based on the install-doc rule (includes examples)
+ $(MAKE) V=$(DH_VERBOSE) O=$(DPDK_STATIC_DIR) prefix=/usr \
+ DESTDIR=debian/dpdk-doc install-doc
-build-arch: build-config
- dh_testdir
+override_dh_auto_build-arch:
$(MAKE) V=$(DH_VERBOSE) O=$(DPDK_STATIC_DIR) build
# Unfortunately the decision about having static or shared libraries is
# made for the whole build, which then produces only .a or .so files
$(DPDK_SHARED_DIR)/.config
$(MAKE) V=$(DH_VERBOSE) O=$(DPDK_SHARED_DIR) build
-build: build-arch build-indep
-
-binary-indep: PACKAGE_NAME=dpdk-doc
-binary-indep: DOCDIR=usr/share/doc/dpdk
-binary-indep: export DH_OPTIONS=--indep
-binary-indep:
- dh_testroot
- dh_prep
- dh_testdir
- dh_installdirs
- dh_install
- dh_installdocs
- dh_installchangelogs
- dh_lintian
- # Package: dpdk-doc
- # All files based on the install-doc rule (includes examples)
- $(MAKE) O=$(DPDK_SHARED_DIR) prefix=/usr \
- DESTDIR=debian/dpdk-doc install-doc
- dh_link
- dh_compress
- dh_fixperms
- dh_installdeb
- dh_gencontrol
- dh_md5sums
- dh_builddeb
-
-binary-arch: LIBDIR=usr/lib/$(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
-binary-arch: export DH_OPTIONS=--arch
-binary-arch:
- dh_testroot
- dh_prep
- dh_testdir
- dh_installdirs
- dh_install
- dh_installdocs
- dh_installchangelogs
- dh_lintian
- dh_systemd_enable
- dh_installinit --no-start --no-restart-on-upgrade
- dh_systemd_start --no-start --no-restart-on-upgrade
+override_dh_auto_install-arch: LIBDIR=usr/lib/$(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
+override_dh_auto_install-arch:
# Package: dpdk (runtime)
- $(MAKE) O=$(DPDK_STATIC_DIR) prefix=/usr \
+ $(MAKE) V=$(DH_VERBOSE) O=$(DPDK_STATIC_DIR) prefix=/usr \
DESTDIR=debian/dpdk install-runtime
- $(MAKE) O=$(DPDK_SHARED_DIR) prefix=/usr \
+ $(MAKE) V=$(DH_VERBOSE) O=$(DPDK_SHARED_DIR) prefix=/usr \
DESTDIR=debian/dpdk install-runtime
+ mkdir -p debian/dpdk/etc/dpdk
cp debian/dpdk.interfaces debian/dpdk/etc/dpdk/interfaces
- rm debian/dpdk/usr/sbin/dpdk_nic_bind
+ rm debian/dpdk/usr/sbin/dpdk-devbind
mkdir -p debian/dpdk/sbin
- ln -s /usr/share/dpdk/tools/dpdk_nic_bind.py \
- debian/dpdk/sbin/dpdk_nic_bind
+ ln -s /usr/share/dpdk/tools/dpdk-devbind.py \
+ debian/dpdk/sbin/dpdk-devbind
# Package: dpdk-dev (build environment)
- $(MAKE) O=$(DPDK_SHARED_DIR) prefix=/usr \
+ $(MAKE) V=$(DH_VERBOSE) O=$(DPDK_SHARED_DIR) prefix=/usr \
DESTDIR=debian/dpdk-dev install-sdk
cp $(DPDK_SHARED_DIR)/.config debian/dpdk-dev/usr/share/dpdk/config
sed -e 's/SDK_TARGET/$(RTE_TARGET)/' debian/dpdk-sdk-env.sh.in > \
# linker script
mv debian/dpdk/usr/lib/libdpdk.so debian/libdpdk-dev/$(LIBDIR)/
# includes
+ mkdir -p debian/libdpdk-dev/usr/include
mv debian/dpdk-dev/usr/include/dpdk debian/libdpdk-dev/usr/include/
# all static libs are in the dev package
mv debian/dpdk/usr/lib/lib*.a debian/libdpdk-dev/$(LIBDIR)/
BN=$$(basename $${lib}); \
VER=$$(echo $${BN} | sed -e 's/^.*\.so\.//'); \
LN=$$(echo $${BN} | sed -e 's/\.so\.[0-9]*$$//' | tr '_' '-'); \
- echo "moving $${lib} for library $${LN}$${VER}"; \
- mkdir -p debian/$${LN}$${VER}/$(LIBDIR); \
- mv $${lib} debian/$${LN}$${VER}/$(LIBDIR); \
+ if echo $${LN} | grep -q ".*[0-9]$$"; then \
+ PKG=$${LN}-$${VER}; \
+ else \
+ PKG=$${LN}$${VER}; \
+ fi; \
+ echo "moving $${lib} for library $${PKG}"; \
+ mkdir -p debian/$${PKG}/$(LIBDIR); \
+ mv $${lib} debian/$${PKG}/$(LIBDIR); \
done
+ # pkg-config
+ mkdir -p debian/libdpdk-dev/$(LIBDIR)/pkgconfig
+ 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)/" \
+ 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)
cp lib/librte_eal/linuxapp/igb_uio/* \
mkdir -p debian/dpdk-rte-kni-dkms/usr/src/dpdk-rte-kni-$(VERSION)
cp -a lib/librte_eal/linuxapp/kni/* \
debian/dpdk-rte-kni-dkms/usr/src/dpdk-rte-kni-$(VERSION)
+
+override_dh_dkms:
dh_dkms -V $(VERSION)
- dh_python2
- dh_perl
- dh_link
- dh_compress
- dh_fixperms
- dh_strip
- dh_makeshlibs
- dh_shlibdeps
- dh_installdeb
- dh_gencontrol
- dh_md5sums
- dh_builddeb
-
-binary: binary-arch binary-indep
+
+override_dh_installinit:
+ dh_installinit --no-start --no-restart-on-upgrade
+
+override_dh_systemd_start:
+ dh_systemd_start --no-start --no-restart-on-upgrade
+
+override_dh_auto_test:
+