Date   

Fixing vulnerabilities in glibc #yocto

Milun Jovanovic
 

My greeting to all
I am new on yocto project and yocto build environment is also new to me ...
My working task is removing  vulnerabilities from libc library...
The processor is based on arm5 while newer yoctos 2.7.x and 3.x. do not provide environment support for arm5 based processors.

The glibc vulnerabilities are fixed in the latest glibc 2.30 released. package while yocto 2.6.x  includes 2.28 package.
Also some of glibc vulnerabilities are patched in 2.6.4 (\oecore-thud-20.0.4.tar\oecore-thud-20.0.4\meta\recipes-core\glibc\glibc):

CVE-2016-10739
CVE-2018-19591
CVE-2019-6488
CVE-2019-7309
CVE-2019-9169
while there are some others those have not been patched:


Re: Issues with alsa-state

Andy Pont <andy.pont@...>
 

Quentin wrote...

Have a look at the paths traversed by Yocto to find your asound.state in
log.do_fetch in the WORKDIR.
 
You'll have the following:
DEBUG: Searching for asound.state in paths:
There are a lot of paths that it searched in for the file. I’ve moved the file in the file system changed the value of FILESEXTRAPATHS_prepend_mx6 from: 

FILESEXTRAPATHS_prepend_mx6 := "${THISDIR}/${PN}/imx:”

to:

FILESEXTRAPATHS_prepend_mx6 := "${THISDIR}/${PN}:”

That has made the build process find my version of asound.state first.

Thanks,

-Andy.


Re: Unable to build core-image-full-cmdline on openSUSE Leap 15.1: dnf can't find _curses module in do_rootfs task

Alexander Kanavin
 

This error means native python3 was somehow built without curses, or isn't able to use the curses module that was built, so installing host packages isn't going to help. You need to look into how python3 was built and installed into recipe-sysroot-native. I can't offer more specific guidance than that unfortunately.

Alex


On Sun, 8 Dec 2019 at 22:33, Rebecca Cran <rebecca@...> wrote:
I recently switched from Ubuntu 19.10 to openSUSE Leap 15.1, but I'm having problems building core-image-full-cmdline on it. I've installed all the host packages I can think of, including python-curses and python3-curses, with no success.

I'm on the zeus branch, and running "bitbake core-image-full-cmdline" results in the following error when running the do_rootfs task:

ERROR: core-image-full-cmdline-1.0-r0 do_rootfs: Could not invoke dnf. Command '/home/bcran/src/fsl-community-bsp/build-imx6slevk/tmp/work/imx6slevk-fslc-linux-gnueabi/core-image-full-cmdline/1.0-r0/recipe-sysroot-native/usr/bin/dnf -v --rpmverbosity=info -y -c /home/bcran/src/fsl-community-bsp/build-imx6slevk/tmp/work/imx6slevk-fslc-linux-gnueabi/core-image-full-cmdline/1.0-r0/rootfs/etc/dnf/dnf.conf --setopt=reposdir=/home/bcran/src/fsl-community-bsp/build-imx6slevk/tmp/work/imx6slevk-fslc-linux-gnueabi/core-image-full-cmdline/1.0-r0/rootfs/etc/yum.repos.d --installroot=/home/bcran/src/fsl-community-bsp/build-imx6slevk/tmp/work/imx6slevk-fslc-linux-gnueabi/core-image-full-cmdline/1.0-r0/rootfs --setopt=logdir=/home/bcran/src/fsl-community-bsp/build-imx6slevk/tmp/work/imx6slevk-fslc-linux-gnueabi/core-image-full-cmdline/1.0-r0/temp --repofrompath=oe-repo,/home/bcran/src/fsl-community-bsp/build-imx6slevk/tmp/work/imx6slevk-fslc-linux-gnueabi/core-image-full-cmdline/1.0-r0/oe-rootfs-repo makecache --refresh' returned 1:
Traceback (most recent call last):
  File "/home/bcran/src/fsl-community-bsp/build-imx6slevk/tmp/work/imx6slevk-fslc-linux-gnueabi/core-image-full-cmdline/1.0-r0/recipe-sysroot-native/usr/bin/dnf.real", line 57, in <module>
    from dnf.cli import main
  File "/home/bcran/src/fsl-community-bsp/build-imx6slevk/tmp/work/imx6slevk-fslc-linux-gnueabi/core-image-full-cmdline/1.0-r0/recipe-sysroot-native/usr/lib/python3.7/site-packages/dnf/cli/__init__.py", line 30, in <module>
    from dnf.cli.cli import Cli  # :api
  File "/home/bcran/src/fsl-community-bsp/build-imx6slevk/tmp/work/imx6slevk-fslc-linux-gnueabi/core-image-full-cmdline/1.0-r0/recipe-sysroot-native/usr/lib/python3.7/site-packages/dnf/cli/cli.py", line 44, in <module>
    from . import output
  File "/home/bcran/src/fsl-community-bsp/build-imx6slevk/tmp/work/imx6slevk-fslc-linux-gnueabi/core-image-full-cmdline/1.0-r0/recipe-sysroot-native/usr/lib/python3.7/site-packages/dnf/cli/output.py", line 34, in <module>
    import dnf.cli.progress
  File "/home/bcran/src/fsl-community-bsp/build-imx6slevk/tmp/work/imx6slevk-fslc-linux-gnueabi/core-image-full-cmdline/1.0-r0/recipe-sysroot-native/usr/lib/python3.7/site-packages/dnf/cli/progress.py", line 19, in <module>
    from dnf.cli.term import _term_width
  File "/home/bcran/src/fsl-community-bsp/build-imx6slevk/tmp/work/imx6slevk-fslc-linux-gnueabi/core-image-full-cmdline/1.0-r0/recipe-sysroot-native/usr/lib/python3.7/site-packages/dnf/cli/term.py", line 21, in <module>
    import curses
  File "/home/bcran/src/fsl-community-bsp/build-imx6slevk/tmp/work/imx6slevk-fslc-linux-gnueabi/core-image-full-cmdline/1.0-r0/recipe-sysroot-native/usr/lib/python3.7/curses/__init__.py", line 13, in <module>
    from _curses import *
