From 1827f6aa3048c61e6d6f174016fb61a614dbf3eb Mon Sep 17 00:00:00 2001 From: Rahul Kumar Gupta Date: Mon, 21 Oct 2047 11:59:01 +0800 Subject: meta-isg: dpdk: simplify do_install Using makefile for installing targets. Signed-off-by: Rahul Kumar Gupta Signed-off-by: Tom Zanussi --- 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 6228e7fd..b1b56c92 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 00000000..1c880cf1 --- /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 +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 +--- + 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 + -- cgit v1.2.3-54-g00ecf