[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