ModuleNotFoundError: No module named '_curses'

ERROR: Logfile of failure stored in: /home/bcran/src/fsl-community-bsp/build-imx6slevk/tmp/work/imx6slevk-fslc-linux-gnueabi/core-image-full-cmdline/1.0-r0/temp/log.do_rootfs.40254
ERROR: Task (/home/bcran/src/fsl-community-bsp/sources/poky/meta/recipes-extended/images/core-image-full-cmdline.bb:do_rootfs) failed with exit code '1'

--
Rebecca Cran -=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#47593): https://lists.yoctoproject.org/g/yocto/message/47593
Mute This Topic: https://lists.yoctoproject.org/mt/67777408/1686489
Group Owner: yocto+owner@...
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub  [alex.kanavin@...]
-=-=-=-=-=-=-=-=-=-=-=-


Re: Issues with alsa-state

Quentin Schulz
 

Hi Andy,

On Mon, Dec 09, 2019 at 10:40:49AM +0000, Andy Pont wrote:
Hello!

I am trying to add a custom asound.state file into my Zeus based i.MX6
image. I have created a custom .bbappend file with the following contents:

FILESEXTRAPATHS_prepend_mx6 := "${THISDIR}/${PN}/imx:”
PACKAGE_ARCH_mx6 = "${MACHINE_ARCH}”

The output from:

$ bitbake-layers show-appends | grep alsa

is (some names changed to protect the guilty):

alsa-state.bb:
/home/.../sources/meta-freescale/recipes-bsp/alsa-state/alsa-state.bbappend
/home/.../sources/meta-boundary/recipes-bsp/alsa-state/alsa-state.bbappend
/home/.../sources/meta-project/recipes-bsp/alsa-state/alsa-state.bbappend

The file that is included in the image is the one from the meta-boundary
layer and not the one from my “meta-project” layer. Is there some way to
make my layer take priority or do I need to try to exclude the alsa-state
recipes from the meta-freescale and meta-boundary layers using BBMASK?
Have a look at the paths traversed by Yocto to find your asound.state in
log.do_fetch in the WORKDIR.

You'll have the following:
DEBUG: Searching for asound.state in paths:

The first path to have asound.state in it will be the provider for that
file.

This order is derived from OVERRIDES variable (rightmost to leftmost for
priority order). Basically, rightmost in OVERRIDES is taken, then looked
for in all FILESPATHS paths. Then the second rightmost.

What people usually do is that they use a lower priority OVERRIDES for
subdirectory filename and then the original one or one in a higher
priority OVERRIDES is taken.

Quentin


Issues with alsa-state

Andy Pont <andy.pont@...>
 

Hello!

I am trying to add a custom asound.state file into my Zeus based i.MX6 image.  I have created a custom .bbappend file with the following contents:

FILESEXTRAPATHS_prepend_mx6 := "${THISDIR}/${PN}/imx:”
PACKAGE_ARCH_mx6 = "${MACHINE_ARCH}”

The output from:

    $ bitbake-layers show-appends | grep alsa

is (some names changed to protect the guilty):

    alsa-state.bb:
      /home/.../sources/meta-freescale/recipes-bsp/alsa-state/alsa-state.bbappend
      /home/.../sources/meta-boundary/recipes-bsp/alsa-state/alsa-state.bbappend
      /home/.../sources/meta-project/recipes-bsp/alsa-state/alsa-state.bbappend

