[meta-freescale] [meta-fsl-demos][PATCH v2] packagegroup-imx-gstreamer1.0: Add new package groups for GStreamer 1.0

Otavio Salvador otavio at ossystems.com.br
Tue Jun 3 15:10:14 PDT 2014


Hello Carlos,

Thank you for reworking it, some comments below...

On Tue, Jun 3, 2014 at 6:57 PM, Carlos Rafael Giani
<dv at pseudoterminal.org> wrote:

I think a commitlog explaining the three different package group and
the intended use for them would easy users' life and also our life
when documenting it.

Daiane, this is your turn to pester Carlos for RN updates on this :P

> Signed-off-by: Carlos Rafael Giani <dv at pseudoterminal.org>
> ---
>  .../packagegroup-imx-gstreamer1.0-commercial.bb    |  20 ++++
>  .../packagegroup-imx-gstreamer1.0-full.bb          |  16 +++
>  .../packagegroups/packagegroup-imx-gstreamer1.0.bb | 118 +++++++++++++++++++++
>  3 files changed, 154 insertions(+)
>  create mode 100644 recipes-multimedia/packagegroups/packagegroup-imx-gstreamer1.0-commercial.bb
>  create mode 100644 recipes-multimedia/packagegroups/packagegroup-imx-gstreamer1.0-full.bb
>  create mode 100644 recipes-multimedia/packagegroups/packagegroup-imx-gstreamer1.0.bb
>
> diff --git a/recipes-multimedia/packagegroups/packagegroup-imx-gstreamer1.0-commercial.bb b/recipes-multimedia/packagegroups/packagegroup-imx-gstreamer1.0-commercial.bb
> new file mode 100644
> index 0000000..4a31e88
> --- /dev/null
> +++ b/recipes-multimedia/packagegroups/packagegroup-imx-gstreamer1.0-commercial.bb
> @@ -0,0 +1,20 @@
> +DESCRIPTION = "Freescale package group - gstreamer"
> +LICENSE = "MIT"
> +LICENSE_FLAGS = "commercial"
> +LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
> +                    file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
> +
> +inherit packagegroup
> +
> +# only one package is produced: ${PN}
> +# so, nothing is added to PACKAGES

Drop the above comments as they are not important for people reading the recipe.

> +RDEPENDS_${PN} = " \
> +    packagegroup-imx-gstreamer1.0 \
> +"
> +
> +# Plugins from the -ugly collection which require the "commercial" flag in LICENSE_FLAGS_WHITELIST to be set
> +RDEPENDS_${PN} = " \
> +    gstreamer1.0-plugins-ugly-mpg123 \
> +    gstreamer1.0-plugins-ugly-asfdemux \
> +"
> diff --git a/recipes-multimedia/packagegroups/packagegroup-imx-gstreamer1.0-full.bb b/recipes-multimedia/packagegroups/packagegroup-imx-gstreamer1.0-full.bb
> new file mode 100644
> index 0000000..de797a6
> --- /dev/null
> +++ b/recipes-multimedia/packagegroups/packagegroup-imx-gstreamer1.0-full.bb
> @@ -0,0 +1,16 @@
> +DESCRIPTION = "Freescale package group - gstreamer full"
> +LICENSE = "MIT"
> +LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
> +                    file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
> +
> +inherit packagegroup
> +
> +RDEPENDS_${PN} = " \
> +    packagegroup-imx-gstreamer1.0 \
> +    ${@base_contains('LICENSE_FLAGS_WHITELIST', 'commercial', 'packagegroup-imx-gstreamer1.0-commercial', '', d)} \
> +    gstreamer1.0-plugins-base-meta \
> +    gstreamer1.0-plugins-good-meta \
> +    gstreamer1.0-plugins-bad-meta \
> +    ${@base_contains('LICENSE_FLAGS_WHITELIST', 'commercial', 'gstreamer1.0-plugins-ugly-meta', '', d)} \
> +    ${@base_contains('LICENSE_FLAGS_WHITELIST', 'commercial', 'gstreamer1.0-libav', '', d)} \
> +"
> diff --git a/recipes-multimedia/packagegroups/packagegroup-imx-gstreamer1.0.bb b/recipes-multimedia/packagegroups/packagegroup-imx-gstreamer1.0.bb
> new file mode 100644
> index 0000000..3949bb0
> --- /dev/null
> +++ b/recipes-multimedia/packagegroups/packagegroup-imx-gstreamer1.0.bb
> @@ -0,0 +1,118 @@
> +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}-base \
> +    ${PN}-x11-base \
> +    ${PN}-wayland-base \

I think the x11 and wayland specific package groups can be squashed
into the base one. You can rely in the distro features and add the
packages if needed.

