[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