The file that is included in the image is the one from the meta-boundary layer and not the one from my “meta-project” layer.  Is there some way to make my layer take priority or do I need to try to exclude the alsa-state recipes from the meta-freescale and meta-boundary layers using BBMASK?

-Andy.



Re: [meta-security][PATCH] meta-security: add layer index callouts

Diego Santa Cruz
 

-----Original Message-----
From: yocto@... <yocto@...> On Behalf
Of Armpit via Lists.Yoctoproject.Org
Sent: 06 December 2019 18:38
To: yocto@...
Cc: yocto@...
Subject: [yocto] [meta-security][PATCH] meta-security: add layer index callouts

Signed-off-by: Armin Kuster <akuster808@...>
---
meta-integrity/conf/layer.conf | 2 ++
meta-security-compliance/conf/layer.conf | 2 ++
meta-tpm/conf/layer.conf | 1 +
3 files changed, 5 insertions(+)

diff --git a/meta-integrity/conf/layer.conf b/meta-integrity/conf/layer.conf
index 962424c..bfc9c6f 100644
--- a/meta-integrity/conf/layer.conf
+++ b/meta-integrity/conf/layer.conf
@@ -24,3 +24,5 @@ OE_TERMINAL_EXPORTS += "INTEGRITY_BASE"
LAYERSERIES_COMPAT_integrity = "zeus"
# ima-evm-utils depends on keyutils from meta-oe
LAYERDEPENDS_integrity = "core openembedded-layer"
+
+BBLAYERS_LAYERINDEX_NAME_integrity = "meta-integrity"
diff --git a/meta-security-compliance/conf/layer.conf b/meta-security-
compliance/conf/layer.conf
index 0e93bd0..e346bf3 100644
--- a/meta-security-compliance/conf/layer.conf
+++ b/meta-security-compliance/conf/layer.conf
@@ -11,3 +11,5 @@ BBFILE_PRIORITY_scanners-layer = "10"
LAYERSERIES_COMPAT_scanners-layer = "zeus"

LAYERDEPENDS_scanners-layer = "core openembedded-layer meta-python"
+
+BBLAYERS_LAYERINDEX_NAME_integrity = "meta-security-compliance"
This looks like a copy & paste typo, shouldn't this be

+BBLAYERS_LAYERINDEX_NAME_scanners-layer = "meta-security-compliance"

diff --git a/meta-tpm/conf/layer.conf b/meta-tpm/conf/layer.conf
index 3af2d95..175eba8 100644
--- a/meta-tpm/conf/layer.conf
+++ b/meta-tpm/conf/layer.conf
@@ -14,3 +14,4 @@ LAYERDEPENDS_tpm-layer = " \
core \
openembedded-layer \
"
+BBLAYERS_LAYERINDEX_NAME_tpm-layer = "meta-tpm"
--
2.17.1
--
Diego Santa Cruz, PhD
Technology Architect
spinetix.com


Dhcp-server rpm dependent on base-passwd rpm

Varun A <vashok890@...>
 

Wanted to know if dhcp-server has an actual dependency with base-passwd rpm or is it an optional dependency. I am using dhcp-server 4.3.2 rpm and when I try rpm -qpR dhcp-server 4.3.2.rpm I see base-passwd in it. Can I remove the dependency using a bbappend file?


[ Error ] python3-psycopg2-native recipe build error #yocto #python

dishant.arora1996@...
 

Recipe --> python3-psycopg2-native --> https://layers.openembedded.org/layerindex/recipe/72275/
Added this recipe using `IMAGE_INSTALL` variable in `sjpl-image.bb` file 

Got following errors while building the image :  

ERROR: Task do_populate_sdk in /home/ubuntu/build-torizon/meta-sjpl/recipes-sjpl/images/sjpl-image.bb rdepends upon non-existent task do_package_write_ipk in /home/ubuntu/layers/openembedded-core/meta-spdxscanner/recipes-devtools/python/python3-psycopg2-native_2.6.1.bb

ERROR: Command execution failed: 1

How can this error be resolved ?


[meta-selinux][PATCH] rename sed_4.2.2.bbappend to sed_4.%.bbappend

hongxu
 

Since upstream oe-core [bd40260cba sed: upgrade to 4.7],
renme bbappend to match the new version

Signed-off-by: Hongxu Jia <hongxu.jia@...>
---
recipes-extended/sed/{sed_4.2.2.bbappend => sed_4.%.bbappend} | 0
1 file changed, 0 insertions(+), 0 deletions(-)
rename recipes-extended/sed/{sed_4.2.2.bbappend => sed_4.%.bbappend} (100%)

