aboutsummaryrefslogtreecommitdiffstats
path: root/dpdk/deb
diff options
context:
space:
mode:
Diffstat (limited to 'dpdk/deb')
-rwxr-xr-xdpdk/deb/debian/compat1
-rw-r--r--dpdk/deb/debian/control18
-rw-r--r--dpdk/deb/debian/dkms/Makefile10
-rwxr-xr-xdpdk/deb/debian/rules38
-rw-r--r--dpdk/deb/debian/vpp-dpdk-dkms.dkms8
5 files changed, 75 insertions, 0 deletions
diff --git a/dpdk/deb/debian/compat b/dpdk/deb/debian/compat
new file mode 100755
index 00000000..ec635144
--- /dev/null
+++ b/dpdk/deb/debian/compat
@@ -0,0 +1 @@
+9
diff --git a/dpdk/deb/debian/control b/dpdk/deb/debian/control
new file mode 100644
index 00000000..9ffa1a0a
--- /dev/null
+++ b/dpdk/deb/debian/control
@@ -0,0 +1,18 @@
+Source: vpp-dpdk
+Section: net
+Priority: extra
+Maintainer: vpp-dev@lists.fd.io
+Build-Depends: debhelper (>= 9), dkms
+Standards-Version: 3.9.4
+
+Package: vpp-dpdk-dev
+Architecture: any
+Depends: ${shlibs:Depends}
+Description: DPDK Development Package for VPP
+Conflicts: dpdk, dpdk-dev, libdpdk-dev
+
+Package: vpp-dpdk-dkms
+Architecture: any
+Depends: ${misc:Depends}
+Description: DPDK Development Package for VPP - Kernel Modules
+Conflicts: dpdk-igb-uio-dkms
diff --git a/dpdk/deb/debian/dkms/Makefile b/dpdk/deb/debian/dkms/Makefile
new file mode 100644
index 00000000..452c7c26
--- /dev/null
+++ b/dpdk/deb/debian/dkms/Makefile
@@ -0,0 +1,10 @@
+obj-m:=igb_uio.o
+
+CONFIG_MODULE_SIG=n
+
+EXTRA_CFLAGS += -Winline -I$(PWD)
+
+default:
+ $(MAKE) -C /lib/modules/$(shell uname -r)/build M=$(shell pwd) modules
+clean:
+ $(MAKE) -C /lib/modules/$(shell uname -r)/build M=$(shell pwd) clean
diff --git a/dpdk/deb/debian/rules b/dpdk/deb/debian/rules
new file mode 100755
index 00000000..98b1048b
--- /dev/null
+++ b/dpdk/deb/debian/rules
@@ -0,0 +1,38 @@
+#!/usr/bin/make -f
+DH_VERBOSE = 1
+PKG=vpp-dpdk
+
+VERSION = $(shell dpkg-parsechangelog | sed -nr '/^Version:/s/Version: //p')
+BASE_VER = $(word 1, $(subst -, ,$(VERSION)))
+
+export DPDK_BUILD_DIR=$(CURDIR)/_build
+export DPDK_INSTALL_DIR=$(CURDIR)/debian/tmp/usr
+
+SRC=_build/dpdk-$(BASE_VER)
+
+MAKE_ARGS=-C ..
+
+include /usr/share/dpkg/default.mk
+
+%:
+ dh $@ --with dkms
+
+override_dh_clean:
+ make $(MAKE_ARGS) clean
+
+override_dh_auto_configure:
+ make $(MAKE_ARGS) config
+
+override_dh_install:
+ make $(MAKE_ARGS) install
+ dh_install -p$(PKG)-dkms \
+ $(SRC)/lib/librte_eal/common/include/rte_pci_dev_feature_defs.h \
+ $(SRC)/lib/librte_eal/common/include/rte_pci_dev_features.h \
+ $(SRC)/lib/librte_eal/linuxapp/igb_uio/igb_uio.c \
+ $(SRC)/lib/librte_eal/linuxapp/igb_uio/compat.h \
+ debian/dkms/Makefile \
+ /usr/src/$(PKG)-dkms-$(VERSION)
+ dh_install -p$(PKG)-dev --autodest /usr
+
+override_dh_dkms:
+ dh_dkms -p$(PKG)-dkms -V $(VERSION)
diff --git a/dpdk/deb/debian/vpp-dpdk-dkms.dkms b/dpdk/deb/debian/vpp-dpdk-dkms.dkms
new file mode 100644
index 00000000..a166c313
--- /dev/null
+++ b/dpdk/deb/debian/vpp-dpdk-dkms.dkms
@@ -0,0 +1,8 @@
+PACKAGE_VERSION=#MODULE_VERSION#
+PACKAGE_NAME="vpp-dpdk-dkms"
+CLEAN="make clean"
+BUILT_MODULE_NAME[0]="igb_uio"
+BUILT_MODULE_LOCATION[0]="./"
+DEST_MODULE_LOCATION[0]="/kernel/net"
+MAKE[1]="make"
+AUTOINSTALL="yes"