Date   

[meta-mingw][PATCH] gcc/binutils: Allow plugins to be enabled on cross-canadian toolchain

Mark Hatle
 

As of GCC 8, plugin support is available with mingw. If the plugins are
enabled in the regular binutils/gcc configurations, carry over that
configuration with the mingw versions as well.

When plugins are enabled, they produce a file called [plugin].dll.a. This
causes the debugsrc processor to find the file and attempt to pull out dwarf
information. However, we need to prevent this as the files are not ELF, but
in Microsoft PE format, and trigger an error if processed.

Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
---
.../binutils/binutils-cross-canadian_2.%.bbappend | 2 +-
recipes-devtools/gcc/gcc-cross-canadian_%.bbappend | 7 ++++++-
2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/recipes-devtools/binutils/binutils-cross-canadian_2.%.bbappend b/recipes-devtools/binutils/binutils-cross-canadian_2.%.bbappend
index 026c932..5845fe0 100644
--- a/recipes-devtools/binutils/binutils-cross-canadian_2.%.bbappend
+++ b/recipes-devtools/binutils/binutils-cross-canadian_2.%.bbappend
@@ -1,4 +1,4 @@
-EXTRA_OECONF_append_sdkmingw32 = " --disable-plugins --disable-nls"
+EXTRA_OECONF_append_sdkmingw32 = " --disable-nls"
LDFLAGS_append_sdkmingw32 = " -Wl,-static"

DEPENDS_remove_sdkmingw32 = "nativesdk-gettext"
diff --git a/recipes-devtools/gcc/gcc-cross-canadian_%.bbappend b/recipes-devtools/gcc/gcc-cross-canadian_%.bbappend
index 888d610..9c0d828 100644
--- a/recipes-devtools/gcc/gcc-cross-canadian_%.bbappend
+++ b/recipes-devtools/gcc/gcc-cross-canadian_%.bbappend
@@ -1,6 +1,11 @@
INSANE_SKIP_${PN}_append_sdkmingw32 = " staticdev"
-EXTRA_OECONF_append_sdkmingw32 = " --disable-nls --disable-lto"
+EXTRA_OECONF_append_sdkmingw32 = " --disable-nls"
LDFLAGS_append_sdkmingw32 = " -Wl,-static"
EXEEXT_sdkmingw32 = ".exe"
ELFUTILS_sdkmingw32 = ""
DEPENDS_remove_sdkmingw32 = "nativesdk-gettext"
+
+# With plugins enabled, it will output 'dll.a' files that are mistaken
+# for ELF which can trigger a failure. Simply avoid processing these
+# to avoid the error condition.
+INHIBIT_PACKAGE_DEBUG_SPLIT = '1'
--
2.17.1


Re: package QA & missing runtime dependency alerting (thud)

Peter Morrow
 

On Wed, 2020-02-19 at 14:59 +0100, Maciej Pijanowski via
Lists.Yoctoproject.Org wrote:


On 19.02.2020 13:50, Peter Morrow via Lists.Yoctoproject.Org wrote:

Hello,

We occasionally see our build fail due to package QA issues,
specifically:

ERROR: gawk-4.2.1-r0 do_package_qa: QA Issue:
/usr/lib/gawk/ptest/test/fcall_exit.awk contained in package gawk-
ptest
requires /bin/awk, but no providers found in RDEPENDS_gawk-ptest?
[file-rdeps],

I'm wondering how yocto has made the decision that "/bin/awk" is a
runtime dependency for gawk-ptest (it is, so this is good). Does
yocto read /usr/lib/gawk/ptest/test/fcall_exit.awk looking for
anything
that matches on a shbang then alert us to this as a missing
RDEPENDS?
Yes, it does look at the sheabangs of the scripts. Please refer to
the manual
and the insane.bbclass imeplementation
https://www.yoctoproject.org/docs/latest/mega-manual/mega-manual.html#ref-classes-insane
Thanks Maciej,

I'm wondering also about the specific failure I'm seeing here, i.e.
gawk-ptest RDEPENDS on /bin/awk. Looking at the recipe for gawk in
thud I see:

inherit autotools gettext texinfo update-alternatives

FILES_${PN} += "${datadir}/awk"
FILES_${PN}-dev += "${libdir}/${BPN}/*.la"

ALTERNATIVE_${PN} = "awk"
ALTERNATIVE_TARGET[awk] = "${bindir}/gawk"
ALTERNATIVE_PRIORITY = "100"

do_install_append() {
# remove the link since we don't package it
rm ${D}${bindir}/awk
}

So awk is an alternative for gawk. In the version of yocto I'm using
(thud) the ptest.bbclass does not add a dependency on the package that
is being tested (this appears fixed in more recent versions of yocto).
Thus I added the dependency on gawk from gawk-ptest in a bbappend file
for gawk (to fix other package QA issues):

RDEPENDS_${PN}-ptest += " gawk"

So the question then becomes are alternatives also honoured in the
file-rdeps check of the insane bbclass? I.e. if a file-rdeps check
finds /bin/awk in a file, since "awk" is not explicitly in the RDEPENDS
list (but gawk is) is this flagged as a false positive?

I'd prefer not to add INSANE_SKIP_${PN} = "file-rdeps" for gawk if
possible.

Thanks,
Peter.

I think this is what is happening but cannot see this in the
documentation error. Something to back this hunch up:

http://lists.openembedded.org/pipermail/openembedded-core/2016-November/128419.html


I'm about to send patches upstream to gawk to remove some more
shbangs
from awk scripts and thus would like to check the yocto behaviour
before I do so.

Thanks,
Peter.




--
Maciej Pijanowski
Embedded Systems Engineer
GPG: 9963C36AAC3B2B46
https://3mdeb.com
| @3mdeb_com


Re: package QA & missing runtime dependency alerting (thud)

Maciej Pijanowski
 


On 19.02.2020 13:50, Peter Morrow via Lists.Yoctoproject.Org wrote:
Hello,

We occasionally see our build fail due to package QA issues,
specifically:

ERROR: gawk-4.2.1-r0 do_package_qa: QA Issue:
/usr/lib/gawk/ptest/test/fcall_exit.awk contained in package gawk-ptest 
requires /bin/awk, but no providers found in RDEPENDS_gawk-ptest?
[file-rdeps], 

I'm wondering how yocto has made the decision that "/bin/awk" is a
runtime dependency for gawk-ptest (it is, so this is good).  Does
yocto read /usr/lib/gawk/ptest/test/fcall_exit.awk looking for anything
that matches on a shbang then alert us to this as a missing RDEPENDS?
Yes, it does look at the sheabangs of the scripts. Please refer to the manual
and the insane.bbclass imeplementation
https://www.yoctoproject.org/docs/latest/mega-manual/mega-manual.html#ref-classes-insane