diff --git a/recipes-extended/sed/sed_4.2.2.bbappend b/recipes-extended/sed/sed_4.%.bbappend
similarity index 100%
rename from recipes-extended/sed/sed_4.2.2.bbappend
rename to recipes-extended/sed/sed_4.%.bbappend
--
2.21.0


[layerindex-web][PATCH 0/5] Misc bug fixes [cover letter only]

Paul Eggleton
 

Updates some bundled components (jQuery, Chart.js, Bootstrap) and fixes
a couple of bugs in the layer update script and background task display
for admins.


The following changes since commit f84223f4730cd171d25c980b43f07d89950f46=
bd:

README.devel: mention python SMTP server (2019-11-26 10:44:37 +1300)

are available in the Git repository at:

git://git.yoctoproject.org/layerindex-web paule/fixes15
http://git.yoctoproject.org/cgit.cgi/layerindex-web/log/?h=3Dpaule/fixe=
s15

Paul Eggleton (5):
Upgrade Bootstrap to 3.4.1
Upgrade jquery to 3.4.1
Upgrade Chart.js to 2.9.3
update: ensure removed recipe dependencies are removed from db
tasks: squash out CRs in task logs to avoid huge transfers

layerindex/recipeparse.py | 12 +-
layerindex/static/css/bootstrap-theme.css | 200 +-
layerindex/static/css/bootstrap-theme.css.map | 2 +-
layerindex/static/css/bootstrap-theme.min.css | 6 +-
.../static/css/bootstrap-theme.min.css.map | 2 +-
layerindex/static/css/bootstrap.css | 985 +-
layerindex/static/css/bootstrap.css.map | 2 +-
layerindex/static/css/bootstrap.min.css | 6 +-
layerindex/static/css/bootstrap.min.css.map | 2 +-
layerindex/static/js/Chart.js | 25319 +++++++++-------
layerindex/static/js/Chart.min.js | 13 +-
layerindex/static/js/bootstrap.js | 397 +-
layerindex/static/js/bootstrap.min.js | 7 +-
.../js/{jquery-3.3.1.js =3D> jquery-3.4.1.js} | 596 +-
layerindex/update_layer.py | 2 +-
layerindex/views.py | 7 +-
templates/base.html | 2 +-
17 files changed, 14925 insertions(+), 12635 deletions(-)
rename layerindex/static/js/{jquery-3.3.1.js =3D> jquery-3.4.1.js} (94%)

--=20
2.20.1


Unable to build core-image-full-cmdline on openSUSE Leap 15.1: dnf can't find _curses module in do_rootfs task

Rebecca Cran <rebecca@...>
 

I recently switched from Ubuntu 19.10 to openSUSE Leap 15.1, but I'm having problems building core-image-full-cmdline on it. I've installed all the host packages I can think of, including python-curses and python3-curses, with no success.

I'm on the zeus branch, and running "bitbake core-image-full-cmdline" results in the following error when running the do_rootfs task:

ERROR: core-image-full-cmdline-1.0-r0 do_rootfs: Could not invoke dnf. Command '/home/bcran/src/fsl-community-bsp/build-imx6slevk/tmp/work/imx6slevk-fslc-linux-gnueabi/core-image-full-cmdline/1.0-r0/recipe-sysroot-native/usr/bin/dnf -v --rpmverbosity=info -y -c /home/bcran/src/fsl-community-bsp/build-imx6slevk/tmp/work/imx6slevk-fslc-linux-gnueabi/core-image-full-cmdline/1.0-r0/rootfs/etc/dnf/dnf.conf --setopt=reposdir=/home/bcran/src/fsl-community-bsp/build-imx6slevk/tmp/work/imx6slevk-fslc-linux-gnueabi/core-image-full-cmdline/1.0-r0/rootfs/etc/yum.repos.d --installroot=/home/bcran/src/fsl-community-bsp/build-imx6slevk/tmp/work/imx6slevk-fslc-linux-gnueabi/core-image-full-cmdline/1.0-r0/rootfs --setopt=logdir=/home/bcran/src/fsl-community-bsp/build-imx6slevk/tmp/work/imx6slevk-fslc-linux-gnueabi/core-image-full-cmdline/1.0-r0/temp --repofrompath=oe-repo,/home/bcran/src/fsl-community-bsp/build-imx6slevk/tmp/work/imx6slevk-fslc-linux-gnueabi/core-image-full-cmdline/1.0-r0/oe-rootfs-repo makecache --refresh' returned 1:
Traceback (most recent call last):
  File "/home/bcran/src/fsl-community-bsp/build-imx6slevk/tmp/work/imx6slevk-fslc-linux-gnueabi/core-image-full-cmdline/1.0-r0/recipe-sysroot-native/usr/bin/dnf.real", line 57, in <module>
    from dnf.cli import main
  File "/home/bcran/src/fsl-community-bsp/build-imx6slevk/tmp/work/imx6slevk-fslc-linux-gnueabi/core-image-full-cmdline/1.0-r0/recipe-sysroot-native/usr/lib/python3.7/site-packages/dnf/cli/__init__.py", line 30, in <module>
    from dnf.cli.cli import Cli  # :api
  File "/home/bcran/src/fsl-community-bsp/build-imx6slevk/tmp/work/imx6slevk-fslc-linux-gnueabi/core-image-full-cmdline/1.0-r0/recipe-sysroot-native/usr/lib/python3.7/site-packages/dnf/cli/cli.py", line 44, in <module>
    from . import output
  File "/home/bcran/src/fsl-community-bsp/build-imx6slevk/tmp/work/imx6slevk-fslc-linux-gnueabi/core-image-full-cmdline/1.0-r0/recipe-sysroot-native/usr/lib/python3.7/site-packages/dnf/cli/output.py", line 34, in <module>
    import dnf.cli.progress
  File "/home/bcran/src/fsl-community-bsp/build-imx6slevk/tmp/work/imx6slevk-fslc-linux-gnueabi/core-image-full-cmdline/1.0-r0/recipe-sysroot-native/usr/lib/python3.7/site-packages/dnf/cli/progress.py", line 19, in <module>
    from dnf.cli.term import _term_width
  File "/home/bcran/src/fsl-community-bsp/build-imx6slevk/tmp/work/imx6slevk-fslc-linux-gnueabi/core-image-full-cmdline/1.0-r0/recipe-sysroot-native/usr/lib/python3.7/site-packages/dnf/cli/term.py", line 21, in <module>
    import curses
  File "/home/bcran/src/fsl-community-bsp/build-imx6slevk/tmp/work/imx6slevk-fslc-linux-gnueabi/core-image-full-cmdline/1.0-r0/recipe-sysroot-native/usr/lib/python3.7/curses/__init__.py", line 13, in <module>
    from _curses import *
ModuleNotFoundError: No module named '_curses'

ERROR: Logfile of failure stored in: /home/bcran/src/fsl-community-bsp/build-imx6slevk/tmp/work/imx6slevk-fslc-linux-gnueabi/core-image-full-cmdline/1.0-r0/temp/log.do_rootfs.40254
ERROR: Task (/home/bcran/src/fsl-community-bsp/sources/poky/meta/recipes-extended/images/core-image-full-cmdline.bb:do_rootfs) failed with exit code '1'

--
Rebecca Cran


Re: [meta-security][PATCH 0/2] tpm2-abrmd: startup fixes

Armin Kuster
 

merged.
thanks,
Armin

On 12/6/19 2:13 AM, Diego Santa Cruz via Lists.Yoctoproject.Org wrote:

This ports patches from the meta-measured layer that fix tpm2-abrmd
not starting up.
The first patch is necessary on kernels 4.12 and later.
The second patch is necessary after the update to 2.3.0.

Philip Tricca (1):
  tpm2-abrmd: Port command line options to new version.

Trevor Woerner (1):
  tpm2-abrmd-init.sh: fix for /dev/tpmrmX

 meta-tpm/recipes-tpm2/tpm2-abrmd/files/tpm2-abrmd-init.sh | 2 +-
 meta-tpm/recipes-tpm2/tpm2-abrmd/files/tpm2-abrmd.default | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#47581): https://lists.yoctoproject.org/g/yocto/message/47581
Mute This Topic: https://lists.yoctoproject.org/mt/67467010/1024635
Group Owner: yocto+owner@...
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub  [akuster@...]
-=-=-=-=-=-=-=-=-=-=-=-


Re: What should I expect when using SSTATE_MIRROR?

Mans Zigher <mans.zigher@...>
 

Hi, 

I am also using docker when building but good point I will make sure that we are using the same version of the docker image.

Thanks

On Fri, Dec 6, 2019, 17:06 <Mikko.Rapeli@...> wrote:
Hi,

On Fri, Dec 06, 2019 at 02:07:47PM +0100, Mans Zigher wrote:
> Hi,
>
> I am trying to use the sstate cache by using a SSTATE_MIRROR. I have
> built everything from scratch once and pushed my sstate-cache
> directory to the server. I then wen't over to another machine and did
> a clean build but this time I made sure it used SSTATE_MIRROR but the
> result was not what I expected
>
> Sstate summary: Wanted 1255 Found 233 Missed 2044 Current 0 (18%
> match, 0% complete)
>
> I have tried it multiple times on different machines with the same
> result the only time it works as expect is when running the build on
> the first machine from which the sstate cache was originally coming
> from. Am I missing something? Or is this expected?

