[meta-freescale] [[meta-fsl-demos][PATCH] distro: Create i.MX distro files and preferred providers includes

Otavio Salvador otavio.salvador at ossystems.com.br
Thu Aug 27 12:17:13 PDT 2015


Hello Lauren,

I will do a first review and I believe other people will start to
comment on this as well. Comments below...

On Thu, Aug 27, 2015 at 3:04 PM, Lauren Post <lauren.post at freescale.com> wrote:
>
> These distro files provide support to build on multiple backend configurations
> and also enabling the i.MX as preffered providers.
>
> This distro fsl-imx-base is standalone but was customized from the poky.conf distro.
>
> Signed-off-by: Lauren Post <lauren.post at freescale.com>

Please extend the commit log explaining which distros are being
included and also what is the purpose of each one.

> ---
>  conf/distro/fsl-imx-dfb.conf              | 11 ++++
>  conf/distro/fsl-imx-fb.conf               |  9 ++++
>  conf/distro/fsl-imx-wayland.conf          | 10 ++++
>  conf/distro/fsl-imx-x11.conf              | 12 +++++
>  conf/distro/fsl-imx-xwayland.conf         | 12 +++++

As far as I know, XWayland is not yet supported by the community so
please add this when it is supported.

>  conf/distro/include/fsl-imx-base.inc      | 88 +++++++++++++++++++++++++++++++
>  conf/distro/include/fsl-imx-providers.inc | 20 +++++++
>  7 files changed, 162 insertions(+)
>  create mode 100644 conf/distro/fsl-imx-dfb.conf
>  create mode 100644 conf/distro/fsl-imx-fb.conf
>  create mode 100644 conf/distro/fsl-imx-wayland.conf
>  create mode 100644 conf/distro/fsl-imx-x11.conf
>  create mode 100644 conf/distro/fsl-imx-xwayland.conf
>  create mode 100644 conf/distro/include/fsl-imx-base.inc
>  create mode 100644 conf/distro/include/fsl-imx-providers.inc
>
> diff --git a/conf/distro/fsl-imx-dfb.conf b/conf/distro/fsl-imx-dfb.conf
> new file mode 100644
> index 0000000..b4e0e07
> --- /dev/null
> +++ b/conf/distro/fsl-imx-dfb.conf
> @@ -0,0 +1,11 @@
> +# i.MX DISTRO for Direct Frame Buffer
> +
> +include conf/distro/include/fsl-imx-base.inc
> +include conf/distro/include/fsl-imx-providers.inc
> +
> +DISTRO = "fsl-imx-dfb"

DISTRO var will come from local.conf so no need to set it here. This
should be dropped in all .conf for all backends.

> +# Remove backends that conflict with directfb and add directfb
> +

Please drop the extra empty line here so the comment is close of the code.

I would use a generic comment, which could be the same for all
backends. Something like:

# Rework DISTRO_FEATURES for the DirectFB backend support

But you can make this as you like.

> +DISTRO_FEATURES_remove = "x11 wayland "
> +DISTRO_FEATURES_append = " directfb opengl"

...
> diff --git a/conf/distro/include/fsl-imx-base.inc b/conf/distro/include/fsl-imx-base.inc
> new file mode 100644
> index 0000000..d9c2d89
> --- /dev/null
> +++ b/conf/distro/include/fsl-imx-base.inc
> @@ -0,0 +1,88 @@
> +DISTRO = "fsl-imx"

Drop this.

> +DISTRO_NAME = "Freescale i.MX Release Distro"
> +DISTRO_VERSION = "1.0+snapshot-${DATE}"
> +DISTRO_CODENAME = "master"
> +SDK_VENDOR = "-imx-sdk"
> +SDK_VERSION := "${@'${DISTRO_VERSION}'.replace('snapshot-${DATE}','snapshot')}"
> +
> +MAINTAINER = "Freescale Semiconductors <lauren.post at freescale.com>"

If this is a personal email, it is better to use your name here.

> +TARGET_VENDOR = "-freescale"
> +
> +LOCALCONF_VERSION = "1"
> +
> +IMX_DEFAULT_DISTRO_FEATURES = "largefile opengl ptest multiarch"
> +IMX_DEFAULT_EXTRA_RDEPENDS = "packagegroup-core-boot"
> +IMX_DEFAULT_EXTRA_RRECOMMENDS = "kernel-module-af-packet"
> +
> +DISTRO_FEATURES ?= "${DISTRO_FEATURES_DEFAULT} ${DISTRO_FEATURES_LIBC} ${IMX_DEFAULT_DISTRO_FEATURES}"

New line here please.

> +# Comment out the 2 lines below to use bluez4.
> +DISTRO_FEATURES_append_mx6 = " bluez5"
> +DISTRO_FEATURES_append_mx7 = " bluez5"

DISTRO_FEATURES should not be SoC specific so you should make this
without  the override.

> +SDK_NAME = "${DISTRO}-${TCLIBC}-${SDK_ARCH}-${IMAGE_BASENAME}-${TUNE_PKGARCH}"
> +SDKPATH = "/opt/${DISTRO}/${SDK_VERSION}"
> +
> +DISTRO_EXTRA_RDEPENDS += " ${IMX_DEFAULT_EXTRA_RDEPENDS}"
> +DISTRO_EXTRA_RRECOMMENDS += " ${IMX_DEFAULT_EXTRA_RRECOMMENDS}"
> +
> +TCLIBCAPPEND = ""
> +
> +PREMIRRORS ??= "\
> +bzr://.*/.*   http://downloads.yoctoproject.org/mirror/sources/ \n \
> +cvs://.*/.*   http://downloads.yoctoproject.org/mirror/sources/ \n \
> +git://.*/.*   http://downloads.yoctoproject.org/mirror/sources/ \n \
> +gitsm://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n \
> +hg://.*/.*    http://downloads.yoctoproject.org/mirror/sources/ \n \
> +osc://.*/.*   http://downloads.yoctoproject.org/mirror/sources/ \n \
> +p4://.*/.*    http://downloads.yoctoproject.org/mirror/sources/ \n \
> +svn://.*/.*   http://downloads.yoctoproject.org/mirror/sources/ \n"
> +
> +MIRRORS =+ "\
> +ftp://.*/.*      http://downloads.yoctoproject.org/mirror/sources/ \n \
> +http://.*/.*     http://downloads.yoctoproject.org/mirror/sources/ \n \
> +https://.*/.*    http://downloads.yoctoproject.org/mirror/sources/ \n"
> +
> +# The CONNECTIVITY_CHECK_URI's are used to test whether we can succesfully
> +# fetch from the network (and warn you if not). To disable the test set
> +# the variable to be empty.
> +# Git example url: git://git.yoctoproject.org/yocto-firewall-test;protocol=git;rev=master
> +
> +CONNECTIVITY_CHECK_URIS ?= " \
> +             https://eula-downloads.yoctoproject.org/index.php \
> +             http://bugzilla.yoctoproject.org/report.cgi"
> +
> +SANITY_TESTED_DISTROS ?= " \
> +            poky-1.7 \n \
> +            poky-1.8 \n \
> +            Ubuntu-12.04 \n \
> +            Ubuntu-14.04 \n \
> +            Ubuntu-14.10 \n \
> +            Ubuntu-15.04 \n \
> +            Fedora-21 \n \
> +            CentOS-6.* \n \
> +            CentOS-7.* \n \
> +            Debian-7.* \n \
> +            Debian-8.* \n \
> +            openSUSE-project-13.2 \n \
> +            "

This seems outdated. Master does not support Ubuntu 12.04. Is
Freescale really providing the needed maintenance and fixes for it?

> +# Default hash policy for distro
> +BB_SIGNATURE_HANDLER ?= 'OEBasicHash'
> +#
> +# OELAYOUT_ABI allows us to notify users when the format of TMPDIR changes in
> +# an incompatible way. Such changes should usually be detailed in the commit
> +# that breaks the format and have been previously discussed on the mailing list
> +# with general agreement from the core team.
> +#
> +OELAYOUT_ABI = "11"
> +
> +# add poky sanity bbclass
> +INHERIT += "poky-sanity"

I am afraid it makes this distro not compatible with OE-Core but Poky
only. Is this intended?

> +# QA check settings - a little stricter than the OE-Core defaults
> +WARN_TO_ERROR_QA = "already-stripped compile-host-path install-host-path \
> +                    installed-vs-shipped ldflags pn-overrides rpaths staticdev \
> +                    useless-rpaths"
> +WARN_QA_remove = "${WARN_TO_ERROR_QA}"
> +ERROR_QA_append = " ${WARN_TO_ERROR_QA}"
> diff --git a/conf/distro/include/fsl-imx-providers.inc b/conf/distro/include/fsl-imx-providers.inc
> new file mode 100644
> index 0000000..0e609b0
> --- /dev/null
> +++ b/conf/distro/include/fsl-imx-providers.inc
> @@ -0,0 +1,20 @@
> +# Use i.MX Kernel, U-Boot and Gstreamer 1.0 providers
> +PREFERRED_PROVIDER_u-boot_mx5 = "u-boot-fslc"
> +PREFERRED_PROVIDER_u-boot_mx6 = "u-boot-imx"
> +PREFERRED_PROVIDER_u-boot_mx7 = "u-boot-imx"
> +
> +PREFERRED_PROVIDER_virtual/kernel_mx6 = "linux-imx"
> +PREFERRED_PROVIDER_virtual/kernel_mx7 = "linux-imx"
> +
> +MACHINE_GSTREAMER_1_0_PLUGIN_mx6 = "gst1.0-fsl-plugin"
> +MACHINE_GSTREAMER_1_0_PLUGIN_mx6q = "gst1.0-fsl-plugin"
> +MACHINE_GSTREAMER_1_0_PLUGIN_mx6dl = "gst1.0-fsl-plugin"
> +MACHINE_GSTREAMER_1_0_PLUGIN_mx6sl = "gst1.0-fsl-plugin"
> +MACHINE_GSTREAMER_1_0_PLUGIN_mx6sx = "gst1.0-fsl-plugin"
> +MACHINE_GSTREAMER_1_0_PLUGIN_mx6ul = "gst1.0-fsl-plugin"
> +MACHINE_GSTREAMER_1_0_PLUGIN_mx7 = "gst1.0-fsl-plugin"
> +
> +# Default toolchains used in testing i.MX BSPs
> +DEFAULTTUNE_mx6   = "cortexa9hf-neon"
> +DEFAULTTUNE_mx6ul = "cortexa7hf-neon"
> +DEFAULTTUNE_mx7   = "cortexa7hf-neon"

To ease reading, I would put this content in fsl-imx-base.inc file and
avoid the other inc. It makes it much easier to understand and see
what is in use.


-- 
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