> +    ${PN}-audio \
> +    ${PN}-video \
> +    ${PN}-video-bad \
> +    ${PN}-debug \
> +    ${PN}-network-base \
> +    ${PN}-network \
> +"
> +
> +MACHINE_GSTREAMER_1_0_PLUGIN ?= ""
> +
> +RDEPENDS_${PN} = " \
> +    ${PN}-audio \
> +    ${PN}-video \
> +    ${PN}-network-base \
> +    ${PN}-debug \
> +    ${MACHINE_GSTREAMER_1_0_PLUGIN} \
> +"
> +
> +# basic plugins required in virtually every pipeline
> +RDEPENDS_${PN}-base = " \
> +    ${@base_contains('DISTRO_FEATURES', 'x11', '${PN}-x11-base', '', d)} \
> +    ${@base_contains('DISTRO_FEATURES', 'wayland', '${PN}-wayland-base', '', d)} \
> +    gstreamer1.0 \
> +    gstreamer1.0-plugins-base-playback \
> +    gstreamer1.0-plugins-base-alsa \
> +    gstreamer1.0-plugins-base-audioconvert \
> +    gstreamer1.0-plugins-base-audioresample \
> +    gstreamer1.0-plugins-base-gio \
> +    gstreamer1.0-plugins-base-typefindfunctions \
> +    gstreamer1.0-plugins-base-videoconvert \
> +    gstreamer1.0-plugins-base-videoscale \
> +    gstreamer1.0-plugins-base-volume \
> +    gstreamer1.0-plugins-good-autodetect \
> +"
> +
> +# X11 specific plugins
> +RDEPENDS_${PN}-x11-base = " \
> +    gstreamer1.0-plugins-base-ximagesink \
> +    gstreamer1.0-plugins-base-xvimagesink \
> +"
> +
> +# Wayland specific plugins
> +RDEPENDS_${PN}-wayland-base = " \
> +    gstreamer1.0-plugins-bad-waylandsink \
> +"

Please see the above comment. Another reason to avoid splitting it is
because they'll end being generated independently of being used or not
and this is bad as people will see a 'x11' package in their feed if
building for framebuffer for example.

> +# Basic audio plugins: parsers, demuxers, decoders
> +RDEPENDS_${PN}-audio = " \
> +    ${PN}-base \
> +    gstreamer1.0-plugins-base-ivorbisdec \
> +    gstreamer1.0-plugins-base-ogg \
> +    gstreamer1.0-plugins-good-audioparsers \
> +    gstreamer1.0-plugins-good-flac \
> +    gstreamer1.0-plugins-good-icydemux \
> +    gstreamer1.0-plugins-good-id3demux \
> +    gstreamer1.0-plugins-good-speex \
> +    gstreamer1.0-plugins-good-wavparse \
> +"
> +
> +# Basic video plugins: parsers, demuxers
> +RDEPENDS_${PN}-video = " \
> +    ${PN}-base \
> +    gstreamer1.0-plugins-base-subparse \
> +    gstreamer1.0-plugins-base-theora \
> +    gstreamer1.0-plugins-good-avi \
> +    gstreamer1.0-plugins-good-flv \
> +    gstreamer1.0-plugins-good-isomp4 \
> +    gstreamer1.0-plugins-good-matroska \
> +"
> +
> +RRECOMMENDS_${PN}-video = " \
> +    ${PN}-audio \
> +"
> +
> +# Additional video plugins from the -bad collection
> +RDEPENDS_${PN}-video-bad = " \
> +    ${PN}-video \
> +    gstreamer1.0-plugins-bad-mpegpsdemux \
> +    gstreamer1.0-plugins-bad-mpegtsdemux \
> +    gstreamer1.0-plugins-bad-videoparsersbad \
> +"
> +
> +# Plugins used for diagnostics and debugging of pipelines
> +RDEPENDS_${PN}-debug = " \
> +    ${PN}-base \
> +    gstreamer1.0-plugins-base-audiotestsrc \
> +    gstreamer1.0-plugins-base-videotestsrc \
> +    gstreamer1.0-plugins-good-debug \
> +    gstreamer1.0-plugins-good-navigationtest \
> +"
> +
> +# Basic networking plugins required by most pipelines that receive and/or send data
> +RDEPENDS_${PN}-network-base = " \
> +    gstreamer1.0-plugins-base-tcp \
> +    gstreamer1.0-plugins-good-souphttpsrc \
> +    gstreamer1.0-plugins-good-udp \
> +"
> +
> +# Additional networking plugins
> +RDEPENDS_${PN}-network = " \
> +    ${PN}-network-base \
> +    gstreamer1.0-plugins-good-rtp \
> +    gstreamer1.0-plugins-good-rtpmanager \
> +    gstreamer1.0-plugins-good-rtsp \
> +"
> +
> +PACKAGE_ARCH = "${MACHINE_ARCH}"

The rest if alright in my point of view. Please when you have some
time please work in v3 ;)

-- 
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750


More information about the meta-freescale mailing list