Maybe host tool versions differ which trigger recompilation of things
like gcc and thus everything gets recompiled. You can use bitbake-diffsigs
to figure out why rebuild was triggered.

I work around this by using a build container based on LXC and Debian stable
everywhere, in CI and on developer machines with various Linux distros.

Hope this helps,

-Mikko


[meta-mingw][PATCH] wayland: Disable DTD validation on i686 MinGW

Joshua Watt
 

DTD validation can't be built for i686 MinGW because the assembly file
used to encode the DTD string is incompatible (it works fine for x86_64
MinGW though).

Signed-off-by: Joshua Watt <JPEWhacker@...>
---
recipes-graphics/wayland/wayland_%.bbappend | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/recipes-graphics/wayland/wayland_%.bbappend b/recipes-graphics/wayland/wayland_%.bbappend
index 3713f2d..bbb1c52 100644
--- a/recipes-graphics/wayland/wayland_%.bbappend
+++ b/recipes-graphics/wayland/wayland_%.bbappend
@@ -1,2 +1,6 @@
+# The assembly file that encodes the DTD string into wayland-scanner is not
+# compatible with i686 MinGW
+PACKAGECONFIG_remove_mingw32_i686 = "dtd-validation"
+
EXTRA_OECONF_class-nativesdk_mingw32 = "--disable-documentation --disable-libraries"

--
2.23.0


[meta-security][PATCH] meta-security: add layer index callouts

Armin Kuster
 

Signed-off-by: Armin Kuster <akuster808@...>
---
meta-integrity/conf/layer.conf | 2 ++
meta-security-compliance/conf/layer.conf | 2 ++
meta-tpm/conf/layer.conf | 1 +
3 files changed, 5 insertions(+)

diff --git a/meta-integrity/conf/layer.conf b/meta-integrity/conf/layer.conf
index 962424c..bfc9c6f 100644
--- a/meta-integrity/conf/layer.conf
+++ b/meta-integrity/conf/layer.conf
@@ -24,3 +24,5 @@ OE_TERMINAL_EXPORTS += "INTEGRITY_BASE"
LAYERSERIES_COMPAT_integrity = "zeus"
# ima-evm-utils depends on keyutils from meta-oe
LAYERDEPENDS_integrity = "core openembedded-layer"
+
+BBLAYERS_LAYERINDEX_NAME_integrity = "meta-integrity"
diff --git a/meta-security-compliance/conf/layer.conf b/meta-security-compliance/conf/layer.conf
index 0e93bd0..e346bf3 100644
--- a/meta-security-compliance/conf/layer.conf
+++ b/meta-security-compliance/conf/layer.conf
@@ -11,3 +11,5 @@ BBFILE_PRIORITY_scanners-layer = "10"
LAYERSERIES_COMPAT_scanners-layer = "zeus"

LAYERDEPENDS_scanners-layer = "core openembedded-layer meta-python"
+
+BBLAYERS_LAYERINDEX_NAME_integrity = "meta-security-compliance"
diff --git a/meta-tpm/conf/layer.conf b/meta-tpm/conf/layer.conf
index 3af2d95..175eba8 100644
--- a/meta-tpm/conf/layer.conf
+++ b/meta-tpm/conf/layer.conf
@@ -14,3 +14,4 @@ LAYERDEPENDS_tpm-layer = " \
core \
openembedded-layer \
"
+BBLAYERS_LAYERINDEX_NAME_tpm-layer = "meta-tpm"
--
2.17.1


sdk rpi3 & rpi4 different sysroot

Ed Vidal
 

Hi,
Any and all help is appreciated. Thanks in advance.
Question 1
I tried using the sdk to build icestorm (a makefile project).  The sysroot for rpi3 sdk & rpi4 sdk are
missing a ftdi.h header.  The target rpi4 builds icestorm okay.  see steps below.

Question 2
What is the procedure to update the meta-raspberrypi repo?
An issue with core-image-sato for rpi3 required adding
vidal@ws009:~/wkg/yocto-zeus-3.0/raspberrypi4/poky/meta-raspberrypi$ git diff
diff --git a/conf/machine/raspberrypi3.conf b/conf/machine/raspberrypi3.conf
index 581e47c..43a0a25 100644
--- a/conf/machine/raspberrypi3.conf
+++ b/conf/machine/raspberrypi3.conf
@@ -18,3 +18,4 @@ UBOOT_MACHINE = "rpi_3_32b_config"
SERIAL_CONSOLES ?= "115200;ttyS0"
 
ARMSTUB ?= "armstub7.bin"
+ENABLE_UART = "1"
For rpi4 build I made the same in raspberrypi4.conf 
diff --git a/conf/machine/raspberrypi4.conf b/conf/machine/raspberrypi4.conf
index 1bcf931..0b91515 100644
--- a/conf/machine/raspberrypi4.conf
+++ b/conf/machine/raspberrypi4.conf
@@ -18,3 +18,4 @@ SERIAL_CONSOLES ?= "115200;ttyS0"
 
