[meta-intel] [master][PATCH 2/3] meta-isg: dpdk: simplify do_install

Rahul Kumar Gupta rahul.kumarxx.gupta at intel.com
Fri Jul 22 06:51:38 PDT 2016


Using makefile for installing targets.

Signed-off-by: Rahul Kumar Gupta <rahul.kumarxx.gupta at intel.com>
---
 meta-isg/common/recipes-extended/dpdk/dpdk.inc     | 46 ++++---------
 ...4-dpdk-fix-installation-warning-and-issue.patch | 79 ++++++++++++++++++++++
 2 files changed, 93 insertions(+), 32 deletions(-)
 create mode 100644 meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.04-dpdk-fix-installation-warning-and-issue.patch

diff --git a/meta-isg/common/recipes-extended/dpdk/dpdk.inc b/meta-isg/common/recipes-extended/dpdk/dpdk.inc
index 6228e7f..b1b56c9 100644
--- a/meta-isg/common/recipes-extended/dpdk/dpdk.inc
+++ b/meta-isg/common/recipes-extended/dpdk/dpdk.inc
@@ -8,6 +8,7 @@ SRC_URI = "http://dpdk.org/browse/dpdk/snapshot/dpdk-${PV}.tar.gz;name=dpdk \
 	   file://dpdk-16.04-add-sysroot-option-within-app-makefile.patch \
 	   file://dpdk-16.04-point-to-the-right-include-and-lib-path.patch \
 	   file://dpdk-16.04-Fix-for-misleading-indentation-error.patch \
+	   file://dpdk-16.04-dpdk-fix-installation-warning-and-issue.patch \
 	  "
 
 COMPATIBLE_MACHINE = "crystalforest|intel-corei7-64"
@@ -40,7 +41,8 @@ export ICP_ROOT = "${PKG_CONFIG_SYSROOT_DIR}/usr/include"
 export ICP_LIB_ROOT= "${PKG_CONFIG_SYSROOT_DIR}/usr/lib"
 export RTE_KERNELDIR = "${STAGING_KERNEL_DIR}"
 export RTE_KERNELDIR_OUT = "${STAGING_KERNEL_BUILDDIR}"
-export INSTALL_PATH = "${prefix}/dpdk"
+export INSTALL_PATH = "${prefix}/share"
+export RTE_OUTPUT = "${S}/${RTE_TARGET}"
 export SYSROOTPATH = "--sysroot=${STAGING_DIR_HOST}"
 export DPDK_TARGET_MACH = "${@get_dpdk_target_mach(bb,d)}"
 export ICP_LAC_API_DIR = "${STAGING_DIR_TARGET}${includedir}/lac"