I think this is what is happening but cannot see this in the
documentation error.  Something to back this hunch up:

http://lists.openembedded.org/pipermail/openembedded-core/2016-November/128419.html

I'm about to send patches upstream to gawk to remove some more shbangs
from awk scripts and thus would like to check the yocto behaviour
before I do so.

Thanks,
Peter.





    
-- 
Maciej Pijanowski
Embedded Systems Engineer
GPG: 9963C36AAC3B2B46
https://3mdeb.com | @3mdeb_com


package QA & missing runtime dependency alerting (thud)

Peter Morrow
 

Hello,

We occasionally see our build fail due to package QA issues,
specifically:

ERROR: gawk-4.2.1-r0 do_package_qa: QA Issue:
/usr/lib/gawk/ptest/test/fcall_exit.awk contained in package gawk-ptest
requires /bin/awk, but no providers found in RDEPENDS_gawk-ptest?
[file-rdeps],

I'm wondering how yocto has made the decision that "/bin/awk" is a
runtime dependency for gawk-ptest (it is, so this is good). Does
yocto read /usr/lib/gawk/ptest/test/fcall_exit.awk looking for anything
that matches on a shbang then alert us to this as a missing RDEPENDS?

I think this is what is happening but cannot see this in the
documentation error. Something to back this hunch up:

http://lists.openembedded.org/pipermail/openembedded-core/2016-November/128419.html

I'm about to send patches upstream to gawk to remove some more shbangs
from awk scripts and thus would like to check the yocto behaviour
before I do so.

Thanks,
Peter.


how to reuse generated library in a nativesdk recipe #sdk #systemd

Armando Hernandez
 

Hello,
 
I have a recipe that builds a library. The recipe specifies an additional package "${PN}-systemd" along with other systemd related variables and finally it instructs that the package should be built with "-DWITH_SYSTEMD=ON" being passed to cmake. So far so good. But, I extended this recipe to nativesdk because I need this library on it. When trying to build the corresponding nativesdk package, the build fails at the configuration step (i.e. "do_configure") claiming it cannot find the package systemd.
 
Is there a way I can install the -already-generated libraries into my SDK (potentially via the corresponding nativesdk recipe) without having to rebuild the package? Or do I need to somehow include such systemd package in my sdk (which I don't think I need at all)?
 
Any hints and pointers as to were to look at are very well appreciated.
Thanks.

Armando Hernandez


Re: Incrementally building constantly changing application source in a workflow-friendly way with #yocto

Pieter Smith
 

Hi Alexander,

Based on your and Oliver Westermann's help, I came up with something that works for our project requirements:

My application bitbake file looks like this:

    EXTERNALSRC = "${@os.path.abspath(os.path.join(os.path.dirname(d.getVar('FILE')), '..', '..', 'src'))}"
    inherit externalsrc
 
    S = "${EXTERNALSRC}"
    inherit cmake

externalsrc.bb expects EXTERNALSRC to contain an absolute path. We have a relocatable workspace based on a git tree with submodules, so I calculate the absolute path of the source based on the bb file location. Our src directory is a cmake project, so I only have to convince cmake to use the EXTERNALSRC location for an out-of-tree build in WORKDIR by setting S.

The workflow for our project developers then becomes:

    bitbake -c cleansstate <application-name> && bitbake ...

I can hide this in a wrapper Makefile.

Am I missing anything?

Regards,
Pieter Smith


[meta-selinux][PATCH] audit: add clock_settime64 syscall

Yu, Mingli
 

From: Mingli Yu <mingli.yu@windriver.com>

On 32bit system,
After upgrade glibc to 2.31
# strace -o /tmp/test.log date -s 09:16:45
# tail -f /tmp/test.log
close(3) = 0
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=114, ...}) = 0
clock_settime64(CLOCK_REALTIME, {tv_sec=1582103805, tv_nsec=0}) = 0
fstat64(1, {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x40), ...}) = 0
ioctl(1, TCGETS, {B115200 opost isig icanon echo ...}) = 0
write(1, "Wed Feb 19 09:16:45 UTC 2020\n", 29) = 29
close(1) = 0
close(2) = 0
exit_group(0) = ?
+++ exited with 0 +++

It means the clock_settime64 syscall is used, so
add the syscall.

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
---
.../0001-lib-i386_table.h-add-new-syscall.patch | 42 ++++++++++++++++++++++
recipes-security/audit/audit_2.8.5.bb | 1 +
2 files changed, 43 insertions(+)
create mode 100644 recipes-security/audit/audit/0001-lib-i386_table.h-add-new-syscall.patch