VC4DTBO ?= "vc4-fkms-v3d"
ARMSTUB ?= "armstub7.bin"
+ENABLE_UART = "1"
Question 3
Why is the header file ftdi.h missing in rpi4 sdk and not used in rpi3 sdk? 

vidal@ws009:~/wkg/test-yocto-sdk$ git clone https://github.com/develone/icestorm.git

vidal@ws009:~/wkg/test-yocto-sdk$ . /opt/poky/3.0.1/rpi4/environment-setup-cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi

vidal@ws009:~/wkg/test-yocto-sdk$ cd icestorm/

vidal@ws009:~/wkg/test-yocto-sdk$ echo ${CC}
arm-poky-linux-gnueabi-gcc -mthumb -mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a7 --sysroot=/opt/poky/3.0.1/rpi4/sysroots/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi

vidal@ws009:~/wkg/test-yocto-sdk/icestorm$ time make -e

The following error:
make[1]: Entering directory '/home/vidal/wkg/test-yocto-sdk/icestorm/iceprog'
arm-poky-linux-gnueabi-gcc  -mthumb -mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a7 --sysroot=/opt/poky/3.0.1/rpi4/sysroots/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi  -O2 -pipe -g -feliminate-unused-debug-types    -c -o iceprog.o iceprog.c
iceprog.c:27:10: fatal error: ftdi.h: No such file or directory
   27 | #include <ftdi.h>
      |          ^~~~~~~~
compilation terminated.

Tried to locate ftdi.h using the command below none was found in my rpi4 sdk sysroot.

vidal@ws009:~/wkg/test-yocto-sdk/icestorm$ find /opt/poky/3.0.1/rpi4/sysroots/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/ -name ftdi.h

A ftdi.h file was found in my rpi3 sdk sysroot.
vidal@ws009:~/wkg/test-yocto-sdk/icestorm$ find /opt/poky/3.0.1/sysroots/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/ -name ftdi.h
/opt/poky/3.0.1/sysroots/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/usr/include/libftdi1/ftdi.h

The only difference between the raspberrypi3 & raspberrypi4 builds are below.
vidal@ws009:~/wkg/yocto-zeus-3.0/raspberrypi4/build$ diff ../../build/conf/local.conf conf/local.conf 
39c39
< MACHINE ??= "raspberrypi3"
---
> MACHINE ??= "raspberrypi4"
66a67
> DL_DIR ?= "/home/vidal//wkg/yocto-zeus-3.0/build/downloads"
Testing rpi3 sdk

vidal@ws009:~/wkg/test-yocto-sdk/icestorm$ . /opt/poky/3.0.1/environment-setup-cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi

vidal@ws009:~/wkg/test-yocto-sdk/icestorm$ echo ${CC}
arm-poky-linux-gnueabi-gcc -mthumb -mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a7 --sysroot=/opt/poky/3.0.1/sysroots/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi

vidal@ws009:~/wkg/test-yocto-sdk/icestorm$ make -e

The rpi3 sdk gets the same error as the rpi4 sdk (see above). 
target rpi4
real 23m38.686s
user 23m16.332s
sys 0m9.949s

AMD 6 core sdk
real 3m33.809s
user 3m33.304s
sys 0m0.556s


Let me know if I can provide additional information,
Regards
Edward Vidal Jr. e-mail develone@... 915-595-1613


OpenEmbedded Workshop at FOSDEM20 tickets

Jon Mason
 

We are happy to inform everyone that tickets to the inaugural
OpenEmbedded Workshop are now on sale. Early bird tickets are
available for 1/3rd off regular price. Also, we are offering a
"Supporter Ticket". This is for those who are able to contribute more
to help support OpenEmbedded, and/or would like to see more events
similar to this in the future.
Both of these can be purchased at
https://pretix.eu/OpenEmbedded/oe-workshop-2020/

Get your tickets now, as we expect these to sellout quickly. Also,
early bird pricing ends on December 31st.

Finally, there are still a few slots open for Speakers. If you have a
talk you would like to give, go to
https://pretalx.com/oe-workshop-2020/cfp
CFP deadline is December 15th.

More information on the OpenEmbedded Workshop can be found at
https://pretalx.com/oe-workshop-2020/

Thank you,
The OpenEmbedded Board


Re: What should I expect when using SSTATE_MIRROR?

Mikko Rapeli <mikko.rapeli@...>
 

Hi,

On Fri, Dec 06, 2019 at 02:07:47PM +0100, Mans Zigher wrote:
Hi,

