[meta-freescale] [meta-fsl-demos][PATCH 2/3] packagegroup-fsl: split packagegroup into multiple recipes
Rogerio Nunes
ronunes at gmail.com
Sat Jan 25 12:23:57 PST 2014
On Sat, Jan 25, 2014 at 2:21 PM, Daiane Angolini <daiane.list at gmail.com> wrote:
> On Fri, Jan 24, 2014 at 9:45 PM, <ronunes at gmail.com> wrote:
>> From: Rogerio Nunes <rogerio.nunes at freescale.com>
>>
>> A single packagegroup recipe with multiple packagegroups inside
>> results in the execution of a huge amount of tasks when any image
>> that includes at least one packagegroup is baked.
>>
>> This patch splits the packagegroup-fsl recipe into multiple
>> recipes. As a consequence, only tasks related to recipes
>> actually used in an image have tasks added to the execution
>> queue.
>>
>> Change-Id: I9a8cd438337caa5601fd4e904c76ed2e8b5dca36
>> Signed-off-by: Rogerio Nunes <rogerio.nunes at freescale.com>
>> ---
>> .../packagegroups/packagegroup-fsl-gstreamer.bb | 33 ++++++++
>> .../packagegroup-fsl-tools-benchmark.bb | 20 +++++
>> .../packagegroup-fsl-tools-testapps.bb | 45 +++++++++++
>> recipes-fsl/packagegroups/packagegroup-fsl.bb | 89 ----------------------
>> 4 files changed, 98 insertions(+), 89 deletions(-)
>> create mode 100644 recipes-fsl/packagegroups/packagegroup-fsl-gstreamer.bb
>> create mode 100644 recipes-fsl/packagegroups/packagegroup-fsl-tools-benchmark.bb
>> create mode 100644 recipes-fsl/packagegroups/packagegroup-fsl-tools-testapps.bb
>> delete mode 100644 recipes-fsl/packagegroups/packagegroup-fsl.bb
>>
>> diff --git a/recipes-fsl/packagegroups/packagegroup-fsl-gstreamer.bb b/recipes-fsl/packagegroups/packagegroup-fsl-gstreamer.bb
>> new file mode 100644
>> index 0000000..c071e75
>> --- /dev/null
>> +++ b/recipes-fsl/packagegroups/packagegroup-fsl-gstreamer.bb
>> @@ -0,0 +1,33 @@
>> +# Copyright (C) 2012-2014 Freescale Semiconductor
>> +# Released under the MIT license (see COPYING.MIT for the terms)
>> +
>> +DESCRIPTION = "Freescale package group - gstreamer"
>> +LICENSE = "MIT"
>> +LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
>> + file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
>> +
>> +inherit packagegroup
>> +
>> +PACKAGES += " \
>> + ${PN}-streamer \
>> +"
>> +
>> +MACHINE_GSTREAMER_PLUGIN ?= ""
>> +
>> +RDEPENDS_${PN} = " \
>> + gst-meta-audio \
>> + gst-meta-video \
>> + gst-meta-debug \
>> + gst-plugins-good-meta \
>> + ${MACHINE_GSTREAMER_PLUGIN} \
>> +"
>> +
>> +RDEPENDS_${PN}-streamer = " \
>> + ${PN} \
>> + gst-plugins-good-udp \
>> + gst-plugins-good-rtp \
>> + gst-plugins-good-rtpmanager \
>> + gst-plugins-good-rtsp \
>> +"
>> +
>> +PACKAGE_ARCH = "${MACHINE_ARCH}"
>> diff --git a/recipes-fsl/packagegroups/packagegroup-fsl-tools-benchmark.bb b/recipes-fsl/packagegroups/packagegroup-fsl-tools-benchmark.bb
>> new file mode 100644
>> index 0000000..dadefb7
>> --- /dev/null
>> +++ b/recipes-fsl/packagegroups/packagegroup-fsl-tools-benchmark.bb
>> @@ -0,0 +1,20 @@
>> +# Copyright (C) 2012-2014 Freescale Semiconductor
>> +# Released under the MIT license (see COPYING.MIT for the terms)
>> +
>> +DESCRIPTION = "Freescale package group - tools/benchmark"
>> +LICENSE = "MIT"
>> +LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
>> + file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
>> +
>> +inherit packagegroup
>> +
>> +RDEPENDS_${PN} = " \
>> + lmbench \
>> + bonnie++ \
>> + dbench \
>> + fio \
>> + iozone3 \
>> + iperf \
>> + nbench-byte \
>> + tiobench \
>> +"
>> diff --git a/recipes-fsl/packagegroups/packagegroup-fsl-tools-testapps.bb b/recipes-fsl/packagegroups/packagegroup-fsl-tools-testapps.bb
>> new file mode 100644
>> index 0000000..8643991
>> --- /dev/null
>> +++ b/recipes-fsl/packagegroups/packagegroup-fsl-tools-testapps.bb
>> @@ -0,0 +1,45 @@
>> +# Copyright (C) 2012-2014 Freescale Semiconductor
>> +# Released under the MIT license (see COPYING.MIT for the terms)
>> +
>> +DESCRIPTION = "Freescale package group - tools/testapps"
>> +LICENSE = "MIT"
>> +LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
>> + file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
>> +
>> +inherit packagegroup
>> +
>> +SOC_TOOLS_TESTAPPS = ""
>> +SOC_TOOLS_TESTAPPS_mx5 = " \
>> + amd-gpu-x11-bin-mx51 \
>> +"
>> +
>> +SOC_TOOLS_TESTAPPS_mx6 = " \
>> + gpu-viv-bin-mx6q \
>> +"
>> +
>> +MACHINE_GSTREAMER_PLUGIN ?= ""
>> +
>> +RDEPENDS_${PN} = " \
>> + ${SOC_TOOLS_TESTAPPS} \
>> + ${@base_contains("MACHINE_GSTREAMER_PLUGIN", "gst-fsl-plugin", "gst-fsl-plugin-gplay", "", d)} \
>> + alsa-utils \
>> + alsa-tools \
>> + dosfstools \
>> + evtest \
>> + e2fsprogs-mke2fs \
>> + fsl-rc-local \
>> + gst-plugins-base-tcp \
>> + i2c-tools \
>> + imx-test \
>> + iproute2 \
>> + memtester \
>> + python-subprocess \
>> + python-datetime \
>> + python-json \
>> + ${@base_contains('DISTRO_FEATURES', 'x11', 'v4l-utils', '', d)} \
>> + ethtool \
>> + mtd-utils \
>> + mtd-utils-ubifs \
>> +"
>> +
>> +PACKAGE_ARCH = "${MACHINE_ARCH}"
>> diff --git a/recipes-fsl/packagegroups/packagegroup-fsl.bb b/recipes-fsl/packagegroups/packagegroup-fsl.bb
>> deleted file mode 100644
>> index 80ce5a4..0000000
>> --- a/recipes-fsl/packagegroups/packagegroup-fsl.bb
>> +++ /dev/null
>> @@ -1,89 +0,0 @@
>> -# Copyright (C) 2012-2013 Freescale Semiconductor
>> -# Released under the MIT license (see COPYING.MIT for the terms)
>> -
>> -DESCRIPTION = "Freescale package group"
>> -LICENSE = "MIT"
>> -LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
>> - file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
>> -
>> -PR = "r5"
>> -
>> -inherit packagegroup
>> -
>> -PROVIDES = "${PACKAGES}"
>> -PACKAGES += " \
>> - ${PN}-gstreamer \
>> - ${PN}-gstreamer-streamer \
>> - ${PN}-tools-testapps \
>> - ${PN}-tools-benchmark \
>> -"
>> -
>> -MACHINE_GSTREAMER_PLUGIN ?= ""
>> -
>> -RDEPENDS_${PN}-gstreamer = " \
>> - gst-meta-audio \
>> - gst-meta-video \
>> - gst-meta-debug \
>> - gst-plugins-good-meta \
>> - ${MACHINE_GSTREAMER_PLUGIN} \
>> -"
>> -
>> -RDEPENDS_${PN}-gstreamer-streamer = " \
>> - ${PN}-gstreamer \
>> - gst-plugins-good-udp \
>> - gst-plugins-good-rtp \
>> - gst-plugins-good-rtpmanager \
>> - gst-plugins-good-rtsp \
>> -"
>> -
>> -SOC_TOOLS_TESTAPPS = ""
>> -SOC_TOOLS_TESTAPPS_mx5 = " \
>> - amd-gpu-x11-bin-mx51 \
>> -"
>> -
>> -SOC_TOOLS_TESTAPPS_mx6 = " \
>> - gpu-viv-bin-mx6q \
>> -"
>> -
>> -RDEPENDS_${PN}-tools-testapps = " \
>> - ${SOC_TOOLS_TESTAPPS} \
>> - ${@base_contains("MACHINE_GSTREAMER_PLUGIN", "gst-fsl-plugin", "gst-fsl-plugin-gplay", "", d)} \
>> - alsa-utils \
>> - alsa-tools \
>> - dosfstools \
>> - evtest \
>> - e2fsprogs-mke2fs \
>> - fsl-rc-local \
>> - gst-plugins-base-tcp \
>> - i2c-tools \
>> - imx-test \
>> - iproute2 \
>> - memtester \
>> - python-subprocess \
>> - python-datetime \
>> - python-json \
>> - ${@base_contains('DISTRO_FEATURES', 'x11', 'v4l-utils', '', d)} \
>> - ethtool \
>> - mtd-utils \
>> - mtd-utils-ubifs \
>> -"
>> -
>> -RDEPENDS_${PN}-tools-benchmark = " \
>> - lmbench \
>> - bonnie++ \
>> - dbench \
>> - fio \
>> - iozone3 \
>> - iperf \
>> - nbench-byte \
>> - tiobench \
>> - "
>> -# Disabled as it has CRC problems in denzil branch
>> -# cpuburn-neon
>
> You have dropped this comment with no note on commit log
>
Sorry that I didn't bring this comment along. The idea now with the
recipes split is to review
the RDEPEDS for the packages, and also to create/reorg the recipes to
better fit image requirements.
One question though, why cpuburn-neon is still commented out for a
problem in denzil?
I kind of assumed that being still a comment after dylan and dora it
was not that necessary :)
>> -
>> -ALLOW_EMPTY_${PN} = "1"
>> -ALLOW_EMPTY_${PN}-gstreamer = "1"
>> -ALLOW_EMPTY_${PN}-tools-testapps = "1"
>> -ALLOW_EMPTY_${PN}-tools-benchmark = "1"
>
> You have dropped all the "allow_empty" with no reason on commit log.
> It made me think, what the reason for the ALLOW_EMPTY here? (anyway, please
> add a note on commit log for those things being dropped)
>
The packagegroup class sets ALLOW_EMPTY variables automatically for
all packages listed in the
PACKAGES variable in the recipe.
>
>
> Daiane
>
>> -
>> -PACKAGE_ARCH = "${MACHINE_ARCH}"
>> --
>> 1.8.3.2
>>
>> _______________________________________________
>> meta-freescale mailing list
>> meta-freescale at yoctoproject.org
>> https://lists.yoctoproject.org/listinfo/meta-freescale
More information about the meta-freescale
mailing list