From 96115d51eeac4b4f8b7e7fb3a1a9681335c0602c Mon Sep 17 00:00:00 2001 From: John Klug Date: Tue, 15 Jan 2019 12:30:49 -0600 Subject: New mtac module recipes to fix dirty build/rebuild issues. --- recipes-bsp/multitech/mtac-eth_1.1.0.bb | 1 + recipes-bsp/multitech/mtac-gpiob_1.1.1.bb | 1 + recipes-bsp/multitech/mtac-lora_1.1.2.bb | 1 + recipes-bsp/multitech/mtac-mfser_1.1.0.bb | 1 + recipes-bsp/multitech/mtac-pulse_1.1.0.bb | 1 + recipes-bsp/multitech/mtac-xdot_1.1.0.bb | 1 + recipes-bsp/multitech/mtac_1.1.0.bb | 31 ++----------------- recipes-bsp/multitech/mts-io.inc | 49 ++++++++----------------------- 8 files changed, 21 insertions(+), 65 deletions(-) diff --git a/recipes-bsp/multitech/mtac-eth_1.1.0.bb b/recipes-bsp/multitech/mtac-eth_1.1.0.bb index 77a36f9..af4d9fb 100644 --- a/recipes-bsp/multitech/mtac-eth_1.1.0.bb +++ b/recipes-bsp/multitech/mtac-eth_1.1.0.bb @@ -20,6 +20,7 @@ S = "${WORKDIR}/git" inherit module EXTRA_OEMAKE = " -C ${STAGING_KERNEL_DIR} \ + EXTRA_CFLAGS='-I${STAGING_INCDIR}/mts-kernel-headers' \ KBUILD_VERBOSE=1 \ M=${S} \ modules \ diff --git a/recipes-bsp/multitech/mtac-gpiob_1.1.1.bb b/recipes-bsp/multitech/mtac-gpiob_1.1.1.bb index 4fc404d..a38dbd4 100644 --- a/recipes-bsp/multitech/mtac-gpiob_1.1.1.bb +++ b/recipes-bsp/multitech/mtac-gpiob_1.1.1.bb @@ -20,6 +20,7 @@ S = "${WORKDIR}/git" inherit module EXTRA_OEMAKE = " -C ${STAGING_KERNEL_DIR} \ + EXTRA_CFLAGS='-I${STAGING_INCDIR}/mts-kernel-headers' \ KBUILD_VERBOSE=1 \ M=${S} \ modules \ diff --git a/recipes-bsp/multitech/mtac-lora_1.1.2.bb b/recipes-bsp/multitech/mtac-lora_1.1.2.bb index c068b58..603db92 100644 --- a/recipes-bsp/multitech/mtac-lora_1.1.2.bb +++ b/recipes-bsp/multitech/mtac-lora_1.1.2.bb @@ -20,6 +20,7 @@ S = "${WORKDIR}/git" inherit module EXTRA_OEMAKE = " -C ${STAGING_KERNEL_DIR} \ + EXTRA_CFLAGS='-I${STAGING_INCDIR}/mts-kernel-headers' \ KBUILD_VERBOSE=1 \ M=${S} \ modules \ diff --git a/recipes-bsp/multitech/mtac-mfser_1.1.0.bb b/recipes-bsp/multitech/mtac-mfser_1.1.0.bb index fe09af2..1637b86 100644 --- a/recipes-bsp/multitech/mtac-mfser_1.1.0.bb +++ b/recipes-bsp/multitech/mtac-mfser_1.1.0.bb @@ -20,6 +20,7 @@ S = "${WORKDIR}/git" inherit module EXTRA_OEMAKE = " -C ${STAGING_KERNEL_DIR} \ + EXTRA_CFLAGS='-I${STAGING_INCDIR}/mts-kernel-headers' \ KBUILD_VERBOSE=1 \ M=${S} \ modules \ diff --git a/recipes-bsp/multitech/mtac-pulse_1.1.0.bb b/recipes-bsp/multitech/mtac-pulse_1.1.0.bb index 98f13ab..dfe2ce0 100644 --- a/recipes-bsp/multitech/mtac-pulse_1.1.0.bb +++ b/recipes-bsp/multitech/mtac-pulse_1.1.0.bb @@ -20,6 +20,7 @@ S = "${WORKDIR}/git" inherit module EXTRA_OEMAKE = " -C ${STAGING_KERNEL_DIR} \ + EXTRA_CFLAGS='-I${STAGING_INCDIR}/mts-kernel-headers' \ KBUILD_VERBOSE=1 \ M=${S} \ modules \ diff --git a/recipes-bsp/multitech/mtac-xdot_1.1.0.bb b/recipes-bsp/multitech/mtac-xdot_1.1.0.bb index 78bb7bd..1fb5c87 100644 --- a/recipes-bsp/multitech/mtac-xdot_1.1.0.bb +++ b/recipes-bsp/multitech/mtac-xdot_1.1.0.bb @@ -21,6 +21,7 @@ S = "${WORKDIR}/git" inherit module EXTRA_OEMAKE = " -C ${STAGING_KERNEL_DIR} \ + EXTRA_CFLAGS='-I${STAGING_INCDIR}/mts-kernel-headers' \ KBUILD_VERBOSE=1 \ M=${S} \ modules \ diff --git a/recipes-bsp/multitech/mtac_1.1.0.bb b/recipes-bsp/multitech/mtac_1.1.0.bb index e6038a9..e7d8834 100644 --- a/recipes-bsp/multitech/mtac_1.1.0.bb +++ b/recipes-bsp/multitech/mtac_1.1.0.bb @@ -19,6 +19,7 @@ S = "${WORKDIR}/git" inherit module EXTRA_OEMAKE = " -C ${STAGING_KERNEL_DIR} \ + EXTRA_CFLAGS='-I${STAGING_INCDIR}/mts-kernel-headers' \ KBUILD_VERBOSE=1 \ M=${S} \ modules \ @@ -31,43 +32,17 @@ do_compile () { oe_runmake } -L1 = "${STAGING_KERNEL_DIR}/include/linux/" - -# Bitbake/Yocto automatically installs in to L2. -L2 = "${STAGING_INCDIR}/linux/" - -L3 = "${D}/usr/include/linux/" - PACKAGES = "kernel-module-${PN} ${PN}-dev" FILES_kernel-module-${PN} = "${base_libdir}/modules/${KERNEL_VERSION}/extra/mtac.ko" -FILES_${PN}-dev += "/usr/include/linux/mtac.h" - PARALLEL_MAKE = "" fakeroot do_install () { install -m 0755 -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/extra - install -d ${D}/usr/include/linux/ # use cp instead of install so the driver doesn't get stripped cp ${S}/mtac.ko ${D}${base_libdir}/modules/${KERNEL_VERSION}/extra - install -m 0644 ${S}/mtac.h ${L1} - install -m 0644 ${S}/mtac.h ${L3} -} - -# Yocto seems to insist on Python for this function -# This function is to make debugging easier, so the package -# can be built a 2nd time. -fakeroot do_cleansstate_prepend() { - L1 = d.getVar("L1",True) - L2 = d.getVar("L2",True) - bb.note("L1 is " + L1) - bb.note("L2 is " + L2) - F1 = L1 + "/mtac.h" - F2 = L2 + "/mtac.h" - if os.path.exists(F1): - os.remove(F1) - if os.path.exists(F2): - os.remove(F2) + install -d ${D}${includedir}/mts-kernel-headers/linux + install -m 0644 ${S}/mtac.h ${D}${includedir}/mts-kernel-headers/linux } diff --git a/recipes-bsp/multitech/mts-io.inc b/recipes-bsp/multitech/mts-io.inc index 93ae253..0ef454c 100644 --- a/recipes-bsp/multitech/mts-io.inc +++ b/recipes-bsp/multitech/mts-io.inc @@ -59,37 +59,31 @@ FILES_${PN}-noarch += "${sbindir}/mts-io-sysfs" FILES_${PN}-noarch_append_mtcap += "${sbindir}/lora-led-updater" FILES_${PN}-util += "${sbindir}/mts-util-lora2-reset" FILES_${PN}-util-dbg += "/usr/src /usr/sbin/.debug" -FILES_${PN}-dev += "/usr/include/linux/mts_eeprom.h /usr/include/linux/mts_io.h" +FILES_${PN}-dev += "${includedir}/linux ${includedir}/mts-kernel-headers" INITSCRIPT_NAME = "mts-io" INITSCRIPT_PARAMS = "start 39 S ." PARALLEL_MAKE = "" -L1 = "${STAGING_KERNEL_DIR}/include/linux/" - -# Bitbake/Yocto automatically installs in to L2. -L2 = "${STAGING_INCDIR}/linux/" - -L3 = "${D}/usr/include/linux/" fakeroot do_install () { make DESTDIR=${D} install install -m 0755 -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/extra # use cp instead of install so the driver doesn't get stripped cp ${S}/io-module/mts_io.ko ${D}${base_libdir}/modules/${KERNEL_VERSION}/extra - install -d ${L3} - - echo "STAGING_KERNEL_DIR is ${STAGING_KERNEL_DIR}" - echo "STAGING_INCDIR is ${STAGING_INCDIR}" - echo "D/usr/include/linux/ is ${D}/usr/include/linux/" - install -m 0644 ${S}/io-module/mts_io.h ${L1} - # install -m 0644 ${S}/io-module/mts_io.h ${L2} - install -m 0644 ${S}/io-module/mts_io.h ${L3} + # install headers for kernel modules + install -d ${D}${includedir}/mts-kernel-headers/linux + install -m 0644 ${S}/io-module/mts_io.h ${D}${includedir}/mts-kernel-headers/linux + install -m 0644 ${S}/io-module/mts_eeprom.h ${D}${includedir}/mts-kernel-headers/linux - install -m 0644 ${S}/io-module/mts_eeprom.h ${L1} - # install -m 0644 ${S}/io-module/mts_eeprom.h ${L2} - install -m 0644 ${S}/io-module/mts_eeprom.h ${L3} + # install same headers for userspace applications + # Note this dupication can be avoided by adding the following into the recipes + # CFLAGS += ${STAGING_INCDIR}/mts-kernel-headers + # + install -d ${D}${includedir}/linux + install -m 0644 ${S}/io-module/mts_io.h ${D}${includedir}/linux + install -m 0644 ${S}/io-module/mts_eeprom.h ${D}${includedir}/linux install -d ${D}${sysconfdir}/init.d install -m 0755 ${WORKDIR}/mts-io.init ${D}${sysconfdir}/init.d/mts-io @@ -112,22 +106,3 @@ fakeroot do_install_append_mtcap() { install -m 0755 ${WORKDIR}/mts-io.mtcap.init ${D}${sysconfdir}/init.d/mts-io install -m 0755 ${WORKDIR}/lora-led-updater ${D}${sbindir}/lora-led-updater } - -# Yocto seems to insist on Python for this function -# This function is to make debugging easier, so the package -# can be built a 2nd time. -fakeroot do_cleansstate_prepend() { - L1 = d.getVar("L1",True) - L2 = d.getVar("L2",True) - bb.note("L1 is " + L1) - bb.note("L2 is " + L2) - - F1 = L1 + "/mts_io.h" - F2 = L2 + "/mts_io.h" - F3 = L1 + "/mts_eeprom.h" - F4 = L2 + "/mts_eeprom.h" - - for f in [F1, F2, F3, F4]: - if os.path.exists(f): - os.remove(f) -} -- cgit v1.2.3