On Wed, Mar 28, 2018 at 11:34:42AM -0700, Cal Sullivan wrote: > Is patch 1/2 good to merge?
Yes. > > It looks like in order for 18.02 and 17.11 to use the same .inc file we will > need to move the LIC_FILES_CHKSUM out of it, but that can be done later. 17.11 > seems to have upstreamed the same patch that was dropped in this upgrade, so > we're good on that front as well. Agreed. Thanks, Kevin > > Thanks, > Cal > > On 03/28/2018 12:46 AM, Kevin Hao wrote: > > On Wed, Mar 28, 2018 at 12:27:48PM +0500, Awais Belal wrote: > > Since we only have a single version supported at the > moment, which is the latest and the greatest. It is > best that the include and base recipe files are merged > to allow better maintainability and readability. > > Please don't do this because I plan to add the 17.11 (LTS) version to the > Yocto. > > Thanks, > Kevin > > > Signed-off-by: Awais Belal <[email protected]> > --- > recipes-extended/dpdk/dpdk.inc | 167 > ---------------------------------- > recipes-extended/dpdk/dpdk_18.02.bb | 175 > ++++++++++++++++++++++++++++++++++-- > 2 files changed, 167 insertions(+), 175 deletions(-) > delete mode 100644 recipes-extended/dpdk/dpdk.inc > > diff --git a/recipes-extended/dpdk/dpdk.inc > b/recipes-extended/dpdk/dpdk.inc > deleted file mode 100644 > index ce4e8bc..0000000 > --- a/recipes-extended/dpdk/dpdk.inc > +++ /dev/null > @@ -1,167 +0,0 @@ > -DESCRIPTION = "Intel(r) Data Plane Development Kit" > -HOMEPAGE = "http://dpdk.org" > -LICENSE = "BSD & LGPLv2 & GPLv2" > -LIC_FILES_CHKSUM = > "file://license/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ > - > file://license/lgpl-2.1.txt;md5=4b54a1fd55a448865a0b32d41598759d \ > - > file://license/bsd-3-clause.txt;md5=0f00d99239d922ffd13cabef83b33444" > - > -SRC_URI = "http://fast.dpdk.org/rel/${BP}.tar.gz;name=dpdk \ > - > file://dpdk-16.04-add-RTE_KERNELDIR_OUT-to-split-kernel-bu.patch \ > - > file://dpdk-16.07-add-sysroot-option-within-app-makefile.patch \ > - > file://dpdk-16.04-Fix-for-misleading-indentation-error.patch \ > - file://dpdk-16.07-dpdk-fix-for-parellel-make-issue.patch \ > - > file://dpdk-17.02-dpdk-fix-installation-warning-and-issue.patch \ > - " > - > -# A machine needs to enable this using: > -# COMPATIBLE_MACHINE_pn-dpdk-dev-libibverbs = "<machine name>" > - > -COMPATIBLE_MACHINE = "null" > -COMPATIBLE_HOST_libc-musl_class-target = "null" > - > - > -# dpdk example apps dpdk_qat and vhost have dependancy on fuse and > qat. > -# fuse is in meta-filesystems and qat is not yet upstreamed. > -# So adding mechanism to explicitly disable the use of fuse and qat. > -# To enable, uncomment the below line or include in .bbappend. > -# PACKAGECONFIG ?= " dpdk_qat vhost libvirt" > - > -PACKAGECONFIG[dpdk_qat] = ",,virtual/qat" > -PACKAGECONFIG[vhost] = ",,fuse" > -PACKAGECONFIG[libvirt] = ",,libvirt" > - > -export CONFIG_EXAMPLE_DPDK_QAT = > "${@bb.utils.contains('PACKAGECONFIG', 'dpdk_qat', 'y', 'n', d)}" > -export CONFIG_EXAMPLE_VM_POWER_MANAGER = > "${@bb.utils.contains('PACKAGECONFIG', 'libvirt', 'y', 'n', d)}" > -export CONFIG_VHOST_ENABLED = "${@bb.utils.contains('PACKAGECONFIG', > 'vhost', 'y', 'n', d)}" > - > -RDEPENDS_${PN} += "python-subprocess virtual/libibverbs" > -DEPENDS = "virtual/kernel virtual/libibverbs" > -do_configure[depends] += "virtual/kernel:do_shared_workdir" > - > -inherit module > - > -export MODULE_DIR="/lib/modules/${KERNEL_VERSION}/kernel/drivers/net" > -export RTE_SDK = "${S}" > -export RTE_TARGET="${@bb.utils.contains("TUNE_FEATURES", "m64", > "x86_64-native-linuxapp-gcc", "i686-native-linuxapp-gcc", d)}" > - > -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}/share" > -export RTE_OUTPUT = "${S}/${RTE_TARGET}" > -export ETHTOOL_LIB_PATH = "${S}/examples/ethtool/lib/${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" > - > -# The list of intel Comms platforms and their target machine > -# process mapping. The supported target machine is listed under > -# dpdk/mk/machine > -def get_dpdk_target_mach(bb, d): > - target_arch = d.getVar('DPDK_TARGET_MACHINE', True) > - if target_arch: > - target_arch > - return "default" > - > -do_configure () { > - ############################################################# > - ### default value for prefix is "usr", unsetting it, so it > - ### will not be concatenated in ${RTE_TARGET}/Makefile > - ### which will cause compilation failure > - ############################################################# > - unset prefix > - > - # Fix-up CONFIG_RTE_MACHINE based on target machine > - sed -e > "s#CONFIG_RTE_MACHINE=\"native\"#CONFIG_RTE_MACHINE=\"${DPDK_TARGET_MACH}\"#" > -i ${S}/config/defconfig_x86_64-native-linuxapp-gcc > - sed -e > "s#CONFIG_RTE_MACHINE=\"native\"#CONFIG_RTE_MACHINE=\"${DPDK_TARGET_MACH}\"#" > -i ${S}/config/defconfig_i686-native-linuxapp-gcc > - > - # Fix-up vhost configs based on package config > - sed -e > "s#CONFIG_RTE_KNI_VHOST=n#CONFIG_RTE_KNI_VHOST=${CONFIG_VHOST_ENABLED}#" -i > ${S}/config/common_linuxapp > - sed -e > "s#CONFIG_RTE_KNI_VHOST_VNET_HDR_EN=n#CONFIG_RTE_KNI_VHOST_VNET_HDR_EN=${CONFIG_VHOST_ENABLED}#" > -i ${S}/config/common_linuxapp > - sed -e > "s#CONFIG_RTE_LIBRTE_VHOST=n#CONFIG_RTE_LIBRTE_VHOST=${CONFIG_VHOST_ENABLED}#" > -i ${S}/config/common_linuxapp > - > - make O=$RTE_TARGET T=$RTE_TARGET config > -} > - > -do_compile () { > - unset LDFLAGS TARGET_LDFLAGS BUILD_LDFLAGS > - > - cd ${S}/${RTE_TARGET} > - oe_runmake EXTRA_LDFLAGS="-L${STAGING_LIBDIR} > --hash-style=gnu" \ > - EXTRA_CFLAGS="--sysroot=${STAGING_DIR_HOST} > -I${STAGING_INCDIR}" \ > - CROSS="${TARGET_PREFIX}" \ > - prefix="" LDFLAGS="" WERROR_FLAGS="-w" V=1 > - > - cd ${S}/examples/ > - oe_runmake EXTRA_LDFLAGS="-L${STAGING_LIBDIR} > --hash-style=gnu -fuse-ld=bfd" \ > - EXTRA_CFLAGS="--sysroot=${STAGING_DIR_HOST} > -I${STAGING_INCDIR}" \ > - CROSS="${TARGET_PREFIX}" O="${S}/examples/$@/" > - > - cd ${S}/test/ > - oe_runmake EXTRA_LDFLAGS="-L${STAGING_LIBDIR} > --hash-style=gnu -fuse-ld=bfd" \ > - EXTRA_CFLAGS="--sysroot=${STAGING_DIR_HOST} > -I${STAGING_INCDIR}" \ > - CROSS="${TARGET_PREFIX}" O="${S}/test/$@/" > -} > - > -do_install () { > - 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/* > - do > - install -m 0755 -d > ${D}/${INSTALL_PATH}/examples/`basename ${dirname}` > - > - for appname in `find ${dirname} -regex > ".*${EXAMPLES_BUILD_DIR}\/app\/[-0-9a-zA-Z0-9/_]*$"` > - do > - install -m 755 ${appname} > ${D}/${INSTALL_PATH}/examples/`basename ${dirname}`/ > - done > - done > - > - # Install test > - for dirname in ${S}/test/app/* > - do > - install -m 0755 -d ${D}/${INSTALL_PATH}/test > - > - for appname in `find ${dirname} -regex > ".*test\/app\/[-0-9a-zA-Z0-9/_]*$"` > - do > - install -m 755 ${appname} > ${D}/${INSTALL_PATH}/test > - done > - done > -} > - > -PACKAGES += "${PN}-examples ${PN}-test" > - > -FILES_${PN}-dbg += " \ > - ${INSTALL_PATH}/.debug \ > - ${INSTALL_PATH}/examples/*/.debug \ > - " > - > -FILES_${PN}-doc += "\ > - ${INSTALL_PATH}/doc \ > - " > - > -FILES_${PN}-dev += " \ > - ${INSTALL_PATH}/${RTE_TARGET}/.config \ > - ${includedir} \ > - ${includedir}/${ARCHDIR} \ > - ${includedir}/exec-env \ > - ${INSTALL_PATH}/buildtools/ \ > - ${INSTALL_PATH}/${RTE_TARGET}/include \ > - ${INSTALL_PATH}/${RTE_TARGET}/lib \ > - " > - > -FILES_${PN} += " ${INSTALL_PATH}/usertools/ \ > - ${prefix}/sbin/ \ > - ${prefix}/bin/ \ > - ${libdir}/ \ > - " > -FILES_${PN}-examples += " \ > - ${INSTALL_PATH}/examples/* \ > - " > - > -FILES_${PN}-test += " \ > - ${INSTALL_PATH}/test \ > - " > diff --git a/recipes-extended/dpdk/dpdk_18.02.bb > b/recipes-extended/dpdk/dpdk_18.02.bb > index 537d615..4cce416 100644 > --- a/recipes-extended/dpdk/dpdk_18.02.bb > +++ b/recipes-extended/dpdk/dpdk_18.02.bb > @@ -1,19 +1,178 @@ > -include dpdk.inc > +DESCRIPTION = "Intel(r) Data Plane Development Kit" > +HOMEPAGE = "http://dpdk.org" > +LICENSE = "BSD & LGPLv2 & GPLv2" > +LIC_FILES_CHKSUM = > "file://license/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ > + > file://license/lgpl-2.1.txt;md5=4b54a1fd55a448865a0b32d41598759d \ > + > file://license/bsd-3-clause.txt;md5=0f00d99239d922ffd13cabef83b33444" > > -SRC_URI += "\ > - > file://dpdk-16.04-dpdk-enable-ip_fragmentation-in-common_base-config.patch \ > - > file://0001-examples-Fix-maybe-uninitialized-warning.patch \ > - " > +SRC_URI = "http://fast.dpdk.org/rel/${BP}.tar.gz;name=dpdk \ > + > file://dpdk-16.04-add-RTE_KERNELDIR_OUT-to-split-kernel-bu.patch \ > + > file://dpdk-16.07-add-sysroot-option-within-app-makefile.patch \ > + > file://dpdk-16.04-Fix-for-misleading-indentation-error.patch \ > + file://dpdk-16.07-dpdk-fix-for-parellel-make-issue.patch \ > + > file://dpdk-17.02-dpdk-fix-installation-warning-and-issue.patch \ > + > file://dpdk-16.04-dpdk-enable-ip_fragmentation-in-common_base-config.patch \ > + file://0001-examples-Fix-maybe-uninitialized-warning.patch > \ > + " > > SRC_URI[dpdk.md5sum] = "49d08ced0a978a71cc3942af5cf51b95" > SRC_URI[dpdk.sha256sum] = > "f1210310fd5f01a3babe3a09d9b3e5a9db791c2ec6ecfbf94ade9f893a0632b8" > > +# A machine needs to enable this using: > +# COMPATIBLE_MACHINE_pn-dpdk-dev-libibverbs = "<machine name>" > + > +COMPATIBLE_MACHINE = "null" > +COMPATIBLE_HOST_libc-musl_class-target = "null" > +COMPATIBLE_HOST_linux-gnux32 = "null" > + > +# dpdk example apps dpdk_qat and vhost have dependancy on fuse and > qat. > +# fuse is in meta-filesystems and qat is not yet upstreamed. > +# So adding mechanism to explicitly disable the use of fuse and qat. > +# To enable, uncomment the below line or include in .bbappend. > +# PACKAGECONFIG ?= " dpdk_qat vhost libvirt" > + > +PACKAGECONFIG[dpdk_qat] = ",,virtual/qat" > +PACKAGECONFIG[vhost] = ",,fuse" > +PACKAGECONFIG[libvirt] = ",,libvirt" > + > +export CONFIG_EXAMPLE_DPDK_QAT = > "${@bb.utils.contains('PACKAGECONFIG', 'dpdk_qat', 'y', 'n', d)}" > +export CONFIG_EXAMPLE_VM_POWER_MANAGER = > "${@bb.utils.contains('PACKAGECONFIG', 'libvirt', 'y', 'n', d)}" > +export CONFIG_VHOST_ENABLED = "${@bb.utils.contains('PACKAGECONFIG', > 'vhost', 'y', 'n', d)}" > + > +RDEPENDS_${PN} += "python-subprocess virtual/libibverbs" > +DEPENDS = "virtual/kernel virtual/libibverbs" > +do_configure[depends] += "virtual/kernel:do_shared_workdir" > + > +inherit module > + > +export MODULE_DIR="/lib/modules/${KERNEL_VERSION}/kernel/drivers/net" > +export RTE_SDK = "${S}" > +export RTE_TARGET="${@bb.utils.contains("TUNE_FEATURES", "m64", > "x86_64-native-linuxapp-gcc", "i686-native-linuxapp-gcc", d)}" > + > +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}/share" > +export RTE_OUTPUT = "${S}/${RTE_TARGET}" > +export ETHTOOL_LIB_PATH = "${S}/examples/ethtool/lib/${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" > + > export EXAMPLES_BUILD_DIR = "${RTE_TARGET}" > export ARCHDIR = "generic" > > -do_configure_prepend () { > +# The list of intel Comms platforms and their target machine > +# process mapping. The supported target machine is listed under > +# dpdk/mk/machine > +def get_dpdk_target_mach(bb, d): > + target_arch = d.getVar('DPDK_TARGET_MACHINE', True) > + if target_arch: > + target_arch > + return "default" > + > +do_configure () { > + ############################################################# > + ### default value for prefix is "usr", unsetting it, so it > + ### will not be concatenated in ${RTE_TARGET}/Makefile > + ### which will cause compilation failure > + ############################################################# > + unset prefix > + > + # Fix-up CONFIG_RTE_LIBRTE_POWER based on package config for > libvirt > sed -e > "s#CONFIG_RTE_LIBRTE_POWER=y#CONFIG_RTE_LIBRTE_POWER=${CONFIG_EXAMPLE_VM_POWER_MANAGER}#" > -i ${S}/config/common_linuxapp > + > + # Fix-up CONFIG_RTE_MACHINE based on target machine > + sed -e > "s#CONFIG_RTE_MACHINE=\"native\"#CONFIG_RTE_MACHINE=\"${DPDK_TARGET_MACH}\"#" > -i ${S}/config/defconfig_x86_64-native-linuxapp-gcc > + sed -e > "s#CONFIG_RTE_MACHINE=\"native\"#CONFIG_RTE_MACHINE=\"${DPDK_TARGET_MACH}\"#" > -i ${S}/config/defconfig_i686-native-linuxapp-gcc > + > + # Fix-up vhost configs based on package config > + sed -e > "s#CONFIG_RTE_KNI_VHOST=n#CONFIG_RTE_KNI_VHOST=${CONFIG_VHOST_ENABLED}#" -i > ${S}/config/common_linuxapp > + sed -e > "s#CONFIG_RTE_KNI_VHOST_VNET_HDR_EN=n#CONFIG_RTE_KNI_VHOST_VNET_HDR_EN=${CONFIG_VHOST_ENABLED}#" > -i ${S}/config/common_linuxapp > + sed -e > "s#CONFIG_RTE_LIBRTE_VHOST=n#CONFIG_RTE_LIBRTE_VHOST=${CONFIG_VHOST_ENABLED}#" > -i ${S}/config/common_linuxapp > + > + make O=$RTE_TARGET T=$RTE_TARGET config > } > > -COMPATIBLE_HOST_linux-gnux32 = "null" > -COMPATIBLE_HOST_libc-musl_class-target = "null" > +do_compile () { > + unset LDFLAGS TARGET_LDFLAGS BUILD_LDFLAGS > + > + cd ${S}/${RTE_TARGET} > + oe_runmake EXTRA_LDFLAGS="-L${STAGING_LIBDIR} > --hash-style=gnu" \ > + EXTRA_CFLAGS="--sysroot=${STAGING_DIR_HOST} > -I${STAGING_INCDIR}" \ > + CROSS="${TARGET_PREFIX}" \ > + prefix="" LDFLAGS="" WERROR_FLAGS="-w" V=1 > + > + cd ${S}/examples/ > + oe_runmake EXTRA_LDFLAGS="-L${STAGING_LIBDIR} > --hash-style=gnu -fuse-ld=bfd" \ > + EXTRA_CFLAGS="--sysroot=${STAGING_DIR_HOST} > -I${STAGING_INCDIR}" \ > + CROSS="${TARGET_PREFIX}" O="${S}/examples/$@/" > + > + cd ${S}/test/ > + oe_runmake EXTRA_LDFLAGS="-L${STAGING_LIBDIR} > --hash-style=gnu -fuse-ld=bfd" \ > + EXTRA_CFLAGS="--sysroot=${STAGING_DIR_HOST} > -I${STAGING_INCDIR}" \ > + CROSS="${TARGET_PREFIX}" O="${S}/test/$@/" > +} > + > +do_install () { > + 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/* > + do > + install -m 0755 -d > ${D}/${INSTALL_PATH}/examples/`basename ${dirname}` > + > + for appname in `find ${dirname} -regex > ".*${EXAMPLES_BUILD_DIR}\/app\/[-0-9a-zA-Z0-9/_]*$"` > + do > + install -m 755 ${appname} > ${D}/${INSTALL_PATH}/examples/`basename ${dirname}`/ > + done > + done > + > + # Install test > + for dirname in ${S}/test/app/* > + do > + install -m 0755 -d ${D}/${INSTALL_PATH}/test > + > + for appname in `find ${dirname} -regex > ".*test\/app\/[-0-9a-zA-Z0-9/_]*$"` > + do > + install -m 755 ${appname} > ${D}/${INSTALL_PATH}/test > + done > + done > +} > + > +PACKAGES += "${PN}-examples ${PN}-test" > + > +FILES_${PN}-dbg += " \ > + ${INSTALL_PATH}/.debug \ > + ${INSTALL_PATH}/examples/*/.debug \ > + " > + > +FILES_${PN}-doc += "\ > + ${INSTALL_PATH}/doc \ > + " > + > +FILES_${PN}-dev += " \ > + ${INSTALL_PATH}/${RTE_TARGET}/.config \ > + ${includedir} \ > + ${includedir}/${ARCHDIR} \ > + ${includedir}/exec-env \ > + ${INSTALL_PATH}/buildtools/ \ > + ${INSTALL_PATH}/${RTE_TARGET}/include \ > + ${INSTALL_PATH}/${RTE_TARGET}/lib \ > + " > + > +FILES_${PN} += " ${INSTALL_PATH}/usertools/ \ > + ${prefix}/sbin/ \ > + ${prefix}/bin/ \ > + ${libdir}/ \ > + " > +FILES_${PN}-examples += " \ > + ${INSTALL_PATH}/examples/* \ > + " > + > +FILES_${PN}-test += " \ > + ${INSTALL_PATH}/test \ > + " > -- > 2.11.1 > > -- > _______________________________________________ > meta-intel mailing list > [email protected] > https://lists.yoctoproject.org/listinfo/meta-intel > > > > >
signature.asc
Description: PGP signature
-- _______________________________________________ meta-intel mailing list [email protected] https://lists.yoctoproject.org/listinfo/meta-intel