diff --git a/recipes-security/audit/audit/0001-lib-i386_table.h-add-new-syscall.patch b/recipes-security/audit/audit/0001-lib-i386_table.h-add-new-syscall.patch
new file mode 100644
index 0000000..6e1827c
--- /dev/null
+++ b/recipes-security/audit/audit/0001-lib-i386_table.h-add-new-syscall.patch
@@ -0,0 +1,42 @@
+From df878b92e01f4d1c3de7f7d8229cea6a431509eb Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Wed, 19 Feb 2020 15:23:40 +0800
+Subject: [PATCH] lib/i386_table.h: add new syscall
+
+On 32bit system,
+After upgrade glibc to 2.31
+ # strace -o /tmp/test.log date -s 09:16:45
+ # tail -f /tmp/test.log
+ close(3) = 0
+ stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=114, ...}) = 0
+ clock_settime64(CLOCK_REALTIME, {tv_sec=1582103805, tv_nsec=0}) = 0
+ fstat64(1, {st_mode=S_IFCHR|0600, st_rdev=makedev(0x4, 0x40), ...}) = 0
+ ioctl(1, TCGETS, {B115200 opost isig icanon echo ...}) = 0
+ write(1, "Wed Feb 19 09:16:45 UTC 2020\n", 29) = 29
+ close(1) = 0
+ close(2) = 0
+ exit_group(0) = ?
+ +++ exited with 0 +++
+
+It means the clock_settime64 syscall is used, so
+add the syscall.
+
+Upstream-Status: Submitted [https://github.com/linux-audit/audit-userspace/pull/116]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ lib/i386_table.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/lib/i386_table.h b/lib/i386_table.h
+index 1a64c88..65fd4d9 100644
+--- a/lib/i386_table.h
++++ b/lib/i386_table.h
+@@ -405,3 +405,4 @@ _S(383, "statx")
+ _S(384, "arch_prctl")
+ _S(385, "io_pgetevents")
+ _S(386, "rseq")
++_S(404, "clock_settime64")
+--
+2.7.4
+
diff --git a/recipes-security/audit/audit_2.8.5.bb b/recipes-security/audit/audit_2.8.5.bb
index ee3b3b5..af36ed5 100644
--- a/recipes-security/audit/audit_2.8.5.bb
+++ b/recipes-security/audit/audit_2.8.5.bb
@@ -10,6 +10,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
SRC_URI = "git://github.com/linux-audit/${BPN}-userspace.git;branch=2.8_maintenance \
file://Add-substitue-functions-for-strndupa-rawmemchr.patch \
file://Fixed-swig-host-contamination-issue.patch \
+ file://0001-lib-i386_table.h-add-new-syscall.patch \
file://auditd \
file://auditd.service \
file://audit-volatile.conf \
--
2.7.4


Re: Issue while adding the support for TLS1.3 in existing krogoth yocto #yocto #apt #raspberrypi

amaya jindal
 

Any kind of patch if available to directly apply? I am getting error in gobject-introspection native that sha1 sha256 etc not found in usr/lib/python2 7/hashlib.py

Sent from my Huawei phone


-------- Original message --------
From: Mikko.Rapeli@...
Date: Tue, 18 Feb 2020, 2:36 pm
To: amayajindal786@...
Cc: alex.kanavin@..., yocto@...
Subject: Re: [yocto] Issue while adding the support for TLS1.3 in existing krogoth yocto #yocto #yocto #yocto #yocto #apt #raspberrypi #yocto
Hi,

On Tue, Feb 18, 2020 at 01:20:25PM +0530, amaya jindal wrote:
>    Thanks for your prompt reply. But is not there any way similar to add
>    support for TLS1.3 instead of moving to new yocto releases

openssl is tricky to update and requires backporting fixes for many, many recipes
to get builds passing etc. Depending on project size, it may be possible
to update only those components which you use, e.g. backport commits from
poky master or release branches like warrior. The number of backported changes
will be large. I've ported openssl 1.1.1d patches to yocto 2.5 sumo but it wasn't
pretty. A strategy with regular yocto updates is much better and forces you
to think of your dependencies and patches much harder.

Hope this helps,

-Mikko


QA Cycle report for build (yocto-3.0.2.rc2)

Sangeeta Jain
 

Hi All,

This is the full report for yocto-3.0.2.rc2:
https://git.yoctoproject.org/cgit/cgit.cgi/yocto-testresults-contrib/tree/?h=intel-yocto-testresults

======= Summary ========
No high milestone defects.
one new defects are found in this cycle - oeqa/runtime test 'test_dnf_exclude' failed (Bugid:13797)
openssh ptest failed (BUG id:13796)
bash ptest failed (BUG id:13795)

======= Bugs ========
https://bugzilla.yoctoproject.org/show_bug.cgi?id=13797
https://bugzilla.yoctoproject.org/show_bug.cgi?id=13796
https://bugzilla.yoctoproject.org/show_bug.cgi?id=13795

Thanks,
Sangeeta

-----Original Message-----
From: yocto@lists.yoctoproject.org <yocto@lists.yoctoproject.org> On Behalf
Of pokybuild@centos7-ty-3.yocto.io
Sent: Wednesday, 12 February, 2020 3:56 PM
To: yocto@lists.yoctoproject.org
Cc: otavio@ossystems.com.br; yi.zhao@windriver.com; Sangal, Apoorv
<apoorv.sangal@intel.com>; Yeoh, Ee Peng <ee.peng.yeoh@intel.com>; Chan,
Aaron Chun Yew <aaron.chun.yew.chan@intel.com>;
richard.purdie@linuxfoundation.org; akuster808@gmail.com;
sjolley.yp.pm@gmail.com; Jain, Sangeeta <sangeeta.jain@intel.com>
Subject: [yocto] QA notification for completed autobuilder build (yocto-
3.0.2.rc2)


A build flagged for QA (yocto-3.0.2.rc2) was completed on the autobuilder and is
available at:


https://autobuilder.yocto.io/pub/releases/yocto-3.0.2.rc2


Build hash information:

bitbake: 95687be83e716220eb3893b67428f97fd59fc2c5
meta-gplv2: 0f4eecc000f66d114ad258fa31aed66afa292166
meta-intel: b04e1edb9300a57e200a187a3255f67b50519202
meta-mingw: 756963cc28ebc163df7d7f4b4ee004c18d3d3260
oecore: 799b3cd1016bd765f4452a5e81ea5613c9089bce
poky: fe857e4179355bcfb79303c16baf3ad87fca59a4



This is an automated message from the Yocto Project Autobuilder
Git: git://git.yoctoproject.org/yocto-autobuilder2
Email: richard.purdie@linuxfoundation.org



This Week - New Sessions - Live Coding with Yocto Project

Volosincu, Andreea S
 

👇The Yocto Project live coding sessions continue.

When: Wed, Feb 19th, 5:00 PM Europe/Berlin time

Where: Yocto Project Twitch channel – twitch.tv/yocto_project

What: Josef will show you how to get started with C/C++ application development

 

 


[meta-security][PATCH] clamav: add bison-native to depend

Armin Kuster
 

fixes build issue:
clamav/0.101.5-r0/git/config/ylwrap: line 176: yacc: command not found

Signed-off-by: Armin Kuster <akuster808@gmail.com>
---
recipes-security/clamav/clamav_0.101.5.bb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes-security/clamav/clamav_0.101.5.bb b/recipes-security/clamav/clamav_0.101.5.bb
index a4c32e1..984fb22 100644
--- a/recipes-security/clamav/clamav_0.101.5.bb
+++ b/recipes-security/clamav/clamav_0.101.5.bb
@@ -4,7 +4,7 @@ HOMEPAGE = "http://www.clamav.net/index.html"
SECTION = "security"
LICENSE = "LGPL-2.1"

-DEPENDS = "libtool db libxml2 openssl zlib curl llvm clamav-native libmspack"
+DEPENDS = "libtool db libxml2 openssl zlib curl llvm clamav-native libmspack bison-native"
DEPENDS_class-native = "db-native openssl-native zlib-native llvm-native curl-native"

LIC_FILES_CHKSUM = "file://COPYING.LGPL;beginline=2;endline=3;md5=4b89c05acc71195e9a06edfa2fa7d092"
--
2.17.1


Re: [yocto-kernel-tools][PATCH] tools: Provide merge_config.py alternative to merge_config.sh

Bruce Ashfield
 

On Tue, Feb 18, 2020 at 8:22 AM Nikolay Merinov via
Lists.Yoctoproject.Org
<n.merinov=inango-systems.com@lists.yoctoproject.org> wrote:

Hi,

Is "yocto" is correct mail list for such patch?
The linux-yocto list is the right place.

During the work I already faced issues related to 1, 3, and 4 improvements from the commit message.
And to be fair, those are corner cases that I've never run into in 10
years of working with variants of the merging :D

This is why I want to change OE-Core code to use "merge_config.py" instead of "merge_config.sh". Unfortunately I can't find a way to send several patches to different repositories at once and this is why I want to upstream "merge_config.py" utility before I'll prepare changes to OE-Core code.
The main tooling in for the yocto kernel's is going to stick with
merge_config.sh, since that's the mainline kernel script.

We can perhaps make it possible to switch out the merge_config script
itself, but not a switch by default, that way you could select in your
own layers the actual merge script.

Also note, there are some pending series to move around how/when
fragments are merged, so I'd have to start re-testing all of the use
cases on top of the new base (which changed for v5.5) .. i.e. testing
with the gold linker, etc.

Cheers,

Bruce


Regards,
Nikolai

----- Original Message -----
From: "n merinov" <n.merinov@inango-systems.com>
To: "yocto" <yocto@lists.yoctoproject.org>
Cc: "n merinov" <n.merinov@inango-systems.com>
Sent: Thursday, January 16, 2020 6:24:14 PM
Subject: [yocto-kernel-tools][PATCH] tools: Provide merge_config.py alternative to merge_config.sh
The merge_config.py script is fully compatible by command line options with
merge_config.sh script and provide better performance and solve several issues
that present in the merge_config.sh script.

Improvements comparing with merge_config.sh:

1. Preformance was greatly improved:

let start=0 end=100
for file in `seq 10`; do
for n in `seq $start $end`; do
echo "CONFIG_X$n=$file" >> $file.cfg
done
let start+=100 end+=100
done

time merge_config.sh -m *.cfg # Takes 15.3 seconds
time merge_config.py -m *.cfg # Takes 0.03 seconds

2. merge_config.sh produce false positive warnings when config name used
as config value:

$ echo 'CONFIG_NAME="CONFIG_OTHER"' > 1.cfg
$ echo 'CONFIG_OTHER="value"' > 2.cfg
$ merge_config.sh -m 1.cfg 2.cfg
...
Value of CONFIG_OTHER is redefined by fragment 2.cfg:
Previous value: CONFIG_NAME="CONFIG_OTHER"
New value: CONFIG_OTHER="value"
...

3. merge_config.sh can incorrectly process commentary as a configuration value:

$ echo "CONFIG_NAME=value" > 1.cfg
$ echo "# CONFIG_NAME was defined in 1.cfg" > 2.cfg
$ merge_config.sh -m 1.cfg 2.cfg
...
Value of CONFIG_NAME is redefined by fragment 2.cfg:
Previous value: CONFIG_NAME=value
New value: # CONFIG_NAME was defined in 1.cfg
...
$ cat .config
# CONFIG_NAME was defined in 1.cfg

4. merge_config.py able to find re-definition inside of the same file:

$ echo "CONFIG_NAME=1" > 1.cfg
$ echo "CONFIG_NAME=2" >> 1.cfg
$ merge_config.py -m 1.cfg
...
Value of CONFIG_NAME is redefined by fragment 1.cfg:
Previous value: CONFIG_NAME=1
New value: CONFIG_NAME=2
...

Signed-off-by: Nikolai Merinov <n.merinov@inango-systems.com>
Signed-off-by: Oleksandr Hnatiuk <o.hnatiuk@inango-systems.com>
---
Makefile | 2 +-
tools/merge_config.py | 166 ++++++++++++++++++++++++++++++++++++++++++
2 files changed, 167 insertions(+), 1 deletion(-)
create mode 100755 tools/merge_config.py

diff --git a/Makefile b/Makefile
index eb3daac..df2fca7 100644
--- a/Makefile
+++ b/Makefile
@@ -2,7 +2,7 @@ kern_tools_LIST = kgit kgit-meta \
kconf_check \
get_defconfig scc \
merge_config.sh spp kgit-s2q \
- symbol_why.py
+ symbol_why.py merge_config.py

cmds := $(wildcard tools/scc-cmds/*)
libs := Kconfiglib/kconfiglib.py
diff --git a/tools/merge_config.py b/tools/merge_config.py
new file mode 100755
index 0000000..50e32eb
--- /dev/null
+++ b/tools/merge_config.py
@@ -0,0 +1,166 @@
+#!/usr/bin/env python3
+# SPDX-License-Identifier: GPL-2.0-only
+
+"""
+merge_config.py - Takes a list of config fragment values, and merges
+them one by one. Provides warnings on overridden values, and specified
+values that did not make it to the resulting .config file (due to missed
+dependencies or config symbol removal).
+"""
+
+# Portions reused from merge_config.sh:
+#
http://git.yoctoproject.org/cgit/cgit.cgi/yocto-kernel-tools/tree/tools/merge_config.sh
+#
+# Copyright (c) 2009-2010 Wind River Systems, Inc.
+# Copyright 2011 Linaro
+# Copyright (c) 2020 Inango Systems Ltd.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License version 2 as
+# published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the GNU General Public License for more details.
+
+import sys
+import re
+import os
+import subprocess
+from collections import OrderedDict
+import argparse
+
+CONFIG_REGEX = r'^((# (?=.* is not set))?(CONFIG_[a-zA-Z0-9_]*)(=.*| is not
set))$'
+
+def parse_arguments():
+ """Parse argv and return extracted options and list of the config files for
merging"""
+ parser = argparse.ArgumentParser()
+ parser.add_argument('configs', metavar='CONFIG', type=str, nargs='+',
+ help='path to the config fragment')
+ parser.add_argument('-m', dest='run_make', action='store_false',
+ help='only merge the fragments, do not execute the make
command')
+ parser.add_argument('-n', dest='alltarget', action='store_const',
+ default='alldefconfig', const='allnoconfig',
+ help='use allnoconfig instead of alldefconfig')
+ parser.add_argument('-r', dest='warn_redundant', action='store_true',
+ help='list redundant entries when merging fragments')
+ parser.add_argument('-O', dest='output_dir', metavar='DIR', type=str,
+ action='store', default='.',
+ help='dir to put generated output files. '
+ 'Consider setting $KCONFIG_CONFIG instead.')
+
+ args = parser.parse_args()
+
+ if not os.path.isdir(args.output_dir):
+ print("output directory {} does not exist".format(args.output_dir),
file=sys.stderr)
+ else:
+ args.output_dir = args.output_dir.rstrip('/')
+
+ return args
+
+def merge_config(config_dict, file_name, warn_redundant=False):
+ """Add all configuration options from file_name to the config_dict
dictionary.
+ This function warns about all configuration in config_dict that was
redefined.
+ Optionally it warns about redifinition to the same value if warn_redundant
is True"""
+ matches = re.findall(CONFIG_REGEX, open(file_name, "r").read(),
re.MULTILINE)
+ for match in matches:
+ config_option = match[2]
+ new_value = match[0]
+ previous_value = config_dict.get(config_option)
+ if previous_value != None:
+ if previous_value != new_value:
+ print("Value of {} is redefined by fragment
{}:".format(config_option, file_name))
+ print("Previous value: {}".format(previous_value))
+ print("New value: {}".format(new_value))
+ print()
+ elif warn_redundant:
+ print("Value of {} is redundant by fragment
{}:".format(config_option, file_name))
+ del config_dict[config_option]
+ config_dict[config_option] = new_value
+
+def compare_configs(passed_config, resulting_config):
+ """Compare two dictionaries with config values and print warnings if
+ resulting_config changed any values presented in passed_config.
+
+ This function assumes that resulting_config is a result of processing of
the
+ passed_config by make defconfig command."""
+ for config_option, requested_value in passed_config.items():
+ actual_value = resulting_config.get(config_option)
+ if actual_value is None:
+ print("Value requested for {} not in final
.config".format(config_option))
+ print("Requested value: {}".format(requested_value))
+ print("There is no value for this config in .config")
+ print("")
+ elif requested_value != actual_value:
+ print("Value requested for {} not in final
.config".format(config_option))
+ print("Requested value: {}".format(requested_value))
+ print("Actual value: {}".format(actual_value))
+ print("")
+
+def dump_config(dictionary, file_name):
+ """Write data stored in the dictionary to the file_name."""
+ out_file = open(file_name, "w")
+ for val in dictionary.values():
+ out_file.write("{}\n".format(val))
+ out_file.close()
+
+def exit_if_not_exists(file_name):
+ """Exit if the file_name do not point to an existed file."""
+ if not os.path.isfile(file_name):
+ print("The file '{}' does not exist. Exit.".format(file_name),
file=sys.stderr)
+ sys.exit(1)
+
+def main():
+ """Main function of this module."""
+ args = parse_arguments()
+
+ kconfig_config = os.getenv("KCONFIG_CONFIG")
+ if kconfig_config is None:
+ if args.output_dir != ".":
+ kconfig_config =
os.path.realpath("{}/.config".format(args.output_dir))
+ else:
+ kconfig_config = ".config"
+ os.putenv("KCONFIG_CONFIG", kconfig_config)
+
+ final_config = OrderedDict()
+
+ base_config = args.configs[0]
+ merge_list = args.configs[1:]
+
+ exit_if_not_exists(base_config)
+ print("Using {} as base".format(base_config))
+ merge_config(final_config, base_config, args.warn_redundant)
+
+ # Merge files, printing warnings on overridden values
+ for merge_file in merge_list:
+ exit_if_not_exists(merge_file)
+ print("Merging {}".format(merge_file))
+ merge_config(final_config, merge_file)
+
+ dump_config(final_config, kconfig_config)
+
+ if not args.run_make:
+ print("#\n# merged configuration written to {} (needs
make)\n#".format(kconfig_config))
+ sys.exit()
+
+ # If we have an output dir, setup the O= argument, otherwise leave
+ # it blank, since O=. will create an unnecessary ./source softlink
+ output_arg = ""
+ if args.output_dir != ".":
+ output_arg = "O={}".format(args.output_dir)
+
+
+ # Use the merged file as the starting point for:
+ # alldefconfig: Fills in any missing symbols with Kconfig default
+ # allnoconfig: Fills in any missing symbols with # CONFIG_* is not set
+ subprocess.run("make {} {}".format(output_arg, args.alltarget), shell=True)
+
+
+ # Check all specified config values took (might have missed-dependency
issues)
+ kconfig_values = OrderedDict()
+ merge_config(kconfig_values, kconfig_config)
+
+ compare_configs(final_config, kconfig_values)
+
+main()
--
2.17.1


--
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II


Re: Private: Re: [yocto] #yocto update the kernel with a rauc bundle #yocto

Hans-Ulrich Schlieben
 

Hi Enrico,

I just answered your first mail on the website and thought that will automatically reply to all. Added all lists now, hope these are correct.

Thanks to you I found the custom automount in the providers recipes. This mounts /dev/mmc0.0 to /mnt/mmc.
After the mount it seems that only when I install a new image the barebox mount /dev/mmc0.0 to /mnt/mmc0.0 works.
Rauc / barebox seems something to change after a bundle update whereas mount /dev/mmc0.0 to /mnt/mmc0.0 fails and the files are only visible in /mnt/mmc.

/mnt/mmc works in both cases so I have now
/mnt/mmc/boot... for system0 and
/mnt/mmc0.1/boot... for system1

Best regards

hu

-----Original Message-----
From: Enrico Jörns <ejo@pengutronix.de>
Sent: Tuesday, 18 February 2020 01:12
To: Hans-Ulrich Schlieben <hu.schlieben@codewrights.de>
Subject: Re: Private: Re: [yocto] #yocto update the kernel with a rauc bundle

Hi hu,

please keep at least any list in CC so that others can benefit from this discussion, too (Both RAUC and barebox ML would fit here). It also increases the range and thus potential people that may help here.

Am 17.02.20 um 13:58 schrieb Hans-Ulrich Schlieben:
Hi Enrico,

thank you very much for your help with IMAGE_INSTALL_append = "
kernel-image kernel-devicetree"
that did the trick.

What i do not understand is how barebox handles the mount names for my
two alternate boot partitions.
The boot on the first partition works only under /mnt/mmc/:

global.bootm.image="/mnt/mmc/boot/zImage"
global.bootm.oftree="/mnt/mmc/boot/imx6q-phytec-ksp0663.dtb"
global.linux.bootargs.dyn.root="root=/dev/mmcblk0p1
rootflags='data=journal' wd=60 ipv6.disable=1"

whereas the second works with /mnt/mmc1/:
global.bootm.image="/mnt/mmc0.1/boot/zImage"
global.bootm.oftree="/mnt/mmc0.1/boot/imx6q-phytec-ksp0663.dtb"
global.linux.bootargs.dyn.root="root=/dev/mmcblk0p2
rootflags='data=journal' wd=60 ipv6.disable=1"

In barebox i see both root filesystems under /mnt/mmc0.0 and
/mnt/mmc0.1/.

When i try to have a symmetrical configuration and rename /mmc/ into
/mmc0.0/ boot on mmc0.0 does not work because it still mounts the
first partition ar /mnt/mmc/.
Which version of barebox?

It should be sufficient to either say

boot mmc0.0

or

boot mmc0.1

and barebox will automatically mount the partition, look for a bootspec file under /loader/entries and assemble the required boot options and kernel command line automatically.

What tells barebox to mount during boot mmc and mmc0.1 instead of
mmc0.0 and mmc0.1?
Is there any custom automount unit located in you built-in env probably?


Best regards, Enrico

--
Pengutronix e.K. | Enrico Jörns |
Industrial Linux Solutions | https://eur04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.pengutronix.de%2F&;data=01%7C01%7Chu.schlieben%40codewrights.de%7C6020bc01e00441d6349308d7b40726d7%7C0974af9b352b437cb606e9f242c0c227%7C0&amp;sdata=dcTydL6d89X3tBEeBaFlzMqJ6%2FpFkGrzNRQ6atkpLRk%3D&amp;reserved=0 |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-5080 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |


Re: [yocto-kernel-tools][PATCH] tools: Provide merge_config.py alternative to merge_config.sh

Nikolay Merinov
 

Hi,

Is "yocto" is correct mail list for such patch?

During the work I already faced issues related to 1, 3, and 4 improvements from the commit message.
This is why I want to change OE-Core code to use "merge_config.py" instead of "merge_config.sh". Unfortunately I can't find a way to send several patches to different repositories at once and this is why I want to upstream "merge_config.py" utility before I'll prepare changes to OE-Core code.

Regards,
Nikolai

----- Original Message -----
From: "n merinov" <n.merinov@inango-systems.com>
To: "yocto" <yocto@lists.yoctoproject.org>
Cc: "n merinov" <n.merinov@inango-systems.com>
Sent: Thursday, January 16, 2020 6:24:14 PM
Subject: [yocto-kernel-tools][PATCH] tools: Provide merge_config.py alternative to merge_config.sh
The merge_config.py script is fully compatible by command line options with
merge_config.sh script and provide better performance and solve several issues
that present in the merge_config.sh script.

Improvements comparing with merge_config.sh:

1. Preformance was greatly improved:

let start=0 end=100
for file in `seq 10`; do
for n in `seq $start $end`; do
echo "CONFIG_X$n=$file" >> $file.cfg
done
let start+=100 end+=100
done

time merge_config.sh -m *.cfg # Takes 15.3 seconds
time merge_config.py -m *.cfg # Takes 0.03 seconds

2. merge_config.sh produce false positive warnings when config name used
as config value:

$ echo 'CONFIG_NAME="CONFIG_OTHER"' > 1.cfg
$ echo 'CONFIG_OTHER="value"' > 2.cfg
$ merge_config.sh -m 1.cfg 2.cfg
...
Value of CONFIG_OTHER is redefined by fragment 2.cfg:
Previous value: CONFIG_NAME="CONFIG_OTHER"
New value: CONFIG_OTHER="value"
...

3. merge_config.sh can incorrectly process commentary as a configuration value:

$ echo "CONFIG_NAME=value" > 1.cfg
$ echo "# CONFIG_NAME was defined in 1.cfg" > 2.cfg
$ merge_config.sh -m 1.cfg 2.cfg
...
Value of CONFIG_NAME is redefined by fragment 2.cfg:
Previous value: CONFIG_NAME=value
New value: # CONFIG_NAME was defined in 1.cfg
...
$ cat .config
# CONFIG_NAME was defined in 1.cfg

4. merge_config.py able to find re-definition inside of the same file:

$ echo "CONFIG_NAME=1" > 1.cfg
$ echo "CONFIG_NAME=2" >> 1.cfg
$ merge_config.py -m 1.cfg
...
Value of CONFIG_NAME is redefined by fragment 1.cfg:
Previous value: CONFIG_NAME=1
New value: CONFIG_NAME=2
...

Signed-off-by: Nikolai Merinov <n.merinov@inango-systems.com>
Signed-off-by: Oleksandr Hnatiuk <o.hnatiuk@inango-systems.com>
---
Makefile | 2 +-
tools/merge_config.py | 166 ++++++++++++++++++++++++++++++++++++++++++
2 files changed, 167 insertions(+), 1 deletion(-)
create mode 100755 tools/merge_config.py

diff --git a/Makefile b/Makefile
index eb3daac..df2fca7 100644
--- a/Makefile
+++ b/Makefile
@@ -2,7 +2,7 @@ kern_tools_LIST = kgit kgit-meta \
kconf_check \
get_defconfig scc \
merge_config.sh spp kgit-s2q \
- symbol_why.py
+ symbol_why.py merge_config.py

cmds := $(wildcard tools/scc-cmds/*)
libs := Kconfiglib/kconfiglib.py
diff --git a/tools/merge_config.py b/tools/merge_config.py
new file mode 100755
index 0000000..50e32eb
--- /dev/null
+++ b/tools/merge_config.py
@@ -0,0 +1,166 @@
+#!/usr/bin/env python3
+# SPDX-License-Identifier: GPL-2.0-only
+
+"""
+merge_config.py - Takes a list of config fragment values, and merges
+them one by one. Provides warnings on overridden values, and specified
+values that did not make it to the resulting .config file (due to missed
+dependencies or config symbol removal).
+"""
+
+# Portions reused from merge_config.sh:
+#
http://git.yoctoproject.org/cgit/cgit.cgi/yocto-kernel-tools/tree/tools/merge_config.sh
+#
+# Copyright (c) 2009-2010 Wind River Systems, Inc.
+# Copyright 2011 Linaro
+# Copyright (c) 2020 Inango Systems Ltd.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License version 2 as
+# published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the GNU General Public License for more details.
+
+import sys
+import re
+import os
+import subprocess
+from collections import OrderedDict
+import argparse
+
+CONFIG_REGEX = r'^((# (?=.* is not set))?(CONFIG_[a-zA-Z0-9_]*)(=.*| is not
set))$'
+
+def parse_arguments():
+ """Parse argv and return extracted options and list of the config files for
merging"""
+ parser = argparse.ArgumentParser()
+ parser.add_argument('configs', metavar='CONFIG', type=str, nargs='+',
+ help='path to the config fragment')
+ parser.add_argument('-m', dest='run_make', action='store_false',
+ help='only merge the fragments, do not execute the make
command')
+ parser.add_argument('-n', dest='alltarget', action='store_const',
+ default='alldefconfig', const='allnoconfig',
+ help='use allnoconfig instead of alldefconfig')
+ parser.add_argument('-r', dest='warn_redundant', action='store_true',
+ help='list redundant entries when merging fragments')
+ parser.add_argument('-O', dest='output_dir', metavar='DIR', type=str,
+ action='store', default='.',
+ help='dir to put generated output files. '
+ 'Consider setting $KCONFIG_CONFIG instead.')
+
+ args = parser.parse_args()
+
+ if not os.path.isdir(args.output_dir):
+ print("output directory {} does not exist".format(args.output_dir),
file=sys.stderr)
+ else:
+ args.output_dir = args.output_dir.rstrip('/')
+
+ return args
+
+def merge_config(config_dict, file_name, warn_redundant=False):
+ """Add all configuration options from file_name to the config_dict
dictionary.
+ This function warns about all configuration in config_dict that was
redefined.
+ Optionally it warns about redifinition to the same value if warn_redundant
is True"""
+ matches = re.findall(CONFIG_REGEX, open(file_name, "r").read(),
re.MULTILINE)
+ for match in matches:
+ config_option = match[2]
+ new_value = match[0]
+ previous_value = config_dict.get(config_option)
+ if previous_value != None:
+ if previous_value != new_value:
+ print("Value of {} is redefined by fragment
{}:".format(config_option, file_name))
+ print("Previous value: {}".format(previous_value))
+ print("New value: {}".format(new_value))
+ print()
+ elif warn_redundant:
+ print("Value of {} is redundant by fragment
{}:".format(config_option, file_name))
+ del config_dict[config_option]
+ config_dict[config_option] = new_value
+
+def compare_configs(passed_config, resulting_config):
+ """Compare two dictionaries with config values and print warnings if
+ resulting_config changed any values presented in passed_config.
+
+ This function assumes that resulting_config is a result of processing of
the
+ passed_config by make defconfig command."""
+ for config_option, requested_value in passed_config.items():
+ actual_value = resulting_config.get(config_option)
+ if actual_value is None:
+ print("Value requested for {} not in final
.config".format(config_option))
+ print("Requested value: {}".format(requested_value))
+ print("There is no value for this config in .config")
+ print("")
+ elif requested_value != actual_value:
+ print("Value requested for {} not in final
.config".format(config_option))
+ print("Requested value: {}".format(requested_value))
+ print("Actual value: {}".format(actual_value))
+ print("")
+
+def dump_config(dictionary, file_name):
+ """Write data stored in the dictionary to the file_name."""
+ out_file = open(file_name, "w")
+ for val in dictionary.values():
+ out_file.write("{}\n".format(val))
+ out_file.close()
+
+def exit_if_not_exists(file_name):
+ """Exit if the file_name do not point to an existed file."""
+ if not os.path.isfile(file_name):
+ print("The file '{}' does not exist. Exit.".format(file_name),
file=sys.stderr)
+ sys.exit(1)
+
+def main():
+ """Main function of this module."""
+ args = parse_arguments()
+
+ kconfig_config = os.getenv("KCONFIG_CONFIG")
+ if kconfig_config is None:
+ if args.output_dir != ".":
+ kconfig_config =
os.path.realpath("{}/.config".format(args.output_dir))
+ else:
+ kconfig_config = ".config"
+ os.putenv("KCONFIG_CONFIG", kconfig_config)
+
+ final_config = OrderedDict()
+
+ base_config = args.configs[0]
+ merge_list = args.configs[1:]
+
+ exit_if_not_exists(base_config)
+ print("Using {} as base".format(base_config))
+ merge_config(final_config, base_config, args.warn_redundant)
+
+ # Merge files, printing warnings on overridden values
+ for merge_file in merge_list:
+ exit_if_not_exists(merge_file)
+ print("Merging {}".format(merge_file))
+ merge_config(final_config, merge_file)
+
+ dump_config(final_config, kconfig_config)
+
+ if not args.run_make:
+ print("#\n# merged configuration written to {} (needs
make)\n#".format(kconfig_config))
+ sys.exit()
+
+ # If we have an output dir, setup the O= argument, otherwise leave
+ # it blank, since O=. will create an unnecessary ./source softlink
+ output_arg = ""
+ if args.output_dir != ".":
+ output_arg = "O={}".format(args.output_dir)
+
+
+ # Use the merged file as the starting point for:
+ # alldefconfig: Fills in any missing symbols with Kconfig default
+ # allnoconfig: Fills in any missing symbols with # CONFIG_* is not set
+ subprocess.run("make {} {}".format(output_arg, args.alltarget), shell=True)
+
+
+ # Check all specified config values took (might have missed-dependency
issues)
+ kconfig_values = OrderedDict()
+ merge_config(kconfig_values, kconfig_config)
+
+ compare_configs(final_config, kconfig_values)
+
+main()
--
2.17.1


Re: Issue while adding the support for TLS1.3 in existing krogoth yocto #yocto #apt #raspberrypi

amaya jindal
 

Thanks for your prompt reply. But is not there any way similar to add support for TLS1.3 instead of moving to new yocto releases

Sent from my Huawei phone


-------- Original message --------
From: Alexander Kanavin <alex.kanavin@...>
Date: Tue, 18 Feb 2020, 1:13 pm
To: amayajindal786@...
Cc: yocto@...
Subject: Re: [yocto] Issue while adding the support for TLS1.3 in existing krogoth yocto #yocto #yocto #yocto #yocto #apt #raspberrypi #yocto
Backporting core pieces across many yocto releases is basically impossible. You more or less end up having to move and integrate half of the stack, which is a herculean task.

The correct way to approach this is to have a strategy and plan for migrating to newer yocto releases. Investigate what you need to to do to move to thud, or newer, because thud is not a supported release anymore.

Alex

On Tue, 18 Feb 2020 at 08:25, <amayajindal786@...> wrote:
I am using currently krogoth yocto for my current Arm based board. I am having currently openssl 1.0.2h and related recipes from current version but when I want to add TLs 1.3 that is openssl 1.1.1a/b/pre etc from available yocto source or from thud20. 0 yocto I am getting lot of issues. First of all I had to change rpm 4.14. 2 from current 5.4.16. After some time I got error in gobject-introspection recipe 1.46 version that sha1 sha256 hash not found when try to search in python 2.7.2 Please guide -=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#48464): https://lists.yoctoproject.org/g/yocto/message/48464
Mute This Topic: https://lists.yoctoproject.org/mt/71367169/1686489
Mute #yocto: https://lists.yoctoproject.org/mk?hashtag=yocto&subid=6691550
Mute #apt: https://lists.yoctoproject.org/mk?hashtag=apt&subid=6691550
Mute #raspberrypi: https://lists.yoctoproject.org/mk?hashtag=raspberrypi&subid=6691550
Group Owner: yocto+owner@...
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub  [alex.kanavin@...]
-=-=-=-=-=-=-=-=-=-=-=-


Re: Issue while adding the support for TLS1.3 in existing krogoth yocto #yocto #apt #raspberrypi

Alexander Kanavin
 

Backporting core pieces across many yocto releases is basically impossible. You more or less end up having to move and integrate half of the stack, which is a herculean task.

The correct way to approach this is to have a strategy and plan for migrating to newer yocto releases. Investigate what you need to to do to move to thud, or newer, because thud is not a supported release anymore.

Alex


On Tue, 18 Feb 2020 at 08:25, <amayajindal786@...> wrote:
I am using currently krogoth yocto for my current Arm based board. I am having currently openssl 1.0.2h and related recipes from current version but when I want to add TLs 1.3 that is openssl 1.1.1a/b/pre etc from available yocto source or from thud20. 0 yocto I am getting lot of issues. First of all I had to change rpm 4.14. 2 from current 5.4.16. After some time I got error in gobject-introspection recipe 1.46 version that sha1 sha256 hash not found when try to search in python 2.7.2 Please guide


Re: Yocto [thud], [zeus] do_fetch and do_unpack failures with offline/online svn build! #yocto #python

Georgi Georgiev
 

OK,
I read some code and I added the next line:

--- a/bitbake/lib/bb/fetch2/svn.py
+++ b/bitbake/lib/bb/fetch2/svn.py
@@ -145,6 +145,7 @@ class Svn(FetchMethod):

if not ("externals" in ud.parm and ud.parm["externals"] == "nowarn"):
# Warn the user if this had externals (won't catch them all)
+ svnfetchcmd = self._buildsvncommand(ud, d, "fetch")
output = runfetchcmd("svn propget svn:externals || true", d, workdir=ud.moddir)
if output:
if "--ignore-externals" in svnfetchcmd.split():

This works for me perfectly. I may look little redundant but...
Any comments?
@Mikko,
We have only one svn repo in the whole project :-)

Cordially,
Georgi

-----Original Message-----
From: Mikko.Rapeli@bmw.de [mailto:Mikko.Rapeli@bmw.de]
Sent: Monday, February 17, 2020 3:47 PM
To: Georgi Georgiev <Georgi.Georgiev@woodward.com>
Cc: yocto@lists.yoctoproject.org
Subject: [EXTERNAL] Re: [yocto] Yocto [thud], [zeus] do_fetch and do_unpack failures with offline/online svn build! #yocto #python

On Mon, Feb 17, 2020 at 01:35:02PM +0000, Georgi Georgiev via Lists.Yoctoproject.Org wrote:
Hi Mikko,
Your patch is upstreamed and...It is actually released. If you see the error output you will see your codeline. I decided to try with your old version but the result is the same. Can you say something for the previous issue I have about offline build.
It seem svn is not very well supported by yocto.
Ah, indeed.

svn is supported and for me it's working quite well. It has some issues like download cache locking when multiple recipes include the same URLs.

Where possible, I've switched to using http fetcher with tar balls and large binary blobs in svn, but there one needs to remember to include version details into file names...

-Mikko

***
The information in this email is confidential and intended solely for the individual or entity to whom it is addressed.  If you have received this email in error please notify the sender by return e-mail, delete this email, and refrain from any disclosure or action based on the information.
***


Issue while adding the support for TLS1.3 in existing krogoth yocto #yocto #apt #raspberrypi

amaya jindal
 

I am using currently krogoth yocto for my current Arm based board. I am having currently openssl 1.0.2h and related recipes from current version but when I want to add TLs 1.3 that is openssl 1.1.1a/b/pre etc from available yocto source or from thud20. 0 yocto I am getting lot of issues. First of all I had to change rpm 4.14. 2 from current 5.4.16. After some time I got error in gobject-introspection recipe 1.46 version that sha1 sha256 hash not found when try to search in python 2.7.2 Please guide


Change RO rootfs failed RF Kill Switch Status and Failed to start Run pending postinsts

JH
 

Hi,

Apologize for the cross posting.

I am running kernel 4.19.75 on iMX6 customized device with WiFi and 4G
LTE, it was running well in an RW rootfs. After I have just changed
rootfs to RO UBIFS partition, it failed RF Kill and postinsts I
suspect both try write to the RO and failed, any advice how to fix it?
Despite it failed RF Kill and postinsts, it was still working.

[ 6.097762] UBIFS (ubi0:2): UBIFS: mounted UBI device 0, volume 2,
name "rootfs-volume", R/O mode
..............
[ 6.151932] VFS: Mounted root (ubifs filesystem) readonly on device 0:13.
.................
[ OK ] Listening on Load/Save RF Kill Switch Status /dev/rfkill Watch.
Starting Load/Save RF Kill Switch Status...
[FAILED] Failed to start Load/Save RF Kill Switch Status.
See 'systemctl status systemd-rfkill.service' for details.

[FAILED] Failed to start Run pending postinsts.
See 'systemctl status run-postinsts.service' for details.
...............
root#

Thank you.

Kind regards,

- jh


[opkg-utils PATCH] Makefile: add opkg-feed to UTILS

Alex Stewart
 

* Add the opkg-feed script to UTILS so that it is installed with a `make
install`.

* Clean up the UTILS variable declaration to be a little more diffable.

Signed-off-by: Alex Stewart <alex.stewart@ni.com>
---
Makefile | 17 ++++++++++++++---
1 file changed, 14 insertions(+), 3 deletions(-)

diff --git a/Makefile b/Makefile
index 817a8c1..4049654 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,17 @@
-UTILS = opkg-build opkg-unbuild opkg-make-index opkg.py opkg-list-fields \
- arfile.py opkg-buildpackage opkg-diff opkg-extract-file opkg-show-deps \
- opkg-compare-indexes update-alternatives
+UTILS = \
+ arfile.py \
+ opkg-build \
+ opkg-buildpackage \
+ opkg-compare-indexes \
+ opkg-diff \
+ opkg-extract-file \
+ opkg-feed \
+ opkg-list-fields \
+ opkg-make-index \
+ opkg-show-deps \
+ opkg-unbuild \
+ opkg.py \
+ update-alternatives

MANPAGES = opkg-build.1

--
2.25.0

6961 - 6980 of 55440