I am trying to use the sstate cache by using a SSTATE_MIRROR. I have
built everything from scratch once and pushed my sstate-cache
directory to the server. I then wen't over to another machine and did
a clean build but this time I made sure it used SSTATE_MIRROR but the
result was not what I expected

Sstate summary: Wanted 1255 Found 233 Missed 2044 Current 0 (18%
match, 0% complete)

I have tried it multiple times on different machines with the same
result the only time it works as expect is when running the build on
the first machine from which the sstate cache was originally coming
from. Am I missing something? Or is this expected?
Maybe host tool versions differ which trigger recompilation of things
like gcc and thus everything gets recompiled. You can use bitbake-diffsigs
to figure out why rebuild was triggered.

I work around this by using a build container based on LXC and Debian stable
everywhere, in CI and on developer machines with various Linux distros.

Hope this helps,

-Mikko


What should I expect when using SSTATE_MIRROR?

Mans Zigher <mans.zigher@...>
 

Hi,

I am trying to use the sstate cache by using a SSTATE_MIRROR. I have
built everything from scratch once and pushed my sstate-cache
directory to the server. I then wen't over to another machine and did
a clean build but this time I made sure it used SSTATE_MIRROR but the
result was not what I expected

Sstate summary: Wanted 1255 Found 233 Missed 2044 Current 0 (18%
match, 0% complete)

I have tried it multiple times on different machines with the same
result the only time it works as expect is when running the build on
the first machine from which the sstate cache was originally coming
from. Am I missing something? Or is this expected?

Thanks

/Måns Zigher


How to integrate Python monorepo application? #yocto #python #monorepo

Georgii Staroselskii
 

A little context before the actual questions. As a project that I have worked on grew, the number of repositories used for the application we're developing grew as well. To the point that it's gotten unbearable to keep making modifications to the codebase: when something is changed in the core library in one repository we need to make adjustments to other Python middleware projects that use this library. Whereas this sounds not that terrifying, managing this in Yocto has become a burden: on every version bump of the Python library we need to bump all of the dependant projects as well. After some thinking, we decided to try a monorepo approach to deal with the complexity. I'm omitting the logic behind choosing this approach but I can delve into it if you think this is wrong.

1) Phase 1 was easy. Just bring every component of our middleware to one repository. Right now we have a big repository with more than git 20 submodules. Submodules will be gone once we finish the transition but as the project doesn't stop while we're doing the transition, submodules were chosen to track the changes and keep the monorepo up to date. Every submodule is a Python code with a setup.py/Pipfile et al. that does the bootstrapping.

2) Phase 2 is to integrate everything in Yocto. It has turned out to be more difficult than I had anticipated.

Right now we have this:

Application monorepo

Pipfile
python-library1/setup.py
python-library1/Makefile
python-library1/python-library1/<code>


python-library2/setup.py
python-library2/Makefile
python-library2/python-library2/<code>


...
python-libraryN/setup.py
python-libraryN/Makefile
python-libraryN/python-libraryN/<code>

Naturally, right now we have python-library1_<some_version>.bbpython-library2_<some_other_version>.bb in Yocto. Now we want to get rid of this version hell and stick to monorepo versions so that we could have just monorepo_1.0.bb that is to be updated when anything changes in any part.

Right now I have the layout described below.

monorepo.inc is as follows:

SRC_URI=<gitsm://the location of the monorepo,branch=...,>
S = "${WORKDIR}/git"
SRCREV = <hash>

python-libraryN.inc:

require monorepo.inc
S
= "${WORKDIR}/git/python-libraryN" inherit setuptools

#some libraries also use entry points and the recipe needs to inherit systemd to enable some services.

This approach works. But it has a very significant drawback I can't ignore. Every time SRCREV (or PV/tag in the future) is changed every recipe downloads the whole repository that is quite big.

So, well, the question is how to structure the Yocto recipes for Python monorepo manipulation? I'm looking for a way to trick do_unpack and do_fetch to their thing on the monorepo basis.

This section of the documentation makes me think that I'm approaching this task wrong. I was trying to decipher gcc-source.inc and gcc-shared-source.inc files in the poky but they are out of my depth for now and look a little bit overcomplicated for my use-case. So basically my question boils down to how to deal with multiple recipes referencing the same source. Any structural change to either the monorepo or the recipe structure can be done now, so I would be very grateful for any feedback.

P.S. 1) The monorepo structure is not set in stone so if you have any suggestions, I'm more than open to any criticism 2) The .inc file structure might not be suitable for another reason. This stack is deployed across a dozen of different devices and some of those python-library_N.bb have .bbappends in other layers that are custom for the devices. I mean that some of them might require different components of the system installed or some configs and files/ modifications.

Any suggestion on how to deal with the complexity of a big Python application in Yocto will be welcome. Thanks in advance.