@@ -97,30 +99,9 @@ do_compile () {
 }
 
 do_install () {
-
-	install -m 0755 -d	${D}/${INSTALL_PATH} \
-				${D}/${INSTALL_PATH}/doc \
-				${D}/${INSTALL_PATH}/tools \
-				${D}/${INSTALL_PATH}/${RTE_TARGET} \
-				${D}/${INSTALL_PATH}/${RTE_TARGET}/app \
-				${D}${includedir} \
-				${D}${includedir}/${ARCHDIR} \
-				${D}${includedir}/exec-env \
-				${D}${libdir} \
-				${D}${MODULE_DIR}
-
-	install -m 0755 ${S}/${RTE_TARGET}/kmod/*.ko	${D}${MODULE_DIR}/
-
-	install -m 640 ${S}/${RTE_TARGET}/lib/*.a		${D}${libdir}
-
-	install -m 640 ${S}/${RTE_TARGET}/.config			${D}/${INSTALL_PATH}/${RTE_TARGET}/
-	install -m 640 ${S}/${RTE_TARGET}/include/*.h			${D}${includedir}/
-	install -m 640 ${S}/${RTE_TARGET}/include/${ARCHDIR}/*.h	${D}${includedir}/${ARCHDIR}/
-	install -m 640 ${S}/${RTE_TARGET}/include/exec-env/*.h		${D}${includedir}/exec-env/
-	install -m 0755 ${S}/tools/*.py					${D}/${INSTALL_PATH}/tools/
-
-	# Install applications
-	install -m 0755 ${S}/${RTE_TARGET}/app/*	${D}/${INSTALL_PATH}/${RTE_TARGET}/app/
+	oe_runmake O=${RTE_OUTPUT} T= install-runtime DESTDIR=${D}
+	oe_runmake O=${RTE_OUTPUT} T= install-kmod DESTDIR=${D} kerneldir=${MODULE_DIR}
+	oe_runmake O=${RTE_OUTPUT} T= install-sdk DESTDIR=${D}
 
 	# Install examples
 	for dirname in ${S}/examples/*
@@ -138,9 +119,6 @@ PACKAGES += "${PN}-examples"
 
 FILES_${PN}-dbg += " \
 	${INSTALL_PATH}/.debug \
-	${INSTALL_PATH}/${RTE_TARGET}/app/.debug \
-	${INSTALL_PATH}/${RTE_TARGET}/hostapp/.debug \
-	${INSTALL_PATH}/${RTE_TARGET}/app/*.map \
 	${INSTALL_PATH}/examples/*/.debug \
 	"
 
@@ -153,12 +131,16 @@ FILES_${PN}-dev += " \
 	${includedir} \
 	${includedir}/${ARCHDIR} \
 	${includedir}/exec-env \
+	${INSTALL_PATH}/scripts/ \
+	${INSTALL_PATH}/${RTE_TARGET}/include \
+	${INSTALL_PATH}/${RTE_TARGET}/lib \
 	"
 
-FILES_${PN} += " ${INSTALL_PATH}/tools/ "
-
+FILES_${PN} += " ${INSTALL_PATH}/tools/ \
+		 ${prefix}/sbin/ \
+		 ${prefix}/bin/ \
+		 ${libdir}/ \
+		 "
 FILES_${PN}-examples += " \
-	${INSTALL_PATH}/${RTE_TARGET}/app/* \
-	${INSTALL_PATH}/${RTE_TARGET}/hostapp/* \
 	${INSTALL_PATH}/examples/* \
 	"
diff --git a/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.04-dpdk-fix-installation-warning-and-issue.patch b/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.04-dpdk-fix-installation-warning-and-issue.patch
new file mode 100644
index 0000000..1c880cf
--- /dev/null
+++ b/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.04-dpdk-fix-installation-warning-and-issue.patch
@@ -0,0 +1,79 @@
+From 2b0979ce523e33f8c2744f8c021b8722b7571a3d Mon Sep 17 00:00:00 2001
+From: Rahul Kumar Gupta <rahul.kumarxx.gupta at intel.com>
+Date: Thu, 21 Jul 2016 09:39:51 +0800
+Subject: [PATCH 2/2] dpdk: fix installation warning and issue
+
+Upstream-Status: Inappropriate [configuration]
+
+Ensure that all compiled libs should be installed to correct location.
+For cross compiling cp -r and extra tar flags used to avoid  QA warning
+[host-user-contaminated].
+Added excluded files from bin and removing mk file installation since it
+is not needed as a part of image.
+
+Signed-off-by: Rahul Kumar Gupta <rahul.kumarxx.gupta at intel.com>
+---
+ mk/rte.sdkinstall.mk | 24 +++++++++++-------------
+ 1 file changed, 11 insertions(+), 13 deletions(-)
+
+diff --git a/mk/rte.sdkinstall.mk b/mk/rte.sdkinstall.mk
+index 68e56b6..7674b47 100644
+--- a/mk/rte.sdkinstall.mk
++++ b/mk/rte.sdkinstall.mk
+@@ -114,15 +114,13 @@ endif
+ 
+ install-runtime:
+ 	$(Q)$(call rte_mkdir, $(DESTDIR)$(libdir))
+-	$(Q)cp -a    $O/lib/* $(DESTDIR)$(libdir)
++	$(Q)cp -r    $O/lib/* $(DESTDIR)$(libdir)
+ 	$(Q)$(call rte_mkdir, $(DESTDIR)$(bindir))
+-	$(Q)tar -cf -      -C $O app  --exclude 'app/*.map' \
+-		--exclude 'app/cmdline*' --exclude app/test \
+-		--exclude app/testacl --exclude app/testpipeline | \
+-	    tar -xf -      -C $(DESTDIR)$(bindir) --strip-components=1 \
+-		--keep-newer-files --warning=no-ignore-newer
++	$(Q)tar -cf -      -C $O app | \
++	    tar -xf -      -C $(DESTDIR)$(bindir) --no-same-owner --no-same-permissions \
++		--strip-components=1 --keep-newer-files --warning=no-ignore-newer
+ 	$(Q)$(call rte_mkdir,      $(DESTDIR)$(datadir))
+-	$(Q)cp -a $(RTE_SDK)/tools $(DESTDIR)$(datadir)
++	$(Q)cp -r $(RTE_SDK)/tools $(DESTDIR)$(datadir)
+ 	$(Q)$(call rte_mkdir,      $(DESTDIR)$(sbindir))
+ 	$(Q)$(call rte_symlink,    $(DESTDIR)$(datadir)/tools/dpdk_nic_bind.py, \
+ 	                           $(DESTDIR)$(sbindir)/dpdk_nic_bind)
+@@ -130,7 +128,7 @@ install-runtime:
+ install-kmod:
+ ifneq ($(wildcard $O/kmod/*),)
+ 	$(Q)$(call rte_mkdir, $(DESTDIR)$(kerneldir))
+-	$(Q)cp -a   $O/kmod/* $(DESTDIR)$(kerneldir)
++	$(Q)cp -r   $O/kmod/* $(DESTDIR)$(kerneldir)
+ endif
+ 
+ install-sdk:
+@@ -139,10 +137,10 @@ install-sdk:
+ 	    tar -xf -      -C $(DESTDIR)$(includedir) --strip-components=1 \
+ 		--keep-newer-files --warning=no-ignore-newer
+ 	$(Q)$(call rte_mkdir,                            $(DESTDIR)$(sdkdir))
+-	$(Q)cp -a               $(RTE_SDK)/mk            $(DESTDIR)$(sdkdir)
+-	$(Q)cp -a               $(RTE_SDK)/scripts       $(DESTDIR)$(sdkdir)
++	$(Q)cp -r               $(RTE_SDK)/scripts       $(DESTDIR)$(sdkdir)
+ 	$(Q)$(call rte_mkdir,                            $(DESTDIR)$(targetdir))
+-	$(Q)cp -a               $O/.config               $(DESTDIR)$(targetdir)
++	$(Q)cp -r               $O/.config               $(DESTDIR)$(targetdir)
++	$(Q)cp -r    $(RTE_SDK)/examples/ethtool/lib/$(RTE_TARGET)/lib/* $(DESTDIR)$(libdir)
+ 	$(Q)$(call rte_symlink, $(DESTDIR)$(includedir), $(DESTDIR)$(targetdir)/include)
+ 	$(Q)$(call rte_symlink, $(DESTDIR)$(libdir),     $(DESTDIR)$(targetdir)/lib)
+ 
+@@ -155,7 +153,7 @@ ifneq ($(wildcard $O/doc),)
+ endif
+ ifneq ($(wildcard $O/doc/*/*/*pdf),)
+ 	$(Q)$(call rte_mkdir,     $(DESTDIR)$(docdir)/guides)
+-	$(Q)cp -a $O/doc/*/*/*pdf $(DESTDIR)$(docdir)/guides
++	$(Q)cp -r $O/doc/*/*/*pdf $(DESTDIR)$(docdir)/guides
+ endif
+ 	$(Q)$(call rte_mkdir,         $(DESTDIR)$(datadir))
+-	$(Q)cp -a $(RTE_SDK)/examples $(DESTDIR)$(datadir)
++	$(Q)cp -r $(RTE_SDK)/examples $(DESTDIR)$(datadir)
+-- 
+1.9.1
+
-- 
1.9.1



More information about the meta-intel mailing list