Re: [OE-core] libpsl: Add config knobs for runtime/builtin conversion choices

2021-10-14 Thread Andrej Valek
The reason, why I want to apply it here, to switch replace libidn2 with
icu. According to libpsl documentation, you can chose who will generate
the PSL database (libidn, libidn2, icu). So I don't want to install a
new component if there is a valid replacement which is already
installed.

Regards,
Andrej

On Thu, 2021-10-14 at 07:36 -1000, Steve Sakoman wrote:
> On Wed, Oct 13, 2021 at 9:14 AM Valek, Andrej
>  wrote:
> 
> > Would it be possible to include this commit
> > https://lists.openembedded.org/g/openembedded-core/message/150627 i
> > nto
> > dunfell branch?
> 
> At first glance this seems to change the default behavior. Perhaps a
> version of the patch that adds the knobs but keeps the same behavior?
> 
> I may be mistaken since I'm not really familiar with this package, so
> would love input from those who are!
> 
> Steve


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156987): 
https://lists.openembedded.org/g/openembedded-core/message/156987
Mute This Topic: https://lists.openembedded.org/mt/86296104/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [PATCH] opensbi-payloads.inc: Use strings for fallback

2021-10-14 Thread Alistair Francis
On Fri, Oct 15, 2021 at 1:17 PM Khem Raj  wrote:
>
> This function is evaluated during parse and some machines maynot use
> external payload, on such machines this fails to parse
>
> Fixes
> bb.data_smart.ExpansionError: Failure expanding variable do_compile[depends], 
> expression was  ${@riscv_get_do_compile_depends(d)} which triggered exception 
> TypeError: argument of type 'NoneType' is not iterab
> le
>
> Signed-off-by: Khem Raj 
> Cc: Alistair Francis 

Acked-by: Alistair Francis 

Alistair

> ---
>  meta/recipes-bsp/opensbi/opensbi-payloads.inc | 8 
>  1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/meta/recipes-bsp/opensbi/opensbi-payloads.inc 
> b/meta/recipes-bsp/opensbi/opensbi-payloads.inc
> index cc31ab3b1d..ce537c0587 100644
> --- a/meta/recipes-bsp/opensbi/opensbi-payloads.inc
> +++ b/meta/recipes-bsp/opensbi/opensbi-payloads.inc
> @@ -17,13 +17,13 @@ def riscv_get_extra_oemake_fdt(d):
>  return "FW_FDT_PATH=" + deploy_dir + "/" + sbi_fdt
>
>  def riscv_get_do_compile_depends(d):
> -sbi_payload = d.getVar('RISCV_SBI_PAYLOAD')
> -sbi_fdt = d.getVar('RISCV_SBI_FDT')
> +sbi_payload = d.getVar('RISCV_SBI_PAYLOAD') or ""
> +sbi_fdt = d.getVar('RISCV_SBI_FDT') or ""
>
> -if sbi_payload is None and sbi_fdt is None:
> +if sbi_payload == "" and sbi_fdt == "":
>  return ""
>
> -if sbi_fdt is not None and 'u-boot.bin' in sbi_payload:
> +if sbi_fdt != "" and 'u-boot.bin' in sbi_payload:
>  return "virtual/kernel:do_deploy virtual/bootloader:do_deploy"
>
>  if 'linux' in sbi_payload or 'Image' in sbi_payload:
> --
> 2.33.1
>
>
> 
>

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156986): 
https://lists.openembedded.org/g/openembedded-core/message/156986
Mute This Topic: https://lists.openembedded.org/mt/86331377/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH v2] qemu: Add knob for enabling PMDK pmem support

2021-10-14 Thread Khem Raj
This ensures that libpmem dependency is added in a consistent manner

Signed-off-by: Khem Raj 
---
v2: Correct dependency name to a match recipe from meta-oe

 meta/recipes-devtools/qemu/qemu.inc | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/recipes-devtools/qemu/qemu.inc 
b/meta/recipes-devtools/qemu/qemu.inc
index 54ffb85286..57e5e1a015 100644
--- a/meta/recipes-devtools/qemu/qemu.inc
+++ b/meta/recipes-devtools/qemu/qemu.inc
@@ -194,6 +194,7 @@ PACKAGECONFIG[pie] = "--enable-pie,--disable-pie,,"
 PACKAGECONFIG[seccomp] = "--enable-seccomp,--disable-seccomp,libseccomp"
 # libnfs is currently provided by meta-kodi
 PACKAGECONFIG[libnfs] = "--enable-libnfs,--disable-libnfs,libnfs"
+PACKAGECONFIG[pmem] = "--enable-libpmem,--disable-libpmem,pmdk"
 
 INSANE_SKIP:${PN} = "arch"
 
-- 
2.33.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156985): 
https://lists.openembedded.org/g/openembedded-core/message/156985
Mute This Topic: https://lists.openembedded.org/mt/86332156/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH 1/2] opensbi-payloads.inc: Use strings for fallback

2021-10-14 Thread Khem Raj
This function is evaluated during parse and some machines maynot use
external payload, on such machines this fails to parse

Fixes
bb.data_smart.ExpansionError: Failure expanding variable do_compile[depends], 
expression was  ${@riscv_get_do_compile_depends(d)} which triggered exception 
TypeError: argument of type 'NoneType' is not iterab
le

Signed-off-by: Khem Raj 
Cc: Alistair Francis 
---
 meta/recipes-bsp/opensbi/opensbi-payloads.inc | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/meta/recipes-bsp/opensbi/opensbi-payloads.inc 
b/meta/recipes-bsp/opensbi/opensbi-payloads.inc
index cc31ab3b1d..ce537c0587 100644
--- a/meta/recipes-bsp/opensbi/opensbi-payloads.inc
+++ b/meta/recipes-bsp/opensbi/opensbi-payloads.inc
@@ -17,13 +17,13 @@ def riscv_get_extra_oemake_fdt(d):
 return "FW_FDT_PATH=" + deploy_dir + "/" + sbi_fdt
 
 def riscv_get_do_compile_depends(d):
-sbi_payload = d.getVar('RISCV_SBI_PAYLOAD')
-sbi_fdt = d.getVar('RISCV_SBI_FDT')
+sbi_payload = d.getVar('RISCV_SBI_PAYLOAD') or ""
+sbi_fdt = d.getVar('RISCV_SBI_FDT') or ""
 
-if sbi_payload is None and sbi_fdt is None:
+if sbi_payload == "" and sbi_fdt == "":
 return ""
 
-if sbi_fdt is not None and 'u-boot.bin' in sbi_payload:
+if sbi_fdt != "" and 'u-boot.bin' in sbi_payload:
 return "virtual/kernel:do_deploy virtual/bootloader:do_deploy"
 
 if 'linux' in sbi_payload or 'Image' in sbi_payload:
-- 
2.33.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156983): 
https://lists.openembedded.org/g/openembedded-core/message/156983
Mute This Topic: https://lists.openembedded.org/mt/86331834/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH 2/2] mesa: Enable svga for x86 only

2021-10-14 Thread Khem Raj
Enable svga only on x86/x86_64 since some arches e.g. riscv64 do not
support it

Signed-off-by: Khem Raj 
---
 meta/recipes-graphics/mesa/mesa.inc | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-graphics/mesa/mesa.inc 
b/meta/recipes-graphics/mesa/mesa.inc
index 282671d30f..4e95911165 100644
--- a/meta/recipes-graphics/mesa/mesa.inc
+++ b/meta/recipes-graphics/mesa/mesa.inc
@@ -143,7 +143,9 @@ GALLIUMDRIVERS:append 
="${@bb.utils.contains('PACKAGECONFIG', 'v3d', ',v3d', '',
 
 # radeonsi requires LLVM
 GALLIUMDRIVERS_RADEONSI = "${@bb.utils.contains('PACKAGECONFIG', 'r600', 
',radeonsi', '', d)}"
-GALLIUMDRIVERS_LLVM = "r300,svga,nouveau${GALLIUMDRIVERS_RADEONSI}"
+GALLIUMDRIVERS_LLVM = "r300,nouveau${GALLIUMDRIVERS_RADEONSI}"
+GALLIUMDRIVERS_LLVM:append:x86:class-target = ",svga"
+GALLIUMDRIVERS_LLVM:append:x86-64:class-target = ",svga"
 
 PACKAGECONFIG[r600] = ""
 PACKAGECONFIG[virgl] = ""
-- 
2.33.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156984): 
https://lists.openembedded.org/g/openembedded-core/message/156984
Mute This Topic: https://lists.openembedded.org/mt/86331835/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH] opensbi-payloads.inc: Use strings for fallback

2021-10-14 Thread Khem Raj
This function is evaluated during parse and some machines maynot use
external payload, on such machines this fails to parse

Fixes
bb.data_smart.ExpansionError: Failure expanding variable do_compile[depends], 
expression was  ${@riscv_get_do_compile_depends(d)} which triggered exception 
TypeError: argument of type 'NoneType' is not iterab
le

Signed-off-by: Khem Raj 
Cc: Alistair Francis 
---
 meta/recipes-bsp/opensbi/opensbi-payloads.inc | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/meta/recipes-bsp/opensbi/opensbi-payloads.inc 
b/meta/recipes-bsp/opensbi/opensbi-payloads.inc
index cc31ab3b1d..ce537c0587 100644
--- a/meta/recipes-bsp/opensbi/opensbi-payloads.inc
+++ b/meta/recipes-bsp/opensbi/opensbi-payloads.inc
@@ -17,13 +17,13 @@ def riscv_get_extra_oemake_fdt(d):
 return "FW_FDT_PATH=" + deploy_dir + "/" + sbi_fdt
 
 def riscv_get_do_compile_depends(d):
-sbi_payload = d.getVar('RISCV_SBI_PAYLOAD')
-sbi_fdt = d.getVar('RISCV_SBI_FDT')
+sbi_payload = d.getVar('RISCV_SBI_PAYLOAD') or ""
+sbi_fdt = d.getVar('RISCV_SBI_FDT') or ""
 
-if sbi_payload is None and sbi_fdt is None:
+if sbi_payload == "" and sbi_fdt == "":
 return ""
 
-if sbi_fdt is not None and 'u-boot.bin' in sbi_payload:
+if sbi_fdt != "" and 'u-boot.bin' in sbi_payload:
 return "virtual/kernel:do_deploy virtual/bootloader:do_deploy"
 
 if 'linux' in sbi_payload or 'Image' in sbi_payload:
-- 
2.33.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156982): 
https://lists.openembedded.org/g/openembedded-core/message/156982
Mute This Topic: https://lists.openembedded.org/mt/86331377/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH] qemu: Add knob for enabling PMDK pmem support

2021-10-14 Thread Khem Raj
This ensures that libpmem dependency is added in a consistent manner

Signed-off-by: Khem Raj 
---
 meta/recipes-devtools/qemu/qemu.inc | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/recipes-devtools/qemu/qemu.inc 
b/meta/recipes-devtools/qemu/qemu.inc
index 54ffb85286..6c72409590 100644
--- a/meta/recipes-devtools/qemu/qemu.inc
+++ b/meta/recipes-devtools/qemu/qemu.inc
@@ -194,6 +194,7 @@ PACKAGECONFIG[pie] = "--enable-pie,--disable-pie,,"
 PACKAGECONFIG[seccomp] = "--enable-seccomp,--disable-seccomp,libseccomp"
 # libnfs is currently provided by meta-kodi
 PACKAGECONFIG[libnfs] = "--enable-libnfs,--disable-libnfs,libnfs"
+PACKAGECONFIG[pmem] = "--enable-libpmem,--disable-libpmem,libpmem"
 
 INSANE_SKIP:${PN} = "arch"
 
-- 
2.33.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156981): 
https://lists.openembedded.org/g/openembedded-core/message/156981
Mute This Topic: https://lists.openembedded.org/mt/86329821/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [PATCH 1/7] reproducible_build: Drop now unneeded compiler warning

2021-10-14 Thread Khem Raj
On Thu, Oct 14, 2021 at 2:48 PM Richard Purdie
 wrote:
>
> On Thu, 2021-10-14 at 09:36 -0700, Khem Raj wrote:
> >
> > On 10/14/21 5:10 AM, Richard Purdie wrote:
> > > We now pass compiler options that mean the compiler will adjust these 
> > > values to
> > > SOURCE_DATE_EPOCH, the compiler warnings are now unneeded.
> > >
> >
> > Is there a chance of it being overwritten by component's build system
> > in that case this warning may still be handy
>
> The warnings are basically lost as noise in the log.do_compile files so I'm 
> not
> sure it buys us anything...

>From system build POV perhaps right. This does seem helpful for folks
who are developing components using the project
and might be transitioning to use reproducible builds. Of course, they
can add the option to their project if that is important to them.
thirdly SOURCE_DATE_EPOCH is gcc specific and keeping it around helps
non-gcc ccmpilers too. But, I guess folks can always customize
so its fine if deleting it is solving some other problem.

>
> Cheers,
>
> Richard
>

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156980): 
https://lists.openembedded.org/g/openembedded-core/message/156980
Mute This Topic: https://lists.openembedded.org/mt/86310655/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH] piglit: upgrade to latest revision

2021-10-14 Thread Marek Vasut
Update piglit to latest git revision and update the branch name,
since the original one is no longer updated. Make sure the VK
tests are only enabled if VK is also enabled in PACKAGECONFIG,
and that this is opt-in, otherwise older systems fail to build.

Signed-off-by: Marek Vasut 
Cc: Anuj Mittal 
Cc: Richard Purdie 
---
 meta/recipes-graphics/piglit/piglit_git.bb | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-graphics/piglit/piglit_git.bb 
b/meta/recipes-graphics/piglit/piglit_git.bb
index 2e0dfeee42..4b515cc537 100644
--- a/meta/recipes-graphics/piglit/piglit_git.bb
+++ b/meta/recipes-graphics/piglit/piglit_git.bb
@@ -6,7 +6,7 @@ BUGTRACKER = 
"https://gitlab.freedesktop.org/mesa/piglit/-/issues";
 LICENSE = "MIT & LGPLv2+ & GPLv3 & GPLv2+ & BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://COPYING;md5=b2beded7103a3d8a442a2a0391d607b0"
 
-SRC_URI = "git://gitlab.freedesktop.org/mesa/piglit.git;protocol=https \
+SRC_URI = 
"git://gitlab.freedesktop.org/mesa/piglit.git;protocol=https;branch=main \
file://0001-cmake-install-bash-completions-in-the-right-place.patch 
\
file://0001-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch \
file://0001-Add-a-missing-include-for-htobe32-definition.patch \
@@ -18,7 +18,7 @@ SRC_URI = 
"git://gitlab.freedesktop.org/mesa/piglit.git;protocol=https \
"
 UPSTREAM_CHECK_COMMITS = "1"
 
-SRCREV = "6a4be9e9946df310d9402f995f371c7deb8c27ba"
+SRCREV = "014c9d09115e15f5a074457a753bf3a43173ef7f"
 # (when PV goes above 1.0 remove the trailing r)
 PV = "1.0+gitr${SRCPV}"
 
@@ -43,6 +43,7 @@ do_compile[dirs] =+ "${B}/temp/"
 PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
 PACKAGECONFIG[freeglut] = "-DPIGLIT_USE_GLUT=1,-DPIGLIT_USE_GLUT=0,freeglut,"
 PACKAGECONFIG[x11] = 
"-DPIGLIT_BUILD_GL_TESTS=ON,-DPIGLIT_BUILD_GL_TESTS=OFF,${X11_DEPS}, 
${X11_RDEPS}"
+PACKAGECONFIG[vulkan] = 
"-DPIGLIT_BUILD_VK_TESTS=ON,-DPIGLIT_BUILD_VK_TESTS=OFF,vulkan-loader"
 
 export PIGLIT_BUILD_DIR = "../../../../git"
 
-- 
2.33.0


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156979): 
https://lists.openembedded.org/g/openembedded-core/message/156979
Mute This Topic: https://lists.openembedded.org/mt/86326704/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH] oeqa: Update cleanup code to wait for hashserv exit

2021-10-14 Thread Richard Purdie
We sometimes see exceptions from code seeing the hashserv DB files
being removed at directory cleanup time. Add a check to ensure the
hashserv has written the data base journal (and hence likely exited)
before cleaning up.

This will hopefully avoid errors like:

Traceback (most recent call last):
  File "[...]/meta/lib/oeqa/sdk/buildtools-cases/build.py", line 30, in 
test_libc
delay = delay - 1
  File "/usr/lib/python3.6/tempfile.py", line 948, in __exit__
self.cleanup()
  File "/usr/lib/python3.6/tempfile.py", line 952, in cleanup
_rmtree(self.name)
  File "/usr/lib/python3.6/shutil.py", line 486, in rmtree
_rmtree_safe_fd(fd, path, onerror)
  File "/usr/lib/python3.6/shutil.py", line 424, in _rmtree_safe_fd
_rmtree_safe_fd(dirfd, fullname, onerror)
  File "/usr/lib/python3.6/shutil.py", line 444, in _rmtree_safe_fd
onerror(os.unlink, fullname, sys.exc_info())
  File "/usr/lib/python3.6/shutil.py", line 442, in _rmtree_safe_fd
os.unlink(name, dir_fd=topfd)
FileNotFoundError: [Errno 2] No such file or directory: 'hashserv.db-wal'

Signed-off-by: Richard Purdie 
---
 meta/lib/oeqa/sdk/buildtools-cases/build.py | 2 +-
 meta/lib/oeqa/selftest/cases/eSDK.py| 2 +-
 meta/lib/oeqa/selftest/context.py   | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/meta/lib/oeqa/sdk/buildtools-cases/build.py 
b/meta/lib/oeqa/sdk/buildtools-cases/build.py
index 9c9a84bf8a0..aee2e5a8c06 100644
--- a/meta/lib/oeqa/sdk/buildtools-cases/build.py
+++ b/meta/lib/oeqa/sdk/buildtools-cases/build.py
@@ -25,6 +25,6 @@ class BuildTests(OESDKTestCase):
 self._run('. %s/oe-init-build-env %s && bitbake virtual/libc' 
% (corebase, testdir))
 finally:
 delay = 10
-while delay and os.path.exists(testdir + "/bitbake.lock"):
+while delay and (os.path.exists(testdir + "/bitbake.lock") or 
os.path.exists(testdir + "/cache/hashserv.db-wal")):
 time.sleep(1)
 delay = delay - 1
diff --git a/meta/lib/oeqa/selftest/cases/eSDK.py 
b/meta/lib/oeqa/selftest/cases/eSDK.py
index 862849af35c..d0c402ba8a4 100644
--- a/meta/lib/oeqa/selftest/cases/eSDK.py
+++ b/meta/lib/oeqa/selftest/cases/eSDK.py
@@ -100,7 +100,7 @@ SSTATE_MIRRORS =  "file://.* file://%s/PATH"
 @classmethod
 def tearDownClass(cls):
 for i in range(0, 10):
-if os.path.exists(os.path.join(cls.tmpdir_eSDKQA, 'bitbake.lock')):
+if os.path.exists(os.path.join(cls.tmpdir_eSDKQA, 'bitbake.lock')) 
or os.path.exists(os.path.join(cls.tmpdir_eSDKQA, 'cache/hashserv.db-wal')):
 time.sleep(1)
 else:
 break
diff --git a/meta/lib/oeqa/selftest/context.py 
b/meta/lib/oeqa/selftest/context.py
index 16599269751..78c7a467e2f 100644
--- a/meta/lib/oeqa/selftest/context.py
+++ b/meta/lib/oeqa/selftest/context.py
@@ -39,7 +39,7 @@ class NonConcurrentTestSuite(unittest.TestSuite):
 
 def removebuilddir(d):
 delay = 5
-while delay and os.path.exists(d + "/bitbake.lock"):
+while delay and (os.path.exists(d + "/bitbake.lock") or os.path.exists(d + 
"/cache/hashserv.db-wal")):
 time.sleep(1)
 delay = delay - 1
 # Deleting these directories takes a lot of time, use autobuilder
-- 
2.32.0


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156978): 
https://lists.openembedded.org/g/openembedded-core/message/156978
Mute This Topic: https://lists.openembedded.org/mt/86326554/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH] mirrors.bbclass: remove dead infozip mirrors

2021-10-14 Thread Oleksandr Kravchuk
Signed-off-by: Oleksandr Kravchuk 
---
 meta/classes/mirrors.bbclass | 1 -
 1 file changed, 1 deletion(-)

diff --git a/meta/classes/mirrors.bbclass b/meta/classes/mirrors.bbclass
index ba325a658b..1afce92147 100644
--- a/meta/classes/mirrors.bbclass
+++ b/meta/classes/mirrors.bbclass
@@ -29,7 +29,6 @@ ftp://dante.ctan.org/tex-archive 
ftp://ftp.fu-berlin.de/tex/CTAN \n \
 ftp://dante.ctan.org/tex-archive http://sunsite.sut.ac.jp/pub/archives/ctan/ 
\n \
 ftp://dante.ctan.org/tex-archive http://ctan.unsw.edu.au/ \n \
 ftp://ftp.gnutls.org/gcrypt/gnutls ${GNUPG_MIRROR}/gnutls \n \
-http://ftp.info-zip.org/pub/infozip/src/ 
http://mirror.switch.ch/ftp/mirror/infozip/src/ \n \
 http://ftp.info-zip.org/pub/infozip/src/ 
ftp://sunsite.icm.edu.pl/pub/unix/archiving/info-zip/src/ \n \
 http://www.mirrorservice.org/sites/lsof.itap.purdue.edu/pub/tools/unix/lsof/ 
http://www.mirrorservice.org/sites/lsof.itap.purdue.edu/pub/tools/unix/lsof/OLD/
 \n \
 ${APACHE_MIRROR}  http://www.us.apache.org/dist \n \
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156977): 
https://lists.openembedded.org/g/openembedded-core/message/156977
Mute This Topic: https://lists.openembedded.org/mt/86325906/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [PATCH 1/7] reproducible_build: Drop now unneeded compiler warning

2021-10-14 Thread Richard Purdie
On Thu, 2021-10-14 at 09:36 -0700, Khem Raj wrote:
> 
> On 10/14/21 5:10 AM, Richard Purdie wrote:
> > We now pass compiler options that mean the compiler will adjust these 
> > values to
> > SOURCE_DATE_EPOCH, the compiler warnings are now unneeded.
> > 
> 
> Is there a chance of it being overwritten by component's build system
> in that case this warning may still be handy

The warnings are basically lost as noise in the log.do_compile files so I'm not
sure it buys us anything...

Cheers,

Richard


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156976): 
https://lists.openembedded.org/g/openembedded-core/message/156976
Mute This Topic: https://lists.openembedded.org/mt/86310655/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [PATCH v3 2/2] license: Allow treating missing license as error

2021-10-14 Thread Richard Purdie
On Thu, 2021-10-14 at 18:09 +0100, Mike Crowe wrote:
> On Thursday 14 October 2021 at 17:54:18 +0100, Richard Purdie wrote:
> > On Thu, 2021-10-14 at 17:42 +0100, Mike Crowe via lists.openembedded.org 
> > wrote:
> > > On Wednesday 13 October 2021 at 11:48:05 +0100, Mike Crowe wrote:
> > > > Use the same WARN_WA and ERROR_QA variables as insane.bbclass to allow
> > > > individual recipes, the distro or other configuration to determine
> > > > whether a missing licence should be treated as a warning (as it is now)
> > > > or as an error.
> > > > 
> > > > oe.qa.handle_error isn't immediately fatal, so track the overall sanity
> > > > state and call bb.fatal if required at the end to ensure that the task
> > > > really fails. If only bb.error is used then do_populate_lic isn't re-run
> > > > on subsequent builds which could lead to the error being missed.
> > > > 
> > > > It seems odd for the license- error classes to be listed in
> > > > insane.bbclass but implemented in license.bbclass. All recommendations
> > > > for somewhere else to put them gratefully received.
> 
> [snip]
> 
> > > Patch series v4 coming soon.
> > 
> > I did have to rework it a bit as I also ran into a few issues and was just
> > trying to get around to writing them up.
> > 
> > I added:
> > 
> > http://git.yoctoproject.org/cgit.cgi/poky/commit/?h=master-next&id=9e980f1a71e8b6af5ff6da9b02fac0f8bfd9d4fb
> > 
> > which means you can drop the imports.
> > 
> > You can use the nonlocal option to help the "sane" problem:
> > 
> > http://git.yoctoproject.org/cgit.cgi/poky/diff/meta/classes/license.bbclass?h=master-next&id=110fa545ac84e560691c7d9e0d1e6e8f70c66980
> > 
> > The autobuilder also shows issues as some of the functions you moved are
> > referenced in other classes. The patch became:
> > 
> > http://git.yoctoproject.org/cgit.cgi/poky/commit/?h=master-next&id=110fa545ac84e560691c7d9e0d1e6e8f70c66980
> 
> Thanks for doing that. I thought I'd searched for other occurrences, but I
> must have not done so properly. :(
> 
> > I was also just thinking we should probably add a new function and add 
> > calls at
> > the end of the tasks like:
> > 
> > oe.qa.exit_if_errors(d)
> > 
> > with a definition similar to:
> > 
> > def exit_if_errors(d):
> > qa_sane = d.getVar("QA_SANE")
> > if not qa_sane:
> > bb.fatal("Fatal QA errors were found.")
> > 
> > and then renaming QA_SANE to something like QA_FATAL_ERRORS and exitting if 
> > set.
> 
> That sounds like it would neaten things up greatly and avoid the risk of
> accidentally failing to make the error fatal. It ought to mean that many of 
> the sane local
> variables can be removed too.
> 
> Would you like me to provide new versions of the existing patches or add
> new patches on top of the ones already in master-next?

I had half a patch for this last bit so I pushed it into master-next. I also
merged by oe.qa import change.

I'm happy for you to take over from here and rework the patches into whatever
makes the best sense for a series now we know what we're aiming for? I think
there is a more cleanup of the "sane" variables that can be done beyond my quick
patch.

Cheers,

Richard


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156975): 
https://lists.openembedded.org/g/openembedded-core/message/156975
Mute This Topic: https://lists.openembedded.org/mt/86284884/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core][PATCH] scripts/autobuilder-worker-prereq-tests: jinja2 check

2021-10-14 Thread Richard Purdie
On Thu, 2021-10-14 at 10:55 -0700, Michael Halstead wrote:
> Ensure the jinja2 module is available during bringup.
> 
> Signed-off-by: Michael Halstead 
> ---
>  scripts/autobuilder-worker-prereq-tests | 5 +
>  1 file changed, 5 insertions(+)
> 
> diff --git a/scripts/autobuilder-worker-prereq-tests 
> b/scripts/autobuilder-worker-prereq-tests
> index 5d7e6e2601..82e9a77bd5 100755
> --- a/scripts/autobuilder-worker-prereq-tests
> +++ b/scripts/autobuilder-worker-prereq-tests
> @@ -35,6 +35,11 @@ if [ "$?" != "0" ]; then
>  echo "Please set git config --global user.email"
>  exit 1
>  fi
> +python3 -c "import jinja2"
> +if [ "$?" != "0" ]; then
> +echo "Please ensure jinja2 is available"
> +exit 1
> +fi
>  bitbake -p
>  if [ "$?" != "0" ]; then
>  echo "Bitbake parsing failed"

Looks good, thanks, I merged it. Should we cover rsync with a test too?

Cheers,

Richard


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156974): 
https://lists.openembedded.org/g/openembedded-core/message/156974
Mute This Topic: https://lists.openembedded.org/mt/86320755/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH 2/2] insane/qa: Improve and cleanup fatal error handling

2021-10-14 Thread Richard Purdie
Move the "exit with a fatal error" code into a common function
and also improve the confusing variable to something at least self
contained in the same code segment.

This will hopefully allow the insane code return value passing to be
cleaned up too.

Signed-off-by: Richard Purdie 
---
 meta/classes/insane.bbclass  | 27 ---
 meta/classes/package.bbclass |  4 +---
 meta/lib/oe/qa.py|  6 +-
 3 files changed, 14 insertions(+), 23 deletions(-)

diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass
index d34ed77faa7..62863e5b0ae 100644
--- a/meta/classes/insane.bbclass
+++ b/meta/classes/insane.bbclass
@@ -18,8 +18,6 @@
 #   files under exec_prefix
 #  -Check if the package name is upper case
 
-QA_SANE = "True"
-
 # Elect whether a given type of error is a warning or error, they may
 # have been set by other files.
 WARN_QA ?= " libdir xorg-driver-abi \
@@ -492,7 +490,6 @@ python populate_lic_qa_checksum() {
 """
 Check for changes in the license files.
 """
-sane = True
 
 lic_files = d.getVar('LIC_FILES_CHKSUM') or ''
 lic = d.getVar('LICENSE')
@@ -502,7 +499,7 @@ python populate_lic_qa_checksum() {
 return
 
 if not lic_files and d.getVar('SRC_URI'):
-sane &= oe.qa.handle_error("license-checksum", pn + ": Recipe file 
fetches files and does not have license file information (LIC_FILES_CHKSUM)", d)
+oe.qa.handle_error("license-checksum", pn + ": Recipe file fetches 
files and does not have license file information (LIC_FILES_CHKSUM)", d)
 
 srcdir = d.getVar('S')
 corebase_licensefile = d.getVar('COREBASE') + "/LICENSE"
@@ -510,11 +507,11 @@ python populate_lic_qa_checksum() {
 try:
 (type, host, path, user, pswd, parm) = bb.fetch.decodeurl(url)
 except bb.fetch.MalformedUrl:
-sane &= oe.qa.handle_error("license-checksum", pn + ": 
LIC_FILES_CHKSUM contains an invalid URL: " + url, d)
+oe.qa.handle_error("license-checksum", pn + ": LIC_FILES_CHKSUM 
contains an invalid URL: " + url, d)
 continue
 srclicfile = os.path.join(srcdir, path)
 if not os.path.isfile(srclicfile):
-sane &= oe.qa.handle_error("license-checksum", pn + ": 
LIC_FILES_CHKSUM points to an invalid file: " + srclicfile, d)
+oe.qa.handle_error("license-checksum", pn + ": LIC_FILES_CHKSUM 
points to an invalid file: " + srclicfile, d)
 continue
 
 if (srclicfile == corebase_licensefile):
@@ -582,10 +579,9 @@ python populate_lic_qa_checksum() {
 else:
 msg = pn + ": LIC_FILES_CHKSUM is not specified for " +  url
 msg = msg + "\n" + pn + ": The md5 checksum is " + md5chksum
-sane &= oe.qa.handle_error("license-checksum", msg, d)
+oe.qa.handle_error("license-checksum", msg, d)
 
-if not sane:
-bb.fatal("Fatal QA errors found, failing task.")
+oe.qa.exit_if_errors(d)
 }
 
 def qa_check_staged(path,d):
@@ -1067,9 +1063,7 @@ python do_package_qa () {
 if 'libdir' in d.getVar("ALL_QA").split():
 package_qa_check_libdir(d)
 
-qa_sane = d.getVar("QA_SANE")
-if not qa_sane:
-bb.fatal("QA run found fatal errors. Please consider fixing them.")
+oe.qa.exit_if_errors(d)
 bb.note("DONE with PACKAGE QA")
 }
 
@@ -1241,9 +1235,7 @@ Rerun configure task after fixing this."""
 error_msg = "%s: invalid PACKAGECONFIG: %s" % (pn, pconfig)
 oe.qa.handle_error("invalid-packageconfig", error_msg, d)
 
-qa_sane = d.getVar("QA_SANE")
-if not qa_sane:
-bb.fatal("Fatal QA errors found, failing task.")
+oe.qa.exit_if_errors(d)
 }
 
 python do_qa_unpack() {
@@ -1352,8 +1344,5 @@ python () {
 oe.qa.handle_error("native-last", "%s: native/nativesdk 
class is not inherited last, this can result in unexpected behaviour. "
  "Classes inherited after 
native/nativesdk: %s" % (pn, " ".join(broken_order)), d)
 
-
-qa_sane = d.getVar("QA_SANE")
-if not qa_sane:
-bb.fatal("Fatal QA errors found, failing task.")
+oe.qa.exit_if_errors(d)
 }
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index 414dcab02de..92eba988929 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -2453,9 +2453,7 @@ python do_package () {
 for f in (d.getVar('PACKAGEFUNCS') or '').split():
 bb.build.exec_func(f, d)
 
-qa_sane = d.getVar("QA_SANE")
-if not qa_sane:
-bb.fatal("Fatal QA errors found, failing task.")
+oe.qa.exit_if_errors(d)
 }
 
 do_package[dirs] = "${SHLIBSWORKDIR} ${PKGDESTWORK} ${D}"
diff --git a/meta/lib/oe/qa.py b/meta/lib/oe/qa.py
index c198e3597cb..69e5e9c32bf 100644
--- a/meta/lib/oe/qa.py
+++ b/meta/lib/oe/qa.py
@@ -182,7 +182,7 @@ def handle_error(error_class, error_msg, d):
 if error_class in (d.getVar("ERROR_QA") 

[OE-core] [PATCH 1/2] kernel: Rework kernel make flag to variable mappings

2021-10-14 Thread Richard Purdie
In 2017 we added changes to pass the BUILD_CFLAGS into the kernel
via BUILD_CC. This isn't really correct and the upstream kernel now has
places to pass build cflags, ldflags and more. Update our kernel
make flags to correctly use the kernel's variables. This addresses
concerns raised by kernel developers.

If this breaks some usecase please report it so we can work out how
to fix it properly.

Signed-off-by: Richard Purdie 
---
 meta/classes/kernel.bbclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
index 5faa302a165..23eed699b57 100644
--- a/meta/classes/kernel.bbclass
+++ b/meta/classes/kernel.bbclass
@@ -226,8 +226,8 @@ UBOOT_LOADADDRESS ?= "${UBOOT_ENTRYPOINT}"
 # Some Linux kernel configurations need additional parameters on the command 
line
 KERNEL_EXTRA_ARGS ?= ""
 
-EXTRA_OEMAKE = " HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" 
HOSTCPP="${BUILD_CPP}""
-EXTRA_OEMAKE += " HOSTCXX="${BUILD_CXX} ${BUILD_CXXFLAGS} ${BUILD_LDFLAGS}""
+EXTRA_OEMAKE = " HOSTCC="${BUILD_CC}" HOSTCFLAGS="${BUILD_CFLAGS}" 
HOST_LDFLAGS="${BUILD_LDFLAGS}" HOSTCPP="${BUILD_CPP}""
+EXTRA_OEMAKE += " HOSTCXX="${BUILD_CXX}" HOSTCXXFLAGS="${BUILD_CXXFLAGS}""
 
 KERNEL_ALT_IMAGETYPE ??= ""
 
-- 
2.32.0


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156972): 
https://lists.openembedded.org/g/openembedded-core/message/156972
Mute This Topic: https://lists.openembedded.org/mt/86324180/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [PATCH v3 2/2] license: Allow treating missing license as error

2021-10-14 Thread Richard Purdie
On Thu, 2021-10-14 at 18:09 +0100, Mike Crowe wrote:
> On Thursday 14 October 2021 at 17:54:18 +0100, Richard Purdie wrote:
> > On Thu, 2021-10-14 at 17:42 +0100, Mike Crowe via lists.openembedded.org 
> > wrote:
> > > On Wednesday 13 October 2021 at 11:48:05 +0100, Mike Crowe wrote:
> > > > Use the same WARN_WA and ERROR_QA variables as insane.bbclass to allow
> > > > individual recipes, the distro or other configuration to determine
> > > > whether a missing licence should be treated as a warning (as it is now)
> > > > or as an error.
> > > > 
> > > > oe.qa.handle_error isn't immediately fatal, so track the overall sanity
> > > > state and call bb.fatal if required at the end to ensure that the task
> > > > really fails. If only bb.error is used then do_populate_lic isn't re-run
> > > > on subsequent builds which could lead to the error being missed.
> > > > 
> > > > It seems odd for the license- error classes to be listed in
> > > > insane.bbclass but implemented in license.bbclass. All recommendations
> > > > for somewhere else to put them gratefully received.
> 
> [snip]
> 
> > > Patch series v4 coming soon.
> > 
> > I did have to rework it a bit as I also ran into a few issues and was just
> > trying to get around to writing them up.
> > 
> > I added:
> > 
> > http://git.yoctoproject.org/cgit.cgi/poky/commit/?h=master-next&id=9e980f1a71e8b6af5ff6da9b02fac0f8bfd9d4fb
> > 
> > which means you can drop the imports.
> > 
> > You can use the nonlocal option to help the "sane" problem:
> > 
> > http://git.yoctoproject.org/cgit.cgi/poky/diff/meta/classes/license.bbclass?h=master-next&id=110fa545ac84e560691c7d9e0d1e6e8f70c66980
> > 
> > The autobuilder also shows issues as some of the functions you moved are
> > referenced in other classes. The patch became:
> > 
> > http://git.yoctoproject.org/cgit.cgi/poky/commit/?h=master-next&id=110fa545ac84e560691c7d9e0d1e6e8f70c66980
> 
> Thanks for doing that. I thought I'd searched for other occurrences, but I
> must have not done so properly. :(
> 
> > I was also just thinking we should probably add a new function and add 
> > calls at
> > the end of the tasks like:
> > 
> > oe.qa.exit_if_errors(d)
> > 
> > with a definition similar to:
> > 
> > def exit_if_errors(d):
> > qa_sane = d.getVar("QA_SANE")
> > if not qa_sane:
> > bb.fatal("Fatal QA errors were found.")
> > 
> > and then renaming QA_SANE to something like QA_FATAL_ERRORS and exitting if 
> > set.
> 
> That sounds like it would neaten things up greatly and avoid the risk of
> accidentally failing to make the error fatal. It ought to mean that many of 
> the sane local
> variables can be removed too.
> 
> Would you like me to provide new versions of the existing patches or add
> new patches on top of the ones already in master-next?

I think a new series I can replace the patches in master-next with would be good
please!

Cheers,

Richard


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156971): 
https://lists.openembedded.org/g/openembedded-core/message/156971
Mute This Topic: https://lists.openembedded.org/mt/86284884/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core][PATCH] scripts/autobuilder-worker-prereq-tests: jinja2 check

2021-10-14 Thread Michael Halstead
Ensure the jinja2 module is available during bringup.

Signed-off-by: Michael Halstead 
---
 scripts/autobuilder-worker-prereq-tests | 5 +
 1 file changed, 5 insertions(+)

diff --git a/scripts/autobuilder-worker-prereq-tests 
b/scripts/autobuilder-worker-prereq-tests
index 5d7e6e2601..82e9a77bd5 100755
--- a/scripts/autobuilder-worker-prereq-tests
+++ b/scripts/autobuilder-worker-prereq-tests
@@ -35,6 +35,11 @@ if [ "$?" != "0" ]; then
 echo "Please set git config --global user.email"
 exit 1
 fi
+python3 -c "import jinja2"
+if [ "$?" != "0" ]; then
+echo "Please ensure jinja2 is available"
+exit 1
+fi
 bitbake -p
 if [ "$?" != "0" ]; then
 echo "Bitbake parsing failed"
-- 
2.31.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156970): 
https://lists.openembedded.org/g/openembedded-core/message/156970
Mute This Topic: https://lists.openembedded.org/mt/86320755/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] libpsl: Add config knobs for runtime/builtin conversion choices

2021-10-14 Thread Steve Sakoman
On Wed, Oct 13, 2021 at 9:14 AM Valek, Andrej  wrote:

> Would it be possible to include this commit
> https://lists.openembedded.org/g/openembedded-core/message/150627 into
> dunfell branch?

At first glance this seems to change the default behavior. Perhaps a
version of the patch that adds the knobs but keeps the same behavior?

I may be mistaken since I'm not really familiar with this package, so
would love input from those who are!

Steve

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156969): 
https://lists.openembedded.org/g/openembedded-core/message/156969
Mute This Topic: https://lists.openembedded.org/mt/86296104/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [PATCH v3 2/2] license: Allow treating missing license as error

2021-10-14 Thread Mike Crowe via lists.openembedded.org
On Thursday 14 October 2021 at 17:54:18 +0100, Richard Purdie wrote:
> On Thu, 2021-10-14 at 17:42 +0100, Mike Crowe via lists.openembedded.org 
> wrote:
> > On Wednesday 13 October 2021 at 11:48:05 +0100, Mike Crowe wrote:
> > > Use the same WARN_WA and ERROR_QA variables as insane.bbclass to allow
> > > individual recipes, the distro or other configuration to determine
> > > whether a missing licence should be treated as a warning (as it is now)
> > > or as an error.
> > > 
> > > oe.qa.handle_error isn't immediately fatal, so track the overall sanity
> > > state and call bb.fatal if required at the end to ensure that the task
> > > really fails. If only bb.error is used then do_populate_lic isn't re-run
> > > on subsequent builds which could lead to the error being missed.
> > > 
> > > It seems odd for the license- error classes to be listed in
> > > insane.bbclass but implemented in license.bbclass. All recommendations
> > > for somewhere else to put them gratefully received.

[snip]

> > Patch series v4 coming soon.
> 
> I did have to rework it a bit as I also ran into a few issues and was just
> trying to get around to writing them up.
> 
> I added:
> 
> http://git.yoctoproject.org/cgit.cgi/poky/commit/?h=master-next&id=9e980f1a71e8b6af5ff6da9b02fac0f8bfd9d4fb
> 
> which means you can drop the imports.
> 
> You can use the nonlocal option to help the "sane" problem:
> 
> http://git.yoctoproject.org/cgit.cgi/poky/diff/meta/classes/license.bbclass?h=master-next&id=110fa545ac84e560691c7d9e0d1e6e8f70c66980
> 
> The autobuilder also shows issues as some of the functions you moved are
> referenced in other classes. The patch became:
> 
> http://git.yoctoproject.org/cgit.cgi/poky/commit/?h=master-next&id=110fa545ac84e560691c7d9e0d1e6e8f70c66980

Thanks for doing that. I thought I'd searched for other occurrences, but I
must have not done so properly. :(

> I was also just thinking we should probably add a new function and add calls 
> at
> the end of the tasks like:
> 
> oe.qa.exit_if_errors(d)
> 
> with a definition similar to:
> 
> def exit_if_errors(d):
> qa_sane = d.getVar("QA_SANE")
> if not qa_sane:
> bb.fatal("Fatal QA errors were found.")
> 
> and then renaming QA_SANE to something like QA_FATAL_ERRORS and exitting if 
> set.

That sounds like it would neaten things up greatly and avoid the risk of
accidentally failing to make the error fatal. It ought to mean that many of the 
sane local
variables can be removed too.

Would you like me to provide new versions of the existing patches or add
new patches on top of the ones already in master-next?

Thanks.

Mike.

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156968): 
https://lists.openembedded.org/g/openembedded-core/message/156968
Mute This Topic: https://lists.openembedded.org/mt/86284884/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [PATCH v3 2/2] license: Allow treating missing license as error

2021-10-14 Thread Richard Purdie
On Thu, 2021-10-14 at 17:42 +0100, Mike Crowe via lists.openembedded.org wrote:
> On Wednesday 13 October 2021 at 11:48:05 +0100, Mike Crowe wrote:
> > Use the same WARN_WA and ERROR_QA variables as insane.bbclass to allow
> > individual recipes, the distro or other configuration to determine
> > whether a missing licence should be treated as a warning (as it is now)
> > or as an error.
> > 
> > oe.qa.handle_error isn't immediately fatal, so track the overall sanity
> > state and call bb.fatal if required at the end to ensure that the task
> > really fails. If only bb.error is used then do_populate_lic isn't re-run
> > on subsequent builds which could lead to the error being missed.
> > 
> > It seems odd for the license- error classes to be listed in
> > insane.bbclass but implemented in license.bbclass. All recommendations
> > for somewhere else to put them gratefully received.
> > 
> > Signed-off-by: Mike Crowe 
> > ---
> >  meta/classes/insane.bbclass  |  1 +
> >  meta/classes/license.bbclass | 27 ---
> >  2 files changed, 21 insertions(+), 7 deletions(-)
> > 
> > diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass
> > index 895216d3e8..57456c99ad 100644
> > --- a/meta/classes/insane.bbclass
> > +++ b/meta/classes/insane.bbclass
> > @@ -28,6 +28,7 @@ WARN_QA ?= " libdir xorg-driver-abi \
> >  invalid-packageconfig host-user-contaminated uppercase-pn 
> > patch-fuzz \
> >  mime mime-xdg unlisted-pkg-lics unhandled-features-check \
> >  missing-update-alternatives native-last missing-ptest \
> > +license-exists license-no-generic license-syntax 
> > license-format \
> >  "
> >  ERROR_QA ?= "dev-so debug-deps dev-deps debug-files arch pkgconfig la \
> >  perms dep-cmp pkgvarcheck perm-config perm-line perm-link \
> > diff --git a/meta/classes/license.bbclass b/meta/classes/license.bbclass
> > index 45d912741d..6bbb71392e 100644
> > --- a/meta/classes/license.bbclass
> > +++ b/meta/classes/license.bbclass
> > @@ -112,6 +112,7 @@ def find_license_files(d):
> >  import oe.license
> >  from collections import defaultdict, OrderedDict
> >  
> > +sane = True
> >  # All the license files for the package
> >  lic_files = d.getVar('LIC_FILES_CHKSUM') or ""
> >  pn = d.getVar('PN')
> > @@ -146,6 +147,7 @@ def find_license_files(d):
> >  self.generic_visit(node)
> >  
> >  def find_license(license_type):
> > +import oe.qa
> 
> There's a "sane = True" missing here.
> 
> >  try:
> >  bb.utils.mkdirhier(gen_lic_dest)
> >  except:
> > @@ -178,7 +180,8 @@ def find_license_files(d):
> >  # The user may attempt to use NO_GENERIC_LICENSE for a generic 
> > license which doesn't make sense
> >  # and should not be allowed, warn the user in this case.
> >  if d.getVarFlag('NO_GENERIC_LICENSE', license_type):
> > -bb.warn("%s: %s is a generic license, please don't use 
> > NO_GENERIC_LICENSE for it." % (pn, license_type))
> > +sane &= oe.qa.handle_error("license-no-generic",
> > +"%s: %s is a generic license, please don't use 
> > NO_GENERIC_LICENSE for it." % (pn, license_type), d)
> >  
> >  elif non_generic_lic and non_generic_lic in lic_chksums:
> >  # if NO_GENERIC_LICENSE is set, we copy the license files from 
> > the fetched source
> > @@ -190,7 +193,8 @@ def find_license_files(d):
> >  # Add explicity avoid of CLOSED license because this isn't 
> > generic
> >  if license_type != 'CLOSED':
> >  # And here is where we warn people that their licenses are 
> > lousy
> > -bb.warn("%s: No generic license file exists for: %s in any 
> > provider" % (pn, license_type))
> > +sane &= oe.qa.handle_error("license-exists",
> > +"%s: No generic license file exists for: %s in any 
> > provider" % (pn, license_type), d)
> >  pass
> 
> and a check for not sane missing here.
> 
> >  
> >  if not generic_directory:
> > @@ -215,7 +219,8 @@ def find_license_files(d):
> >  except oe.license.InvalidLicense as exc:
> >  bb.fatal('%s: %s' % (d.getVar('PF'), exc))
> >  except SyntaxError:
> > -bb.warn("%s: Failed to parse it's LICENSE field." % 
> > (d.getVar('PF')))
> > +sane &= oe.qa.handle_error("license-syntax",
> > +"%s: Failed to parse it's LICENSE field." % (d.getVar('PF')), 
> > d)
> >  # Add files from LIC_FILES_CHKSUM to list of license files
> >  lic_chksum_paths = defaultdict(OrderedDict)
> >  for path, data in sorted(lic_chksums.items()):
> > @@ -233,6 +238,8 @@ def find_license_files(d):
> >  for i, data in enumerate(files.values()):
> >  lic_files_paths.append(tuple(["%s.%d" % (basename, i)] + 
> > list(data)))
> >  
> > +if not sane:
> > +   

Re: [OE-core] Installing licence files for static/header-only libraries into images

2021-10-14 Thread Mike Crowe via lists.openembedded.org
On Wednesday 13 October 2021 at 13:32:03 -0700, Khem Raj wrote:
> On Wed, Oct 13, 2021 at 7:06 AM Mike Crowe via lists.openembedded.org  mcrowe@lists.openembedded.org> wrote:
> 
> > We're using:
> >
> >  EXTRA_IMAGE_FEATURES += "lic-pkgs"
> >
> > to install the corresponding licence packages for all the packages
> > installed in our image. This works very well for binaries and dynamic
> > libraries. However, I've recently noticed that it doesn't install licence
> > files for any static or header-only libraries used during the build.
> >
> > The corresponding -lic packages are built for such packages, but nothing
> > causes them to be installed since they are not runtime dependencies of
> > anything that is installed.
> >
> > I thought that I could solve this problem by something like:
> >
> > def lic_deps(d):
> > deps = []
> > for f in d.getVar('DEPENDS').split():
> > if not f.endswith("-native") and not f.startswith("virtual/"):
> > deps.append(f + "-lic")
> > return ' '.join(deps)
> 
> 
> It will work but in some cases it will be do more than what’s needed
> Build time dependencies are not necessarily also runtime dependencies eg it
> could be using a tool from that package during build

Yes. I was attempting to avoid that to a certain extent by excluding
-native packages.

> > RDEPENDS_${PN}-lic += "${@lic_deps(d)}"
> >
> > but this fails for recipes that use PROVIDES or other shenanigans which
> > means that just appending -lic to whatever is in DEPENDS is insufficient.
> >
> > For the time being I can add the required packages by hand, but this is
> > brittle in the longer term.
> >
> > Is there a better way to solve this problem?

The deficiencies in this solution made me hope that there was a better one.
It doesn't sound like there is. :(

Thanks.

Mike.

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156966): 
https://lists.openembedded.org/g/openembedded-core/message/156966
Mute This Topic: https://lists.openembedded.org/mt/86288556/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [PATCH v3 2/2] license: Allow treating missing license as error

2021-10-14 Thread Mike Crowe via lists.openembedded.org
On Wednesday 13 October 2021 at 11:48:05 +0100, Mike Crowe wrote:
> Use the same WARN_WA and ERROR_QA variables as insane.bbclass to allow
> individual recipes, the distro or other configuration to determine
> whether a missing licence should be treated as a warning (as it is now)
> or as an error.
> 
> oe.qa.handle_error isn't immediately fatal, so track the overall sanity
> state and call bb.fatal if required at the end to ensure that the task
> really fails. If only bb.error is used then do_populate_lic isn't re-run
> on subsequent builds which could lead to the error being missed.
> 
> It seems odd for the license- error classes to be listed in
> insane.bbclass but implemented in license.bbclass. All recommendations
> for somewhere else to put them gratefully received.
> 
> Signed-off-by: Mike Crowe 
> ---
>  meta/classes/insane.bbclass  |  1 +
>  meta/classes/license.bbclass | 27 ---
>  2 files changed, 21 insertions(+), 7 deletions(-)
> 
> diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass
> index 895216d3e8..57456c99ad 100644
> --- a/meta/classes/insane.bbclass
> +++ b/meta/classes/insane.bbclass
> @@ -28,6 +28,7 @@ WARN_QA ?= " libdir xorg-driver-abi \
>  invalid-packageconfig host-user-contaminated uppercase-pn 
> patch-fuzz \
>  mime mime-xdg unlisted-pkg-lics unhandled-features-check \
>  missing-update-alternatives native-last missing-ptest \
> +license-exists license-no-generic license-syntax license-format \
>  "
>  ERROR_QA ?= "dev-so debug-deps dev-deps debug-files arch pkgconfig la \
>  perms dep-cmp pkgvarcheck perm-config perm-line perm-link \
> diff --git a/meta/classes/license.bbclass b/meta/classes/license.bbclass
> index 45d912741d..6bbb71392e 100644
> --- a/meta/classes/license.bbclass
> +++ b/meta/classes/license.bbclass
> @@ -112,6 +112,7 @@ def find_license_files(d):
>  import oe.license
>  from collections import defaultdict, OrderedDict
>  
> +sane = True
>  # All the license files for the package
>  lic_files = d.getVar('LIC_FILES_CHKSUM') or ""
>  pn = d.getVar('PN')
> @@ -146,6 +147,7 @@ def find_license_files(d):
>  self.generic_visit(node)
>  
>  def find_license(license_type):
> +import oe.qa

There's a "sane = True" missing here.

>  try:
>  bb.utils.mkdirhier(gen_lic_dest)
>  except:
> @@ -178,7 +180,8 @@ def find_license_files(d):
>  # The user may attempt to use NO_GENERIC_LICENSE for a generic 
> license which doesn't make sense
>  # and should not be allowed, warn the user in this case.
>  if d.getVarFlag('NO_GENERIC_LICENSE', license_type):
> -bb.warn("%s: %s is a generic license, please don't use 
> NO_GENERIC_LICENSE for it." % (pn, license_type))
> +sane &= oe.qa.handle_error("license-no-generic",
> +"%s: %s is a generic license, please don't use 
> NO_GENERIC_LICENSE for it." % (pn, license_type), d)
>  
>  elif non_generic_lic and non_generic_lic in lic_chksums:
>  # if NO_GENERIC_LICENSE is set, we copy the license files from 
> the fetched source
> @@ -190,7 +193,8 @@ def find_license_files(d):
>  # Add explicity avoid of CLOSED license because this isn't 
> generic
>  if license_type != 'CLOSED':
>  # And here is where we warn people that their licenses are 
> lousy
> -bb.warn("%s: No generic license file exists for: %s in any 
> provider" % (pn, license_type))
> +sane &= oe.qa.handle_error("license-exists",
> +"%s: No generic license file exists for: %s in any 
> provider" % (pn, license_type), d)
>  pass

and a check for not sane missing here.

>  
>  if not generic_directory:
> @@ -215,7 +219,8 @@ def find_license_files(d):
>  except oe.license.InvalidLicense as exc:
>  bb.fatal('%s: %s' % (d.getVar('PF'), exc))
>  except SyntaxError:
> -bb.warn("%s: Failed to parse it's LICENSE field." % (d.getVar('PF')))
> +sane &= oe.qa.handle_error("license-syntax",
> +"%s: Failed to parse it's LICENSE field." % (d.getVar('PF')), d)
>  # Add files from LIC_FILES_CHKSUM to list of license files
>  lic_chksum_paths = defaultdict(OrderedDict)
>  for path, data in sorted(lic_chksums.items()):
> @@ -233,6 +238,8 @@ def find_license_files(d):
>  for i, data in enumerate(files.values()):
>  lic_files_paths.append(tuple(["%s.%d" % (basename, i)] + 
> list(data)))
>  
> +if not sane:
> +bb.fatal("Fatal QA errors found, failing task.")
>  return lic_files_paths
>  
>  def return_spdx(d, license):
> @@ -398,6 +405,8 @@ def check_license_format(d):
>  Validate operators in LICENSES.
>  No spaces are allowed between LICENSES.
>  """
> +import oe.qa
> +sa

Re: [OE-core] [PATCH 1/7] reproducible_build: Drop now unneeded compiler warning

2021-10-14 Thread Khem Raj



On 10/14/21 5:10 AM, Richard Purdie wrote:

We now pass compiler options that mean the compiler will adjust these values to
SOURCE_DATE_EPOCH, the compiler warnings are now unneeded.



Is there a chance of it being overwritten by component's build system
in that case this warning may still be handy


Signed-off-by: Richard Purdie 
---
  meta/classes/reproducible_build.bbclass | 3 ---
  1 file changed, 3 deletions(-)

diff --git a/meta/classes/reproducible_build.bbclass 
b/meta/classes/reproducible_build.bbclass
index 7571c116c82..fd90d771d2b 100644
--- a/meta/classes/reproducible_build.bbclass
+++ b/meta/classes/reproducible_build.bbclass
@@ -58,9 +58,6 @@ SDE_DIR = "${WORKDIR}/source-date-epoch"
  SDE_FILE = "${SDE_DIR}/__source_date_epoch.txt"
  SDE_DEPLOYDIR = "${WORKDIR}/deploy-source-date-epoch"
  
-# Enable compiler warning when the __TIME__, __DATE__ and __TIMESTAMP__ macros are used.

-TARGET_CC_ARCH:append:class-target = " -Wdate-time"
-
  # A SOURCE_DATE_EPOCH of '0' might be misinterpreted as no SDE
  export SOURCE_DATE_EPOCH_FALLBACK ??= "1302044400"
  







-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156964): 
https://lists.openembedded.org/g/openembedded-core/message/156964
Mute This Topic: https://lists.openembedded.org/mt/86310655/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH 1/2] oe/utils: log exceptions in ThreadedWorker functions

2021-10-14 Thread Ross Burton
If the function a ThreadedWorker is executing raises an exception, don't
use print() as that mostly disappears.  Instead, output it to the logger.

This is done using bb.mainlogger.debug directly instead of bb.debug() as
this allows us to pass the exception instance directly, which is then
incorporated into the log stream.

Signed-off-by: Ross Burton 
---
 meta/lib/oe/utils.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/meta/lib/oe/utils.py b/meta/lib/oe/utils.py
index 238af314d1..cf65639647 100644
--- a/meta/lib/oe/utils.py
+++ b/meta/lib/oe/utils.py
@@ -508,7 +508,8 @@ class ThreadedWorker(Thread):
 try:
 func(self, *args, **kargs)
 except Exception as e:
-print(e)
+# Eat all exceptions
+bb.mainlogger.debug("Worker task raised %s" % e, exc_info=e)
 finally:
 self.tasks.task_done()
 
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156962): 
https://lists.openembedded.org/g/openembedded-core/message/156962
Mute This Topic: https://lists.openembedded.org/mt/86318529/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH 2/2] sstate: don't silently handle all exceptions in sstate_checkhashes

2021-10-14 Thread Ross Burton
If checkstatus returns an exception we should silently handle
FetchError, as this means the fetch failed for 'normal' reasons such as
file not found.  However, other exceptions may be raised, and these
should be made visible.

Signed-off-by: Ross Burton 
---
 meta/classes/sstate.bbclass | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index 701a19bc61..143819b898 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes/sstate.bbclass
@@ -983,10 +983,11 @@ def sstate_checkhashes(sq_data, d, siginfo=False, 
currentcount=0, summary=True,
 foundNet.add(tid)
 if tid in missed:
 missed.remove(tid)
-except:
+except bb.fetch2.FetchError as e:
 missed.add(tid)
-bb.debug(2, "SState: Unsuccessful fetch test for %s" % srcuri)
-pass
+bb.debug(2, "SState: Unsuccessful fetch test for %s (%s)" % 
(srcuri, e))
+except Exception as e:
+bb.error("SState: cannot test %s: %s" % (srcuri, e))
 if len(tasklist) >= min_tasks:
 bb.event.fire(bb.event.ProcessProgress(msg, len(tasklist) - 
thread_worker.tasks.qsize()), d)
 
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156963): 
https://lists.openembedded.org/g/openembedded-core/message/156963
Mute This Topic: https://lists.openembedded.org/mt/86318531/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [PATCH 7/7] reproducible: Drop BUILD_REPRODUCIBLE_BINARIES variable

2021-10-14 Thread Richard Purdie
On Thu, 2021-10-14 at 09:46 -0400, Bruce Ashfield wrote:
> On Thu, Oct 14, 2021 at 9:45 AM Alexandre Belloni
>  wrote:
> > 
> > On 14/10/2021 08:38:46-0400, Bruce Ashfield wrote:
> > > On Thu, Oct 14, 2021 at 8:32 AM Richard Purdie
> > >  wrote:
> > > > 
> > > > On Thu, 2021-10-14 at 08:28 -0400, Bruce Ashfield wrote:
> > > > > On Thu, Oct 14, 2021 at 8:10 AM Richard Purdie
> > > > >  wrote:
> > > > > > 
> > > > > > We want things to be reproduicble and the variable doesn't really 
> > > > > > change
> > > > > > much any more. Drop the remaining uses and make those code paths 
> > > > > > always
> > > > > > active.
> > > > > 
> > > > > It wasn't clear to me from reading the patch.  What is the way that
> > > > > someone would now get the current timestamp into a kernel build, if
> > > > > that's the behaviour that they want ?
> > > > 
> > > > With this change they probably don't get the option. If we want that to 
> > > > be
> > > > configurable, we should probably move the control to a different 
> > > > variable which
> > > > is focused specifically on the kernel. The hardest bit is probably 
> > > > picking a
> > > > name!
> > > 
> > > This is probably the most surprising feature of reproducibility for
> > > kernel developers, and a question that I've gotten multiple times
> > > ("what happened to my timestamp ?" followed by "how do I turn this
> > > off?")
> > > 
> > > Most kernel developers already don't really like the "yocto workflow",
> > > and this adds another element in that category. It is common in a
> > > debug scenario to check the timestamp of the running kernel to make
> > > sure that you've actually booted the one you just built.
> > > 
> > 
> > But do kernel developers actually do their development using YP?
> > I definitively not. I do all my BSP work outside of any build system and
> > then I finally integrate everything once this is working/ready.
> 
> Many do, yup!

I've sent out a new version of this patch with an additional one which gives
people a setting to control the timestamp for the kernel.

Cheers,

Richard


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156961): 
https://lists.openembedded.org/g/openembedded-core/message/156961
Mute This Topic: https://lists.openembedded.org/mt/86310659/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [PATCH] linux-yocto: add libmpc-native to DEPENDS

2021-10-14 Thread Ross Burton
On Thu, 14 Oct 2021 at 10:21, Andrey Zhizhikin  wrote:
> It seems that GCC plugins are somehow disabled in SDK GCC, but Kernel
> build system checks them on the host, which does provide them. This
> leads to a false identification that plugins are enabled and leads to
> further build failures.
>
> This behavior came with commit 1e860048c53e ("gcc-plugins: simplify
> GCC plugin-dev capability test"), where previously build system ran an
> internal script to verify if plugins are present by running compile
> tests, but after this commit - it checks only if the folder containing
> plugins is there. This leads to the issue that when host GCC has the
> folder - plugins are enabled, but when later the compile pass is taken
> - it fails since the .so is not present in the SDK sysroot.

Urgh.

Can you provide a minimal reproducer for this?

Ross

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156960): 
https://lists.openembedded.org/g/openembedded-core/message/156960
Mute This Topic: https://lists.openembedded.org/mt/86092630/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [PATCH 7/7] reproducible: Drop BUILD_REPRODUCIBLE_BINARIES variable

2021-10-14 Thread Bruce Ashfield
On Thu, Oct 14, 2021 at 9:45 AM Alexandre Belloni
 wrote:
>
> On 14/10/2021 08:38:46-0400, Bruce Ashfield wrote:
> > On Thu, Oct 14, 2021 at 8:32 AM Richard Purdie
> >  wrote:
> > >
> > > On Thu, 2021-10-14 at 08:28 -0400, Bruce Ashfield wrote:
> > > > On Thu, Oct 14, 2021 at 8:10 AM Richard Purdie
> > > >  wrote:
> > > > >
> > > > > We want things to be reproduicble and the variable doesn't really 
> > > > > change
> > > > > much any more. Drop the remaining uses and make those code paths 
> > > > > always
> > > > > active.
> > > >
> > > > It wasn't clear to me from reading the patch.  What is the way that
> > > > someone would now get the current timestamp into a kernel build, if
> > > > that's the behaviour that they want ?
> > >
> > > With this change they probably don't get the option. If we want that to be
> > > configurable, we should probably move the control to a different variable 
> > > which
> > > is focused specifically on the kernel. The hardest bit is probably 
> > > picking a
> > > name!
> >
> > This is probably the most surprising feature of reproducibility for
> > kernel developers, and a question that I've gotten multiple times
> > ("what happened to my timestamp ?" followed by "how do I turn this
> > off?")
> >
> > Most kernel developers already don't really like the "yocto workflow",
> > and this adds another element in that category. It is common in a
> > debug scenario to check the timestamp of the running kernel to make
> > sure that you've actually booted the one you just built.
> >
>
> But do kernel developers actually do their development using YP?
> I definitively not. I do all my BSP work outside of any build system and
> then I finally integrate everything once this is working/ready.

Many do, yup!

Bruce

>
> It did indeed surprise me the first time I saw that but this doesn't
> have any actual effect on my workflow. Also, the issue was already
> existing if what you were trying to build was already in the sstate
> cache (e.G from a nightly build), it would contain the time of the
> actual build.
>
>
> --
> Alexandre Belloni, co-owner and COO, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com



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

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156959): 
https://lists.openembedded.org/g/openembedded-core/message/156959
Mute This Topic: https://lists.openembedded.org/mt/86310659/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [PATCH 1/2 v2] kernel: Add KERNEL_DEBUG_TIMESTAMPS variable

2021-10-14 Thread Bruce Ashfield
On Thu, Oct 14, 2021 at 9:40 AM Richard Purdie
 wrote:
>
> Change the "binary reproducibility" configuration within the kernel to
> work off a separate variable, defaulting to reproducible builds.
>
> This allows kernel developers wanting timestamps in their images to enable
> it easily and clearly without changing the rest of the reproduciblity
> code which they likely don't need to change anyway.

Looks good to me!  Thanks for the tweak.

Bruce


>
> Signed-off-by: Richard Purdie 
> ---
>  meta/classes/kernel.bbclass | 6 --
>  1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
> index 4acec1877e0..c1cea177b62 100644
> --- a/meta/classes/kernel.bbclass
> +++ b/meta/classes/kernel.bbclass
> @@ -322,9 +322,11 @@ python do_devshell:prepend () {
>
>  addtask bundle_initramfs after do_install before do_deploy
>
> +KERNEL_DEBUG_TIMESTAMPS ??= "0"
> +
>  kernel_do_compile() {
> unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE
> -   if [ "${BUILD_REPRODUCIBLE_BINARIES}" = "1" ]; then
> +   if [ "${KERNEL_DEBUG_TIMESTAMPS}" != "1" ]; then
> # kernel sources do not use do_unpack, so SOURCE_DATE_EPOCH 
> may not
> # be set
> if [ "${SOURCE_DATE_EPOCH}" = "" -o "${SOURCE_DATE_EPOCH}" = 
> "0" ]; then
> @@ -364,7 +366,7 @@ kernel_do_compile() {
>
>  do_compile_kernelmodules() {
> unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE
> -   if [ "${BUILD_REPRODUCIBLE_BINARIES}" = "1" ]; then
> +   if [ "${KERNEL_DEBUG_TIMESTAMPS}" != "0" ]; then
> # kernel sources do not use do_unpack, so SOURCE_DATE_EPOCH 
> may not
> # be set
> if [ "${SOURCE_DATE_EPOCH}" = "" -o "${SOURCE_DATE_EPOCH}" = 
> "0" ]; then
> --
> 2.32.0
>
>
> 
>


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

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156958): 
https://lists.openembedded.org/g/openembedded-core/message/156958
Mute This Topic: https://lists.openembedded.org/mt/86312624/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [PATCH 7/7] reproducible: Drop BUILD_REPRODUCIBLE_BINARIES variable

2021-10-14 Thread Alexandre Belloni
On 14/10/2021 08:38:46-0400, Bruce Ashfield wrote:
> On Thu, Oct 14, 2021 at 8:32 AM Richard Purdie
>  wrote:
> >
> > On Thu, 2021-10-14 at 08:28 -0400, Bruce Ashfield wrote:
> > > On Thu, Oct 14, 2021 at 8:10 AM Richard Purdie
> > >  wrote:
> > > >
> > > > We want things to be reproduicble and the variable doesn't really change
> > > > much any more. Drop the remaining uses and make those code paths always
> > > > active.
> > >
> > > It wasn't clear to me from reading the patch.  What is the way that
> > > someone would now get the current timestamp into a kernel build, if
> > > that's the behaviour that they want ?
> >
> > With this change they probably don't get the option. If we want that to be
> > configurable, we should probably move the control to a different variable 
> > which
> > is focused specifically on the kernel. The hardest bit is probably picking a
> > name!
> 
> This is probably the most surprising feature of reproducibility for
> kernel developers, and a question that I've gotten multiple times
> ("what happened to my timestamp ?" followed by "how do I turn this
> off?")
> 
> Most kernel developers already don't really like the "yocto workflow",
> and this adds another element in that category. It is common in a
> debug scenario to check the timestamp of the running kernel to make
> sure that you've actually booted the one you just built.
> 

But do kernel developers actually do their development using YP?
I definitively not. I do all my BSP work outside of any build system and
then I finally integrate everything once this is working/ready.

It did indeed surprise me the first time I saw that but this doesn't
have any actual effect on my workflow. Also, the issue was already
existing if what you were trying to build was already in the sstate
cache (e.G from a nightly build), it would contain the time of the
actual build.


-- 
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156957): 
https://lists.openembedded.org/g/openembedded-core/message/156957
Mute This Topic: https://lists.openembedded.org/mt/86310659/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH 2/2 v2] reproducible: Drop BUILD_REPRODUCIBLE_BINARIES variable

2021-10-14 Thread Richard Purdie
We want things to be reproduicble and the variable doesn't really change
much any more. Drop the remaining uses and make those code paths always
active.

Signed-off-by: Richard Purdie 
---
 meta/classes/image-prelink.bbclass| 13 -
 meta/classes/image.bbclass| 14 ++
 meta/conf/bitbake.conf|  1 -
 meta/lib/oe/sstatesig.py  |  2 +-
 meta/recipes-core/busybox/busybox.inc | 10 --
 5 files changed, 15 insertions(+), 25 deletions(-)

diff --git a/meta/classes/image-prelink.bbclass 
b/meta/classes/image-prelink.bbclass
index 0da094a5518..8158eeaf4ca 100644
--- a/meta/classes/image-prelink.bbclass
+++ b/meta/classes/image-prelink.bbclass
@@ -46,17 +46,12 @@ prelink_image () {
dynamic_loader=${@get_linuxloader(d)}
 
# prelink!
-   if [ "${BUILD_REPRODUCIBLE_BINARIES}" = "1" ]; then
-   bbnote " prelink: BUILD_REPRODUCIBLE_BINARIES..."
-   if [ "$REPRODUCIBLE_TIMESTAMP_ROOTFS" = "" ]; then
-   export PRELINK_TIMESTAMP=`git log -1 --pretty=%ct `
-   else
-   export PRELINK_TIMESTAMP=$REPRODUCIBLE_TIMESTAMP_ROOTFS
-   fi
-   ${STAGING_SBINDIR_NATIVE}/prelink --root ${IMAGE_ROOTFS} -am -N 
-c ${sysconfdir}/prelink.conf --dynamic-linker $dynamic_loader
+   if [ "$REPRODUCIBLE_TIMESTAMP_ROOTFS" = "" ]; then
+   export PRELINK_TIMESTAMP=`git log -1 --pretty=%ct `
else
-   ${STAGING_SBINDIR_NATIVE}/prelink --root ${IMAGE_ROOTFS} -amR 
-N -c ${sysconfdir}/prelink.conf --dynamic-linker $dynamic_loader
+   export PRELINK_TIMESTAMP=$REPRODUCIBLE_TIMESTAMP_ROOTFS
fi
+   ${STAGING_SBINDIR_NATIVE}/prelink --root ${IMAGE_ROOTFS} -am -N -c 
${sysconfdir}/prelink.conf --dynamic-linker $dynamic_loader
 
# Remove the prelink.conf if we had to add it.
if [ "$dummy_prelink_conf" = "true" ]; then
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index c2f32320278..2fa69a40d10 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -651,17 +651,15 @@ ROOTFS_PREPROCESS_COMMAND += 
"${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge'
 POPULATE_SDK_PRE_TARGET_COMMAND += "${@bb.utils.contains('DISTRO_FEATURES', 
'usrmerge', 'create_merged_usr_symlinks_sdk; ', '',d)}"
 
 reproducible_final_image_task () {
-if [ "${BUILD_REPRODUCIBLE_BINARIES}" = "1" ]; then
+if [ "$REPRODUCIBLE_TIMESTAMP_ROOTFS" = "" ]; then
+REPRODUCIBLE_TIMESTAMP_ROOTFS=`git -C "${COREBASE}" log -1 
--pretty=%ct 2>/dev/null` || true
 if [ "$REPRODUCIBLE_TIMESTAMP_ROOTFS" = "" ]; then
-REPRODUCIBLE_TIMESTAMP_ROOTFS=`git -C "${COREBASE}" log -1 
--pretty=%ct 2>/dev/null` || true
-if [ "$REPRODUCIBLE_TIMESTAMP_ROOTFS" = "" ]; then
-REPRODUCIBLE_TIMESTAMP_ROOTFS=`stat -c%Y 
${@bb.utils.which(d.getVar("BBPATH"), "conf/bitbake.conf")}`
-fi
+REPRODUCIBLE_TIMESTAMP_ROOTFS=`stat -c%Y 
${@bb.utils.which(d.getVar("BBPATH"), "conf/bitbake.conf")}`
 fi
-# Set mtime of all files to a reproducible value
-bbnote "reproducible_final_image_task: mtime set to 
$REPRODUCIBLE_TIMESTAMP_ROOTFS"
-find  ${IMAGE_ROOTFS} -print0 | xargs -0 touch -h  
--date=@$REPRODUCIBLE_TIMESTAMP_ROOTFS
 fi
+# Set mtime of all files to a reproducible value
+bbnote "reproducible_final_image_task: mtime set to 
$REPRODUCIBLE_TIMESTAMP_ROOTFS"
+find  ${IMAGE_ROOTFS} -print0 | xargs -0 touch -h  
--date=@$REPRODUCIBLE_TIMESTAMP_ROOTFS
 }
 
 systemd_preset_all () {
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 1db9b3fc051..790f2f7a8c4 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -636,7 +636,6 @@ SDE_DIR = "${WORKDIR}/source-date-epoch"
 SDE_FILE = "${SDE_DIR}/__source_date_epoch.txt"
 SDE_DEPLOYDIR = "${WORKDIR}/deploy-source-date-epoch"
 
-BUILD_REPRODUCIBLE_BINARIES = "1"
 export PYTHONHASHSEED = "0"
 export PERL_HASH_SEED = "0"
 export SOURCE_DATE_EPOCH ?= "${@get_source_date_epoch_value(d)}"
diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py
index c2e3e2f4f58..038404e377a 100644
--- a/meta/lib/oe/sstatesig.py
+++ b/meta/lib/oe/sstatesig.py
@@ -489,7 +489,7 @@ def OEOuthashBasic(path, sigfile, task, d):
 include_timestamps = False
 include_root = True
 if task == "package":
-include_timestamps = d.getVar('BUILD_REPRODUCIBLE_BINARIES') == '1'
+include_timestamps = True
 include_root = False
 extra_content = d.getVar('HASHEQUIV_HASH_VERSION')
 
diff --git a/meta/recipes-core/busybox/busybox.inc 
b/meta/recipes-core/busybox/busybox.inc
index 808c3dc7009..622325aabb3 100644
--- a/meta/recipes-core/busybox/busybox.inc
+++ b/meta/recipes-core/busybox/busybox.inc
@@ -110,9 +110,8 @@ python () {
 }
 
 do_prepare_config () {
-   if [ "${BUILD_REPRODUCIBLE_BINARIES}" = "1" ]; then
-

[OE-core] [PATCH 1/2 v2] kernel: Add KERNEL_DEBUG_TIMESTAMPS variable

2021-10-14 Thread Richard Purdie
Change the "binary reproducibility" configuration within the kernel to
work off a separate variable, defaulting to reproducible builds.

This allows kernel developers wanting timestamps in their images to enable
it easily and clearly without changing the rest of the reproduciblity
code which they likely don't need to change anyway.

Signed-off-by: Richard Purdie 
---
 meta/classes/kernel.bbclass | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
index 4acec1877e0..c1cea177b62 100644
--- a/meta/classes/kernel.bbclass
+++ b/meta/classes/kernel.bbclass
@@ -322,9 +322,11 @@ python do_devshell:prepend () {
 
 addtask bundle_initramfs after do_install before do_deploy
 
+KERNEL_DEBUG_TIMESTAMPS ??= "0"
+
 kernel_do_compile() {
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE
-   if [ "${BUILD_REPRODUCIBLE_BINARIES}" = "1" ]; then
+   if [ "${KERNEL_DEBUG_TIMESTAMPS}" != "1" ]; then
# kernel sources do not use do_unpack, so SOURCE_DATE_EPOCH may 
not
# be set
if [ "${SOURCE_DATE_EPOCH}" = "" -o "${SOURCE_DATE_EPOCH}" = 
"0" ]; then
@@ -364,7 +366,7 @@ kernel_do_compile() {
 
 do_compile_kernelmodules() {
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE
-   if [ "${BUILD_REPRODUCIBLE_BINARIES}" = "1" ]; then
+   if [ "${KERNEL_DEBUG_TIMESTAMPS}" != "0" ]; then
# kernel sources do not use do_unpack, so SOURCE_DATE_EPOCH may 
not
# be set
if [ "${SOURCE_DATE_EPOCH}" = "" -o "${SOURCE_DATE_EPOCH}" = 
"0" ]; then
-- 
2.32.0


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156955): 
https://lists.openembedded.org/g/openembedded-core/message/156955
Mute This Topic: https://lists.openembedded.org/mt/86312624/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH] libxkbcommon: update to 1.3.1

2021-10-14 Thread Oleksandr Kravchuk
Signed-off-by: Oleksandr Kravchuk 
---
 .../xorg-lib/{libxkbcommon_1.3.0.bb => libxkbcommon_1.3.1.bb}   | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
 rename meta/recipes-graphics/xorg-lib/{libxkbcommon_1.3.0.bb => 
libxkbcommon_1.3.1.bb} (92%)

diff --git a/meta/recipes-graphics/xorg-lib/libxkbcommon_1.3.0.bb 
b/meta/recipes-graphics/xorg-lib/libxkbcommon_1.3.1.bb
similarity index 92%
rename from meta/recipes-graphics/xorg-lib/libxkbcommon_1.3.0.bb
rename to meta/recipes-graphics/xorg-lib/libxkbcommon_1.3.1.bb
index 57c318cf5e..0e75ed03dc 100644
--- a/meta/recipes-graphics/xorg-lib/libxkbcommon_1.3.0.bb
+++ b/meta/recipes-graphics/xorg-lib/libxkbcommon_1.3.1.bb
@@ -9,7 +9,7 @@ DEPENDS = "util-macros flex-native bison-native"
 
 SRC_URI = "http://xkbcommon.org/download/${BPN}-${PV}.tar.xz";
 
-SRC_URI[sha256sum] = 
"7b09e098ea69bc3054f0c57a9a25fda571c4df22398811606e32b5fffeb75e7b"
+SRC_URI[sha256sum] = 
"b3c710d27a2630054e1e1399c85b7f330ef03359b460f0c1b3b587fd01fe9234"
 
 UPSTREAM_CHECK_URI = "http://xkbcommon.org/";
 
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156954): 
https://lists.openembedded.org/g/openembedded-core/message/156954
Mute This Topic: https://lists.openembedded.org/mt/86312218/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH] xkeyboard-config: update to 2.34

2021-10-14 Thread Oleksandr Kravchuk
Signed-off-by: Oleksandr Kravchuk 
---
 .../{xkeyboard-config_2.33.bb => xkeyboard-config_2.34.bb}  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
 rename meta/recipes-graphics/xorg-lib/{xkeyboard-config_2.33.bb => 
xkeyboard-config_2.34.bb} (92%)

diff --git a/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.33.bb 
b/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.34.bb
similarity index 92%
rename from meta/recipes-graphics/xorg-lib/xkeyboard-config_2.33.bb
rename to meta/recipes-graphics/xorg-lib/xkeyboard-config_2.34.bb
index 138e451d07..5d431a4172 100644
--- a/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.33.bb
+++ b/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.34.bb
@@ -13,7 +13,7 @@ LICENSE = "MIT & MIT-style"
 LIC_FILES_CHKSUM = "file://COPYING;md5=0e7f21ca7db975c63467d2e7624a12f9"
 
 SRC_URI = 
"${XORG_MIRROR}/individual/data/xkeyboard-config/${BPN}-${PV}.tar.bz2"
-SRC_URI[sha256sum] = 
"657fd790d6dcf781cd395de4cf726120a5b0f93ba91dfb2628bcc70ae8b1d3bc"
+SRC_URI[sha256sum] = 
"b321d27686ee7e6610ffe7b56e28d5bbf60625a1f595124cd320c0caa717b8ce"
 
 SECTION = "x11/libs"
 DEPENDS = "util-macros libxslt-native"
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156953): 
https://lists.openembedded.org/g/openembedded-core/message/156953
Mute This Topic: https://lists.openembedded.org/mt/86312179/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH] xorgproto: update to 2021.5

2021-10-14 Thread Oleksandr Kravchuk
Signed-off-by: Oleksandr Kravchuk 
---
 .../{xorgproto_2021.4.99.2.bb => xorgproto_2021.5.bb}   | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
 rename meta/recipes-graphics/xorg-proto/{xorgproto_2021.4.99.2.bb => 
xorgproto_2021.5.bb} (90%)

diff --git a/meta/recipes-graphics/xorg-proto/xorgproto_2021.4.99.2.bb 
b/meta/recipes-graphics/xorg-proto/xorgproto_2021.5.bb
similarity index 90%
rename from meta/recipes-graphics/xorg-proto/xorgproto_2021.4.99.2.bb
rename to meta/recipes-graphics/xorg-proto/xorgproto_2021.5.bb
index 1780e78c56..8edb4596ad 100644
--- a/meta/recipes-graphics/xorg-proto/xorgproto_2021.4.99.2.bb
+++ b/meta/recipes-graphics/xorg-proto/xorgproto_2021.5.bb
@@ -9,7 +9,7 @@ LICENSE = "MIT-style"
 LIC_FILES_CHKSUM = 
"file://COPYING-x11proto;md5=dfc4bd2b0568b31725b85b0604e69b56"
 
 SRC_URI = "${XORG_MIRROR}/individual/proto/${BP}.tar.bz2"
-SRC_URI[sha256sum] = 
"c38878053179c6f8bc2dab4710b5fbf0e46db5b3134aee4a1977ffb06e7a"
+SRC_URI[sha256sum] = 
"aa2f663b8dbd632960b24f7477aa07d901210057f6ab1a1db5158732569ca015"
 
 inherit meson
 
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156952): 
https://lists.openembedded.org/g/openembedded-core/message/156952
Mute This Topic: https://lists.openembedded.org/mt/86312143/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH] libxi: update to 1.8

2021-10-14 Thread Oleksandr Kravchuk
Signed-off-by: Oleksandr Kravchuk 
---
 .../xorg-lib/{libxi_1.7.99.2.bb => libxi_1.8.bb}| 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
 rename meta/recipes-graphics/xorg-lib/{libxi_1.7.99.2.bb => libxi_1.8.bb} (87%)

diff --git a/meta/recipes-graphics/xorg-lib/libxi_1.7.99.2.bb 
b/meta/recipes-graphics/xorg-lib/libxi_1.8.bb
similarity index 87%
rename from meta/recipes-graphics/xorg-lib/libxi_1.7.99.2.bb
rename to meta/recipes-graphics/xorg-lib/libxi_1.8.bb
index 8afa9aa527..83101c5736 100644
--- a/meta/recipes-graphics/xorg-lib/libxi_1.7.99.2.bb
+++ b/meta/recipes-graphics/xorg-lib/libxi_1.8.bb
@@ -17,6 +17,6 @@ PE = "1"
 
 XORG_PN = "libXi"
 
-SRC_URI[sha256sum] = 
"2ce90ebcb7fa0c3ed671924f1268b8f4c500fff62e1284699fc413e182a7896b"
+SRC_URI[sha256sum] = 
"2ed181446a61c7337576467870bc5336fc9e222a281122d96c4d39a3298bba00"
 
 BBCLASSEXTEND = "native nativesdk"
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156951): 
https://lists.openembedded.org/g/openembedded-core/message/156951
Mute This Topic: https://lists.openembedded.org/mt/86312119/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [PATCH 7/7] reproducible: Drop BUILD_REPRODUCIBLE_BINARIES variable

2021-10-14 Thread Bruce Ashfield
On Thu, Oct 14, 2021 at 8:32 AM Richard Purdie
 wrote:
>
> On Thu, 2021-10-14 at 08:28 -0400, Bruce Ashfield wrote:
> > On Thu, Oct 14, 2021 at 8:10 AM Richard Purdie
> >  wrote:
> > >
> > > We want things to be reproduicble and the variable doesn't really change
> > > much any more. Drop the remaining uses and make those code paths always
> > > active.
> >
> > It wasn't clear to me from reading the patch.  What is the way that
> > someone would now get the current timestamp into a kernel build, if
> > that's the behaviour that they want ?
>
> With this change they probably don't get the option. If we want that to be
> configurable, we should probably move the control to a different variable 
> which
> is focused specifically on the kernel. The hardest bit is probably picking a
> name!

This is probably the most surprising feature of reproducibility for
kernel developers, and a question that I've gotten multiple times
("what happened to my timestamp ?" followed by "how do I turn this
off?")

Most kernel developers already don't really like the "yocto workflow",
and this adds another element in that category. It is common in a
debug scenario to check the timestamp of the running kernel to make
sure that you've actually booted the one you just built.

>
> You don't really want to turn off all reproducibility everywhere for just the
> kernel timestamping change.

Agreed.

And agreed on picking the name, could it be something around
KERNEL_DEBUG ? And we could even put a bbnote (that they won't see,
but that's the best I can think of) that indicates that
reproducibility is on and the timestamp is set to  .. and the
opposite when reproducibility is off ?

Bruce

>
> Cheers,
>
> Richard
>


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

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156950): 
https://lists.openembedded.org/g/openembedded-core/message/156950
Mute This Topic: https://lists.openembedded.org/mt/86310659/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [PATCH 7/7] reproducible: Drop BUILD_REPRODUCIBLE_BINARIES variable

2021-10-14 Thread Richard Purdie
On Thu, 2021-10-14 at 08:28 -0400, Bruce Ashfield wrote:
> On Thu, Oct 14, 2021 at 8:10 AM Richard Purdie
>  wrote:
> > 
> > We want things to be reproduicble and the variable doesn't really change
> > much any more. Drop the remaining uses and make those code paths always
> > active.
> 
> It wasn't clear to me from reading the patch.  What is the way that
> someone would now get the current timestamp into a kernel build, if
> that's the behaviour that they want ?

With this change they probably don't get the option. If we want that to be
configurable, we should probably move the control to a different variable which
is focused specifically on the kernel. The hardest bit is probably picking a
name!

You don't really want to turn off all reproducibility everywhere for just the
kernel timestamping change.

Cheers,

Richard


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156949): 
https://lists.openembedded.org/g/openembedded-core/message/156949
Mute This Topic: https://lists.openembedded.org/mt/86310659/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [PATCH 7/7] reproducible: Drop BUILD_REPRODUCIBLE_BINARIES variable

2021-10-14 Thread Bruce Ashfield
On Thu, Oct 14, 2021 at 8:10 AM Richard Purdie
 wrote:
>
> We want things to be reproduicble and the variable doesn't really change
> much any more. Drop the remaining uses and make those code paths always
> active.

It wasn't clear to me from reading the patch.  What is the way that
someone would now get the current timestamp into a kernel build, if
that's the behaviour that they want ?

Bruce

>
> Signed-off-by: Richard Purdie 
> ---
>  meta/classes/image-prelink.bbclass| 13 ++-
>  meta/classes/image.bbclass| 14 +++
>  meta/classes/kernel.bbclass   | 54 +--
>  meta/conf/bitbake.conf|  1 -
>  meta/lib/oe/sstatesig.py  |  2 +-
>  meta/recipes-core/busybox/busybox.inc | 10 ++---
>  6 files changed, 41 insertions(+), 53 deletions(-)
>
> diff --git a/meta/classes/image-prelink.bbclass 
> b/meta/classes/image-prelink.bbclass
> index 0da094a5518..8158eeaf4ca 100644
> --- a/meta/classes/image-prelink.bbclass
> +++ b/meta/classes/image-prelink.bbclass
> @@ -46,17 +46,12 @@ prelink_image () {
> dynamic_loader=${@get_linuxloader(d)}
>
> # prelink!
> -   if [ "${BUILD_REPRODUCIBLE_BINARIES}" = "1" ]; then
> -   bbnote " prelink: BUILD_REPRODUCIBLE_BINARIES..."
> -   if [ "$REPRODUCIBLE_TIMESTAMP_ROOTFS" = "" ]; then
> -   export PRELINK_TIMESTAMP=`git log -1 --pretty=%ct `
> -   else
> -   export 
> PRELINK_TIMESTAMP=$REPRODUCIBLE_TIMESTAMP_ROOTFS
> -   fi
> -   ${STAGING_SBINDIR_NATIVE}/prelink --root ${IMAGE_ROOTFS} -am 
> -N -c ${sysconfdir}/prelink.conf --dynamic-linker $dynamic_loader
> +   if [ "$REPRODUCIBLE_TIMESTAMP_ROOTFS" = "" ]; then
> +   export PRELINK_TIMESTAMP=`git log -1 --pretty=%ct `
> else
> -   ${STAGING_SBINDIR_NATIVE}/prelink --root ${IMAGE_ROOTFS} -amR 
> -N -c ${sysconfdir}/prelink.conf --dynamic-linker $dynamic_loader
> +   export PRELINK_TIMESTAMP=$REPRODUCIBLE_TIMESTAMP_ROOTFS
> fi
> +   ${STAGING_SBINDIR_NATIVE}/prelink --root ${IMAGE_ROOTFS} -am -N -c 
> ${sysconfdir}/prelink.conf --dynamic-linker $dynamic_loader
>
> # Remove the prelink.conf if we had to add it.
> if [ "$dummy_prelink_conf" = "true" ]; then
> diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
> index c2f32320278..2fa69a40d10 100644
> --- a/meta/classes/image.bbclass
> +++ b/meta/classes/image.bbclass
> @@ -651,17 +651,15 @@ ROOTFS_PREPROCESS_COMMAND += 
> "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge'
>  POPULATE_SDK_PRE_TARGET_COMMAND += "${@bb.utils.contains('DISTRO_FEATURES', 
> 'usrmerge', 'create_merged_usr_symlinks_sdk; ', '',d)}"
>
>  reproducible_final_image_task () {
> -if [ "${BUILD_REPRODUCIBLE_BINARIES}" = "1" ]; then
> +if [ "$REPRODUCIBLE_TIMESTAMP_ROOTFS" = "" ]; then
> +REPRODUCIBLE_TIMESTAMP_ROOTFS=`git -C "${COREBASE}" log -1 
> --pretty=%ct 2>/dev/null` || true
>  if [ "$REPRODUCIBLE_TIMESTAMP_ROOTFS" = "" ]; then
> -REPRODUCIBLE_TIMESTAMP_ROOTFS=`git -C "${COREBASE}" log -1 
> --pretty=%ct 2>/dev/null` || true
> -if [ "$REPRODUCIBLE_TIMESTAMP_ROOTFS" = "" ]; then
> -REPRODUCIBLE_TIMESTAMP_ROOTFS=`stat -c%Y 
> ${@bb.utils.which(d.getVar("BBPATH"), "conf/bitbake.conf")}`
> -fi
> +REPRODUCIBLE_TIMESTAMP_ROOTFS=`stat -c%Y 
> ${@bb.utils.which(d.getVar("BBPATH"), "conf/bitbake.conf")}`
>  fi
> -# Set mtime of all files to a reproducible value
> -bbnote "reproducible_final_image_task: mtime set to 
> $REPRODUCIBLE_TIMESTAMP_ROOTFS"
> -find  ${IMAGE_ROOTFS} -print0 | xargs -0 touch -h  
> --date=@$REPRODUCIBLE_TIMESTAMP_ROOTFS
>  fi
> +# Set mtime of all files to a reproducible value
> +bbnote "reproducible_final_image_task: mtime set to 
> $REPRODUCIBLE_TIMESTAMP_ROOTFS"
> +find  ${IMAGE_ROOTFS} -print0 | xargs -0 touch -h  
> --date=@$REPRODUCIBLE_TIMESTAMP_ROOTFS
>  }
>
>  systemd_preset_all () {
> diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
> index 4acec1877e0..3dd9b4446db 100644
> --- a/meta/classes/kernel.bbclass
> +++ b/meta/classes/kernel.bbclass
> @@ -324,21 +324,20 @@ addtask bundle_initramfs after do_install before 
> do_deploy
>
>  kernel_do_compile() {
> unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE
> -   if [ "${BUILD_REPRODUCIBLE_BINARIES}" = "1" ]; then
> -   # kernel sources do not use do_unpack, so SOURCE_DATE_EPOCH 
> may not
> -   # be set
> -   if [ "${SOURCE_DATE_EPOCH}" = "" -o "${SOURCE_DATE_EPOCH}" = 
> "0" ]; then
> -   # The source directory is not necessarily a git 
> repository, so we
> -   # specify the git-dir to ensure that git does not 
> query a
> -   # repository in any parent directory.
> - 

Re: [OE-core] [PATCH] linux-yocto-dev: Ensure DEPENDS matches recent 5.14 kernel changes

2021-10-14 Thread Bruce Ashfield
On Thu, Oct 14, 2021 at 8:20 AM Bruce Ashfield  wrote:
>
> I already have this in my queue to send, but I guess this will do :D
>

I just sent my version, so you can choose. I have a slightly different
and extra commentary in mine.

Bruce

> Bruce
>
> On Thu, Oct 14, 2021 at 6:22 AM Richard Purdie
>  wrote:
> >
> > DEPENDS here should match what 5.14 is using.
> >
> > Signed-off-by: Richard Purdie 
> > ---
> >  meta/recipes-kernel/linux/linux-yocto-dev.bb | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/meta/recipes-kernel/linux/linux-yocto-dev.bb 
> > b/meta/recipes-kernel/linux/linux-yocto-dev.bb
> > index f58b5ab0b86..005b6887789 100644
> > --- a/meta/recipes-kernel/linux/linux-yocto-dev.bb
> > +++ b/meta/recipes-kernel/linux/linux-yocto-dev.bb
> > @@ -38,6 +38,7 @@ LIC_FILES_CHKSUM = 
> > "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
> >
> >  DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
> >  DEPENDS += "openssl-native util-linux-native"
> > +DEPENDS += "gmp-native libmpc-native"
> >
> >  COMPATIBLE_MACHINE = 
> > "(qemuarm|qemux86|qemuppc|qemumips|qemumips64|qemux86-64|qemuriscv64)"
> >
> > --
> > 2.32.0
> >
> >
> > 
> >
>
>
> --
> - Thou shalt not follow the NULL pointer, for chaos and madness await
> thee at its end
> - "Use the force Harry" - Gandalf, Star Trek II



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

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156947): 
https://lists.openembedded.org/g/openembedded-core/message/156947
Mute This Topic: https://lists.openembedded.org/mt/86308914/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH] linux-yocto-dev: add 5.10+ native dependencies

2021-10-14 Thread Bruce Ashfield
From: Bruce Ashfield 

Some of the kernel depencencies are moving to kernel.bbclass, but that
requires version (and architecture) checks and other complexity. So for
the time being, we add the dependencies to the recipes that need them.

Signed-off-by: Bruce Ashfield 
---
 meta/recipes-kernel/linux/linux-yocto-dev.bb | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/recipes-kernel/linux/linux-yocto-dev.bb 
b/meta/recipes-kernel/linux/linux-yocto-dev.bb
index f58b5ab0b8..005b688778 100644
--- a/meta/recipes-kernel/linux/linux-yocto-dev.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-dev.bb
@@ -38,6 +38,7 @@ LIC_FILES_CHKSUM = 
"file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
 
 DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
 DEPENDS += "openssl-native util-linux-native"
+DEPENDS += "gmp-native libmpc-native"
 
 COMPATIBLE_MACHINE = 
"(qemuarm|qemux86|qemuppc|qemumips|qemumips64|qemux86-64|qemuriscv64)"
 
-- 
2.19.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156946): 
https://lists.openembedded.org/g/openembedded-core/message/156946
Mute This Topic: https://lists.openembedded.org/mt/86310879/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [PATCH] linux-yocto-dev: Ensure DEPENDS matches recent 5.14 kernel changes

2021-10-14 Thread Bruce Ashfield
I already have this in my queue to send, but I guess this will do :D

Bruce

On Thu, Oct 14, 2021 at 6:22 AM Richard Purdie
 wrote:
>
> DEPENDS here should match what 5.14 is using.
>
> Signed-off-by: Richard Purdie 
> ---
>  meta/recipes-kernel/linux/linux-yocto-dev.bb | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/meta/recipes-kernel/linux/linux-yocto-dev.bb 
> b/meta/recipes-kernel/linux/linux-yocto-dev.bb
> index f58b5ab0b86..005b6887789 100644
> --- a/meta/recipes-kernel/linux/linux-yocto-dev.bb
> +++ b/meta/recipes-kernel/linux/linux-yocto-dev.bb
> @@ -38,6 +38,7 @@ LIC_FILES_CHKSUM = 
> "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
>
>  DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
>  DEPENDS += "openssl-native util-linux-native"
> +DEPENDS += "gmp-native libmpc-native"
>
>  COMPATIBLE_MACHINE = 
> "(qemuarm|qemux86|qemuppc|qemumips|qemumips64|qemux86-64|qemuriscv64)"
>
> --
> 2.32.0
>
>
> 
>


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

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156945): 
https://lists.openembedded.org/g/openembedded-core/message/156945
Mute This Topic: https://lists.openembedded.org/mt/86308914/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [PATCH 05/26] rpm: update 4.16.1.3 -> 4.17.0

2021-10-14 Thread Martin Jansa
On Wed, Sep 8, 2021 at 8:01 PM Alexander Kanavin 
wrote:

> The flagship features are migration from bdb to sqlite and zstd support,
> both are enabled and taken into use. The relationship and upstream
> preference
> between sqlite and ndb formats isn't quite clear.
>

FYI: interesting side-effect of bdb removal in
https://github.com/rpm-software-management/rpm/commit/4290300e24c5ab17c615b6108f38438e31eeb1d0
was that in some of our builds I've started to see:
ERROR: rpm-native-1_4.17.0-r0 do_configure: QA Issue: rpm-native: configure
was passed unrecognised options: --without-api-sanity-checker
--without-abi-compliance-checker [unknown-configure-option]

And the interesting part is that reporting unrecognised options stops
working (enable_option_checking=no gets set in generated configure) when
there is AC_CONFIG_SUBDIRS in configure.ac (even when not actively being
used as in
https://github.com/rpm-software-management/rpm/commit/4290300e24c5ab17c615b6108f38438e31eeb1d0#diff-49473dca262eeab3b4a43002adb08b4db31020d190caaad1594b47f1d5daa810L509
when not using internal bdb), see
https://git.savannah.gnu.org/cgit/autoconf.git/tree/lib/autoconf/status.m4#n1099

The unrecognized options were used since rpm-5 was removed in 2017 with:
https://git.openembedded.org/openembedded-core/commit/?id=d0365f35303db3595688a6e5290677e02a72c54e
but they didn't make it to QA issue, because of configure behavior.

Regards,

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156944): 
https://lists.openembedded.org/g/openembedded-core/message/156944
Mute This Topic: https://lists.openembedded.org/mt/85465759/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH 7/7] reproducible: Drop BUILD_REPRODUCIBLE_BINARIES variable

2021-10-14 Thread Richard Purdie
We want things to be reproduicble and the variable doesn't really change
much any more. Drop the remaining uses and make those code paths always
active.

Signed-off-by: Richard Purdie 
---
 meta/classes/image-prelink.bbclass| 13 ++-
 meta/classes/image.bbclass| 14 +++
 meta/classes/kernel.bbclass   | 54 +--
 meta/conf/bitbake.conf|  1 -
 meta/lib/oe/sstatesig.py  |  2 +-
 meta/recipes-core/busybox/busybox.inc | 10 ++---
 6 files changed, 41 insertions(+), 53 deletions(-)

diff --git a/meta/classes/image-prelink.bbclass 
b/meta/classes/image-prelink.bbclass
index 0da094a5518..8158eeaf4ca 100644
--- a/meta/classes/image-prelink.bbclass
+++ b/meta/classes/image-prelink.bbclass
@@ -46,17 +46,12 @@ prelink_image () {
dynamic_loader=${@get_linuxloader(d)}
 
# prelink!
-   if [ "${BUILD_REPRODUCIBLE_BINARIES}" = "1" ]; then
-   bbnote " prelink: BUILD_REPRODUCIBLE_BINARIES..."
-   if [ "$REPRODUCIBLE_TIMESTAMP_ROOTFS" = "" ]; then
-   export PRELINK_TIMESTAMP=`git log -1 --pretty=%ct `
-   else
-   export PRELINK_TIMESTAMP=$REPRODUCIBLE_TIMESTAMP_ROOTFS
-   fi
-   ${STAGING_SBINDIR_NATIVE}/prelink --root ${IMAGE_ROOTFS} -am -N 
-c ${sysconfdir}/prelink.conf --dynamic-linker $dynamic_loader
+   if [ "$REPRODUCIBLE_TIMESTAMP_ROOTFS" = "" ]; then
+   export PRELINK_TIMESTAMP=`git log -1 --pretty=%ct `
else
-   ${STAGING_SBINDIR_NATIVE}/prelink --root ${IMAGE_ROOTFS} -amR 
-N -c ${sysconfdir}/prelink.conf --dynamic-linker $dynamic_loader
+   export PRELINK_TIMESTAMP=$REPRODUCIBLE_TIMESTAMP_ROOTFS
fi
+   ${STAGING_SBINDIR_NATIVE}/prelink --root ${IMAGE_ROOTFS} -am -N -c 
${sysconfdir}/prelink.conf --dynamic-linker $dynamic_loader
 
# Remove the prelink.conf if we had to add it.
if [ "$dummy_prelink_conf" = "true" ]; then
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index c2f32320278..2fa69a40d10 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -651,17 +651,15 @@ ROOTFS_PREPROCESS_COMMAND += 
"${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge'
 POPULATE_SDK_PRE_TARGET_COMMAND += "${@bb.utils.contains('DISTRO_FEATURES', 
'usrmerge', 'create_merged_usr_symlinks_sdk; ', '',d)}"
 
 reproducible_final_image_task () {
-if [ "${BUILD_REPRODUCIBLE_BINARIES}" = "1" ]; then
+if [ "$REPRODUCIBLE_TIMESTAMP_ROOTFS" = "" ]; then
+REPRODUCIBLE_TIMESTAMP_ROOTFS=`git -C "${COREBASE}" log -1 
--pretty=%ct 2>/dev/null` || true
 if [ "$REPRODUCIBLE_TIMESTAMP_ROOTFS" = "" ]; then
-REPRODUCIBLE_TIMESTAMP_ROOTFS=`git -C "${COREBASE}" log -1 
--pretty=%ct 2>/dev/null` || true
-if [ "$REPRODUCIBLE_TIMESTAMP_ROOTFS" = "" ]; then
-REPRODUCIBLE_TIMESTAMP_ROOTFS=`stat -c%Y 
${@bb.utils.which(d.getVar("BBPATH"), "conf/bitbake.conf")}`
-fi
+REPRODUCIBLE_TIMESTAMP_ROOTFS=`stat -c%Y 
${@bb.utils.which(d.getVar("BBPATH"), "conf/bitbake.conf")}`
 fi
-# Set mtime of all files to a reproducible value
-bbnote "reproducible_final_image_task: mtime set to 
$REPRODUCIBLE_TIMESTAMP_ROOTFS"
-find  ${IMAGE_ROOTFS} -print0 | xargs -0 touch -h  
--date=@$REPRODUCIBLE_TIMESTAMP_ROOTFS
 fi
+# Set mtime of all files to a reproducible value
+bbnote "reproducible_final_image_task: mtime set to 
$REPRODUCIBLE_TIMESTAMP_ROOTFS"
+find  ${IMAGE_ROOTFS} -print0 | xargs -0 touch -h  
--date=@$REPRODUCIBLE_TIMESTAMP_ROOTFS
 }
 
 systemd_preset_all () {
diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
index 4acec1877e0..3dd9b4446db 100644
--- a/meta/classes/kernel.bbclass
+++ b/meta/classes/kernel.bbclass
@@ -324,21 +324,20 @@ addtask bundle_initramfs after do_install before do_deploy
 
 kernel_do_compile() {
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE
-   if [ "${BUILD_REPRODUCIBLE_BINARIES}" = "1" ]; then
-   # kernel sources do not use do_unpack, so SOURCE_DATE_EPOCH may 
not
-   # be set
-   if [ "${SOURCE_DATE_EPOCH}" = "" -o "${SOURCE_DATE_EPOCH}" = 
"0" ]; then
-   # The source directory is not necessarily a git 
repository, so we
-   # specify the git-dir to ensure that git does not query 
a
-   # repository in any parent directory.
-   SOURCE_DATE_EPOCH=`git --git-dir="${S}/.git" log -1 
--pretty=%ct 2>/dev/null || echo "${REPRODUCIBLE_TIMESTAMP_ROOTFS}"`
-   fi
-
-   ts=`LC_ALL=C date -d @$SOURCE_DATE_EPOCH`
-   export KBUILD_BUILD_TIMESTAMP="$ts"
-   export KCONFIG_NOTIMESTAMP=1
-   bbnote "KBUILD_BUILD_TIMESTAMP: $ts"
+   # kernel sources do not use do_unpack, so SOURCE_DATE_EPOCH may not
+

[OE-core] [PATCH 6/7] python: Update now reproducibile builds are the default

2021-10-14 Thread Richard Purdie
Now reproducible builds are the default move the qemu-usermode check to anon
python code so that invalid configurations are detected.

Signed-off-by: Richard Purdie 
---
 meta/recipes-devtools/python/python3_3.10.0.bb | 14 +-
 1 file changed, 5 insertions(+), 9 deletions(-)

diff --git a/meta/recipes-devtools/python/python3_3.10.0.bb 
b/meta/recipes-devtools/python/python3_3.10.0.bb
index 2e850710b68..e3300b6495b 100644
--- a/meta/recipes-devtools/python/python3_3.10.0.bb
+++ b/meta/recipes-devtools/python/python3_3.10.0.bb
@@ -95,15 +95,8 @@ CACHED_CONFIGUREVARS = " \
 ac_cv_working_tzset=yes \
 "
 
-def possibly_include_pgo(d):
-# PGO currently causes builds to not be reproducible, so disable it for
-# now. See YOCTO #13407
-if bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', True, False, d) 
and d.getVar('BUILD_REPRODUCIBLE_BINARIES') != '1':
-return 'pgo'
-
-return ''
-
-PACKAGECONFIG:class-target ??= "readline ${@possibly_include_pgo(d)} gdbm 
${@bb.utils.filter('DISTRO_FEATURES', 'lto', d)}"
+# PGO currently causes builds to not be reproducible so disable by default, 
see YOCTO #13407
+PACKAGECONFIG:class-target ??= "readline gdbm 
${@bb.utils.filter('DISTRO_FEATURES', 'lto', d)}"
 PACKAGECONFIG:class-native ??= "readline gdbm"
 PACKAGECONFIG:class-nativesdk ??= "readline gdbm"
 PACKAGECONFIG[readline] = ",,readline"
@@ -320,6 +313,9 @@ python(){
 d.setVar('PACKAGES', ' '.join(packages))
 d.setVar('ALLOW_EMPTY:${PN}-modules', '1')
 d.setVar('ALLOW_EMPTY:${PN}-pkgutil', '1')
+
+if "pgo" in d.getVar("PACKAGECONFIG").split() and not 
bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', True, False, d):
+bb.fatal("pgo cannot be enabled as there is no qemu-usermode support 
for this architecture/machine")
 }
 
 # Files needed to create a new manifest
-- 
2.32.0


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156941): 
https://lists.openembedded.org/g/openembedded-core/message/156941
Mute This Topic: https://lists.openembedded.org/mt/86310657/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH 4/7] reproducible: Move variable definitions to bitbake.conf

2021-10-14 Thread Richard Purdie
The reproducibility code was originally developed as separate
standalone class but development is no longer experimental and
the code is widely tested and used by default for poky. Reproducible
builds are the direction we need to take as a project.

Transition the core variable definitions to bitbake.conf as part of
a move to make these part of the default workflow.

This also helps reduce test matrix complexity as there is now one
code path.

Signed-off-by: Richard Purdie 
---
 meta/classes/reproducible_build.bbclass   | 11 ---
 .../classes/reproducible_build_simple.bbclass |  9 -
 meta/conf/bitbake.conf| 19 ++-
 3 files changed, 18 insertions(+), 21 deletions(-)
 delete mode 100644 meta/classes/reproducible_build_simple.bbclass

diff --git a/meta/classes/reproducible_build.bbclass 
b/meta/classes/reproducible_build.bbclass
index 0f45b782e5d..f38be1a7654 100644
--- a/meta/classes/reproducible_build.bbclass
+++ b/meta/classes/reproducible_build.bbclass
@@ -51,15 +51,6 @@
 #
 # Once the value is determined, it is stored in the recipe's SDE_FILE.
 
-BUILD_REPRODUCIBLE_BINARIES ??= '1'
-inherit reproducible_build_simple
-
-SDE_DIR = "${WORKDIR}/source-date-epoch"
-SDE_FILE = "${SDE_DIR}/__source_date_epoch.txt"
-SDE_DEPLOYDIR = "${WORKDIR}/deploy-source-date-epoch"
-
-# A SOURCE_DATE_EPOCH of '0' might be misinterpreted as no SDE
-export SOURCE_DATE_EPOCH_FALLBACK ??= "1302044400"
 
 SSTATETASKS += "do_deploy_source_date_epoch"
 
@@ -103,5 +94,3 @@ do_unpack[postfuncs] += "create_source_date_epoch_stamp"
 def get_source_date_epoch_value(d):
 return oe.reproducible.epochfile_read(d.getVar('SDE_FILE'), d)
 
-export SOURCE_DATE_EPOCH ?= "${@get_source_date_epoch_value(d)}"
-BB_HASHBASE_WHITELIST += "SOURCE_DATE_EPOCH"
diff --git a/meta/classes/reproducible_build_simple.bbclass 
b/meta/classes/reproducible_build_simple.bbclass
deleted file mode 100644
index 393372993d0..000
--- a/meta/classes/reproducible_build_simple.bbclass
+++ /dev/null
@@ -1,9 +0,0 @@
-# Setup default environment for reproducible builds.
-
-BUILD_REPRODUCIBLE_BINARIES = "1"
-
-export PYTHONHASHSEED = "0"
-export PERL_HASH_SEED = "0"
-export SOURCE_DATE_EPOCH ??= "1520598896"
-
-REPRODUCIBLE_TIMESTAMP_ROOTFS ??= "1520598896"
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index cd828251b9b..1db9b3fc051 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -628,6 +628,22 @@ SELECTED_OPTIMIZATION[vardeps] += "FULL_OPTIMIZATION 
DEBUG_OPTIMIZATION DEBUG_BU
 BUILD_OPTIMIZATION = "${@oe.utils.vartrue('DEBUG_BUILD', '-Og -g 
-feliminate-unused-debug-types', '-O2', d)} -pipe"
 BUILD_OPTIMIZATION[vardeps] += "DEBUG_BUILD"
 
+##
+# Reproducibility
+##
+
+SDE_DIR = "${WORKDIR}/source-date-epoch"
+SDE_FILE = "${SDE_DIR}/__source_date_epoch.txt"
+SDE_DEPLOYDIR = "${WORKDIR}/deploy-source-date-epoch"
+
+BUILD_REPRODUCIBLE_BINARIES = "1"
+export PYTHONHASHSEED = "0"
+export PERL_HASH_SEED = "0"
+export SOURCE_DATE_EPOCH ?= "${@get_source_date_epoch_value(d)}"
+# A SOURCE_DATE_EPOCH of '0' might be misinterpreted as no SDE
+export SOURCE_DATE_EPOCH_FALLBACK ??= "1302044400"
+REPRODUCIBLE_TIMESTAMP_ROOTFS ??= "1520598896"
+
 ##
 # Settings used by bitbake-layers.
 ##
@@ -908,7 +924,8 @@ BB_HASHEXCLUDE_COMMON ?= "TMPDIR FILE PATH PWD BB_TASKHASH 
BBPATH BBSERVER DL_DI
 SSTATE_HASHEQUIV_METHOD SSTATE_HASHEQUIV_REPORT_TASKDATA \
 SSTATE_HASHEQUIV_OWNER CCACHE_TOP_DIR BB_HASHSERVE GIT_CEILING_DIRECTORIES 
\
 OMP_NUM_THREADS BB_CURRENTTASK"
-BB_HASHBASE_WHITELIST ?= "${BB_HASHEXCLUDE_COMMON} PSEUDO_IGNORE_PATHS 
BUILDHISTORY_DIR SSTATE_DIR "
+BB_HASHBASE_WHITELIST ?= "${BB_HASHEXCLUDE_COMMON} PSEUDO_IGNORE_PATHS 
BUILDHISTORY_DIR \
+SSTATE_DIR SOURCE_DATE_EPOCH"
 BB_HASHCONFIG_WHITELIST ?= "${BB_HASHEXCLUDE_COMMON} DATE TIME SSH_AGENT_PID \
 SSH_AUTH_SOCK PSEUDO_BUILD BB_ENV_EXTRAWHITE DISABLE_SANITY_CHECKS \
 PARALLEL_MAKE BB_NUMBER_THREADS BB_ORIGENV BB_INVALIDCONF BBINCLUDED \
-- 
2.32.0


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156942): 
https://lists.openembedded.org/g/openembedded-core/message/156942
Mute This Topic: https://lists.openembedded.org/mt/86310658/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH 5/7] reproducible: Merge code into base.bbclass

2021-10-14 Thread Richard Purdie
Reproducibility is here to stay and needs to be part of our default workflow.
Move the remaining code to base.bbclass so it is always a first class citizen
and it is clear people need to be mindful of it.

Signed-off-by: Richard Purdie 
---
 meta/classes/base.bbclass| 38 
 meta/classes/externalsrc.bbclass |  4 +-
 meta/classes/image-artifact-names.bbclass|  2 +-
 meta/classes/package_deb.bbclass |  3 +-
 meta/classes/package_ipk.bbclass |  3 +-
 meta/classes/package_rpm.bbclass |  3 +-
 meta/classes/reproducible_build.bbclass  | 96 
 meta/lib/oe/reproducible.py  | 51 +++
 meta/lib/oeqa/selftest/cases/reproducible.py |  1 -
 9 files changed, 95 insertions(+), 106 deletions(-)
 delete mode 100644 meta/classes/reproducible_build.bbclass

diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
index bca3944ae70..a65fcc6c1db 100644
--- a/meta/classes/base.bbclass
+++ b/meta/classes/base.bbclass
@@ -180,6 +180,44 @@ python base_do_unpack() {
 bb.fatal("Bitbake Fetcher Error: " + repr(e))
 }
 
+SSTATETASKS += "do_deploy_source_date_epoch"
+
+do_deploy_source_date_epoch () {
+mkdir -p ${SDE_DEPLOYDIR}
+if [ -e ${SDE_FILE} ]; then
+echo "Deploying SDE from ${SDE_FILE} -> ${SDE_DEPLOYDIR}."
+cp -p ${SDE_FILE} ${SDE_DEPLOYDIR}/__source_date_epoch.txt
+else
+echo "${SDE_FILE} not found!"
+fi
+}
+
+python do_deploy_source_date_epoch_setscene () {
+sstate_setscene(d)
+bb.utils.mkdirhier(d.getVar('SDE_DIR'))
+sde_file = os.path.join(d.getVar('SDE_DEPLOYDIR'), 
'__source_date_epoch.txt')
+if os.path.exists(sde_file):
+target = d.getVar('SDE_FILE')
+bb.debug(1, "Moving setscene SDE file %s -> %s" % (sde_file, target))
+bb.utils.rename(sde_file, target)
+else:
+bb.debug(1, "%s not found!" % sde_file)
+}
+
+do_deploy_source_date_epoch[dirs] = "${SDE_DEPLOYDIR}"
+do_deploy_source_date_epoch[sstate-plaindirs] = "${SDE_DEPLOYDIR}"
+addtask do_deploy_source_date_epoch_setscene
+addtask do_deploy_source_date_epoch before do_configure after do_patch
+
+python create_source_date_epoch_stamp() {
+source_date_epoch = oe.reproducible.get_source_date_epoch(d, d.getVar('S'))
+oe.reproducible.epochfile_write(source_date_epoch, d.getVar('SDE_FILE'), d)
+}
+do_unpack[postfuncs] += "create_source_date_epoch_stamp"
+
+def get_source_date_epoch_value(d):
+return oe.reproducible.epochfile_read(d.getVar('SDE_FILE'), d)
+
 def get_layers_branch_rev(d):
 layers = (d.getVar("BBLAYERS") or "").split()
 layers_branch_rev = ["%-20s = \"%s:%s\"" % (os.path.basename(i), \
diff --git a/meta/classes/externalsrc.bbclass b/meta/classes/externalsrc.bbclass
index ad93b2d2abf..abfe24bacec 100644
--- a/meta/classes/externalsrc.bbclass
+++ b/meta/classes/externalsrc.bbclass
@@ -109,8 +109,8 @@ python () {
 if local_srcuri and task in fetch_tasks:
 continue
 bb.build.deltask(task, d)
-if bb.data.inherits_class('reproducible_build', d) and task == 
'do_unpack':
-# The reproducible_build's create_source_date_epoch_stamp 
function must
+if task == 'do_unpack':
+# The reproducible build create_source_date_epoch_stamp 
function must
 # be run after the source is available and before the
 # do_deploy_source_date_epoch task.  In the normal case, it's 
attached
 # to do_unpack as a postfuncs, but since we removed do_unpack 
(above)
diff --git a/meta/classes/image-artifact-names.bbclass 
b/meta/classes/image-artifact-names.bbclass
index 67f04e81658..f5769e520f5 100644
--- a/meta/classes/image-artifact-names.bbclass
+++ b/meta/classes/image-artifact-names.bbclass
@@ -15,7 +15,7 @@ IMAGE_LINK_NAME ?= "${IMAGE_BASENAME}-${MACHINE}"
 IMAGE_NAME_SUFFIX ??= ".rootfs"
 
 python () {
-if bb.data.inherits_class('reproducible_build', d) and 
bb.data.inherits_class('deploy', d) and d.getVar("IMAGE_VERSION_SUFFIX") == 
"-${DATETIME}":
+if bb.data.inherits_class('deploy', d) and 
d.getVar("IMAGE_VERSION_SUFFIX") == "-${DATETIME}":
 import datetime
 d.setVar("IMAGE_VERSION_SUFFIX", "-" + 
datetime.datetime.fromtimestamp(int(d.getVar("SOURCE_DATE_EPOCH")), 
datetime.timezone.utc).strftime('%Y%m%d%H%M%S'))
 d.setVarFlag("IMAGE_VERSION_SUFFIX", "vardepvalue", "")
diff --git a/meta/classes/package_deb.bbclass b/meta/classes/package_deb.bbclass
index 65dbe6c3923..1ae6393d37d 100644
--- a/meta/classes/package_deb.bbclass
+++ b/meta/classes/package_deb.bbclass
@@ -315,8 +315,7 @@ python do_package_write_deb () {
 do_package_write_deb[dirs] = "${PKGWRITEDIRDEB}"
 do_package_write_deb[cleandirs] = "${PKGWRITEDIRDEB}"
 do_package_write_deb[depends] += 
"${@oe.utils.build_depends_string(d.getVar('PACKAGE_WRITE_DEPS'), 
'do_populate_sysroot')}"
-EPOCHTASK ??= ""
-addtas

[OE-core] [PATCH 1/7] reproducible_build: Drop now unneeded compiler warning

2021-10-14 Thread Richard Purdie
We now pass compiler options that mean the compiler will adjust these values to
SOURCE_DATE_EPOCH, the compiler warnings are now unneeded.

Signed-off-by: Richard Purdie 
---
 meta/classes/reproducible_build.bbclass | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/meta/classes/reproducible_build.bbclass 
b/meta/classes/reproducible_build.bbclass
index 7571c116c82..fd90d771d2b 100644
--- a/meta/classes/reproducible_build.bbclass
+++ b/meta/classes/reproducible_build.bbclass
@@ -58,9 +58,6 @@ SDE_DIR = "${WORKDIR}/source-date-epoch"
 SDE_FILE = "${SDE_DIR}/__source_date_epoch.txt"
 SDE_DEPLOYDIR = "${WORKDIR}/deploy-source-date-epoch"
 
-# Enable compiler warning when the __TIME__, __DATE__ and __TIMESTAMP__ macros 
are used.
-TARGET_CC_ARCH:append:class-target = " -Wdate-time"
-
 # A SOURCE_DATE_EPOCH of '0' might be misinterpreted as no SDE
 export SOURCE_DATE_EPOCH_FALLBACK ??= "1302044400"
 
-- 
2.32.0


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156939): 
https://lists.openembedded.org/g/openembedded-core/message/156939
Mute This Topic: https://lists.openembedded.org/mt/86310655/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH 2/7] reproducible_build: Drop obsolete sstate workaround

2021-10-14 Thread Richard Purdie
sstate has been sufficiently invalidated since this change was made, drop
the workaround now.

Signed-off-by: Richard Purdie 
---
 meta/classes/reproducible_build.bbclass | 4 
 1 file changed, 4 deletions(-)

diff --git a/meta/classes/reproducible_build.bbclass 
b/meta/classes/reproducible_build.bbclass
index fd90d771d2b..3f661794c61 100644
--- a/meta/classes/reproducible_build.bbclass
+++ b/meta/classes/reproducible_build.bbclass
@@ -126,10 +126,6 @@ def get_source_date_epoch_value(d):
 s = f.read()
 try:
 source_date_epoch = int(s)
-# workaround for old sstate with SDE_FILE content being 0 - 
use SOURCE_DATE_EPOCH_FALLBACK
-if source_date_epoch == 0 :
-source_date_epoch = 
int(d.getVar('SOURCE_DATE_EPOCH_FALLBACK'))
-bb.warn("SOURCE_DATE_EPOCH value from sstate '%s' is 
deprecated/invalid. Reverting to SOURCE_DATE_EPOCH_FALLBACK '%s'" % (s, 
source_date_epoch))
 except ValueError:
 bb.warn("SOURCE_DATE_EPOCH value '%s' is invalid. Reverting to 
SOURCE_DATE_EPOCH_FALLBACK" % s)
 source_date_epoch = int(d.getVar('SOURCE_DATE_EPOCH_FALLBACK'))
-- 
2.32.0


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156937): 
https://lists.openembedded.org/g/openembedded-core/message/156937
Mute This Topic: https://lists.openembedded.org/mt/86310652/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH 3/7] reproducible: Move class function code into library

2021-10-14 Thread Richard Purdie
To try and avoid parse/memory overhead of functions within bitbake,
move the bulk of the reproducibility functions to the function library.

Signed-off-by: Richard Purdie 
---
 meta/classes/base.bbclass   |  2 +-
 meta/classes/reproducible_build.bbclass | 37 ++---
 meta/lib/oe/reproducible.py | 33 ++
 3 files changed, 36 insertions(+), 36 deletions(-)

diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
index 59fd46e5d43..bca3944ae70 100644
--- a/meta/classes/base.bbclass
+++ b/meta/classes/base.bbclass
@@ -12,7 +12,7 @@ inherit logging
 
 OE_EXTRA_IMPORTS ?= ""
 
-OE_IMPORTS += "os sys time oe.path oe.utils oe.types oe.package 
oe.packagegroup oe.sstatesig oe.lsb oe.cachedpath oe.license oe.qa 
${OE_EXTRA_IMPORTS}"
+OE_IMPORTS += "os sys time oe.path oe.utils oe.types oe.package 
oe.packagegroup oe.sstatesig oe.lsb oe.cachedpath oe.license oe.qa 
oe.reproducible ${OE_EXTRA_IMPORTS}"
 OE_IMPORTS[type] = "list"
 
 PACKAGECONFIG_CONFARGS ??= ""
diff --git a/meta/classes/reproducible_build.bbclass 
b/meta/classes/reproducible_build.bbclass
index 3f661794c61..0f45b782e5d 100644
--- a/meta/classes/reproducible_build.bbclass
+++ b/meta/classes/reproducible_build.bbclass
@@ -91,19 +91,8 @@ addtask do_deploy_source_date_epoch_setscene
 addtask do_deploy_source_date_epoch before do_configure after do_patch
 
 python create_source_date_epoch_stamp() {
-import oe.reproducible
-
-epochfile = d.getVar('SDE_FILE')
-tmp_file = "%s.new" % epochfile
-
 source_date_epoch = oe.reproducible.get_source_date_epoch(d, d.getVar('S'))
-
-bb.debug(1, "SOURCE_DATE_EPOCH: %d" % source_date_epoch)
-bb.utils.mkdirhier(d.getVar('SDE_DIR'))
-with open(tmp_file, 'w') as f:
-f.write(str(source_date_epoch))
-
-os.rename(tmp_file, epochfile)
+oe.reproducible.epochfile_write(source_date_epoch, d.getVar('SDE_FILE'), d)
 }
 
 EPOCHTASK = "do_deploy_source_date_epoch"
@@ -112,29 +101,7 @@ EPOCHTASK = "do_deploy_source_date_epoch"
 do_unpack[postfuncs] += "create_source_date_epoch_stamp"
 
 def get_source_date_epoch_value(d):
-epochfile = d.getVar('SDE_FILE')
-cached, efile = d.getVar('__CACHED_SOURCE_DATE_EPOCH') or (None, None)
-if cached and efile == epochfile:
-return cached
-
-if cached and epochfile != efile:
-bb.debug(1, "Epoch file changed from %s to %s" % (efile, epochfile))
-
-source_date_epoch = int(d.getVar('SOURCE_DATE_EPOCH_FALLBACK'))
-try:
-with open(epochfile, 'r') as f:
-s = f.read()
-try:
-source_date_epoch = int(s)
-except ValueError:
-bb.warn("SOURCE_DATE_EPOCH value '%s' is invalid. Reverting to 
SOURCE_DATE_EPOCH_FALLBACK" % s)
-source_date_epoch = int(d.getVar('SOURCE_DATE_EPOCH_FALLBACK'))
-bb.debug(1, "SOURCE_DATE_EPOCH: %d" % source_date_epoch)
-except FileNotFoundError:
-bb.debug(1, "Cannot find %s. SOURCE_DATE_EPOCH will default to %d" % 
(epochfile, source_date_epoch))
-
-d.setVar('__CACHED_SOURCE_DATE_EPOCH', (str(source_date_epoch), epochfile))
-return str(source_date_epoch)
+return oe.reproducible.epochfile_read(d.getVar('SDE_FILE'), d)
 
 export SOURCE_DATE_EPOCH ?= "${@get_source_date_epoch_value(d)}"
 BB_HASHBASE_WHITELIST += "SOURCE_DATE_EPOCH"
diff --git a/meta/lib/oe/reproducible.py b/meta/lib/oe/reproducible.py
index 204b9bd734a..a5000574cfa 100644
--- a/meta/lib/oe/reproducible.py
+++ b/meta/lib/oe/reproducible.py
@@ -106,3 +106,36 @@ def get_source_date_epoch(d, sourcedir):
 fixed_source_date_epoch(d)   # Last resort
 )
 
+def epochfile_read(epochfile, d):
+cached, efile = d.getVar('__CACHED_SOURCE_DATE_EPOCH') or (None, None)
+if cached and efile == epochfile:
+return cached
+
+if cached and epochfile != efile:
+bb.debug(1, "Epoch file changed from %s to %s" % (efile, epochfile))
+
+source_date_epoch = int(d.getVar('SOURCE_DATE_EPOCH_FALLBACK'))
+try:
+with open(epochfile, 'r') as f:
+s = f.read()
+try:
+source_date_epoch = int(s)
+except ValueError:
+bb.warn("SOURCE_DATE_EPOCH value '%s' is invalid. Reverting to 
SOURCE_DATE_EPOCH_FALLBACK" % s)
+source_date_epoch = int(d.getVar('SOURCE_DATE_EPOCH_FALLBACK'))
+bb.debug(1, "SOURCE_DATE_EPOCH: %d" % source_date_epoch)
+except FileNotFoundError:
+bb.debug(1, "Cannot find %s. SOURCE_DATE_EPOCH will default to %d" % 
(epochfile, source_date_epoch))
+
+d.setVar('__CACHED_SOURCE_DATE_EPOCH', (str(source_date_epoch), epochfile))
+return str(source_date_epoch)
+
+def epochfile_write(source_date_epoch, epochfile, d):
+
+bb.debug(1, "SOURCE_DATE_EPOCH: %d" % source_date_epoch)
+bb.utils.mkdirhier(os.path.dirname(epochfile))
+
+tmp_file = "%s.new" % epochfile
+with open(tmp_file, 'w') as f:
+   

Re: [OE-core] [PATCH] oeqa/selftest/reproducibile: Include rust packages

2021-10-14 Thread Thomas Perrot
Hi Pgowda,

On Fri, 2021-10-08 at 13:34 +0100, Richard Purdie wrote:
> On Fri, 2021-10-08 at 17:29 +0530, pgowda cve wrote:
> > Hi Richard,
> > 
> > > > https://autobuilder.yoctoproject.org/typhoon/#/builders/118/builds/764
> > 
> > Thanks very much for sharing your inputs and comments on the issue.
> > 
> > I could see some more builds where rust exclusions were unused:-
> > Some of the example builds are:-
> > https://autobuilder.yoctoproject.org/typhoon/#/builders/118/builds/757
> > https://autobuilder.yoctoproject.org/typhoon/#/builders/118/builds/755
> > https://autobuilder.yoctoproject.org/typhoon/#/builders/118/builds/751
> > 
> > Can you please let me know about this inconsistent behavior?
> 
> The reproducible test runs on different hosts and has two builds it
> compares.
> The first build can come from sstate. The second build is built on the
> specific
> worker the builds runs on.
> 
> We can see from my link above that the build that shows reproducibility
> issues
> ran on fedora33 so it is probably something specific to that distro.
> 
> The most likely way to reproduce the issue is therefore to build on
> something
> like an ubuntu system and compare the packages with those built on a
> fedora33
> system.
> 
> > I will try to check the issue based on your inputs.
> > 
> > I tried to build the reproducible with and without rust exclusions on
> > many poky sources.
> > Could not see this error on any sources ranging over the past two
> > months.
> > More details on the issue are shared at:-
> > https://bugzilla.yoctoproject.org/show_bug.cgi?id=14525
> 
> It sounds like you're only testing on debian whilst the autobuilder has
> multiple
> different hosts which is the difference.
> 
> Cheers,
> 
> Richard
> 

There is a new occurrence of the reproducibility issue on Fedora 33 :
https://autobuilder.yoctoproject.org/typhoon/#/builders/118/builds/782/steps/12/logs/stdio

Best regards,
Thomas

> 
> 
> 

-- 
Thomas Perrot, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com



signature.asc
Description: This is a digitally signed message part

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156936): 
https://lists.openembedded.org/g/openembedded-core/message/156936
Mute This Topic: https://lists.openembedded.org/mt/86165875/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [PATCH] libpam: Fix build with DISTRO_FEATURES usrmerge

2021-10-14 Thread Alexandre Belloni
On 14/10/2021 08:54:35+0200, Zoltan Boszormenyi via lists.openembedded.org 
wrote:
> On 2021. 10. 13. 21:38, Dan McGregor wrote:
> > Thanks for this. I hit it pretty immediately.
> > 
> > On Tue, 12 Oct 2021 at 05:17, Zoltan Boszormenyi via
> > lists.openembedded.org  wrote:
> > > 
> > > From: Zoltán Böszörményi 
> > > 
> > > Signed-off-by: Zoltán Böszörményi 
> > > ---
> > >   meta/recipes-extended/pam/libpam_1.5.2.bb | 6 --
> > >   1 file changed, 4 insertions(+), 2 deletions(-)
> > > 
> > > diff --git a/meta/recipes-extended/pam/libpam_1.5.2.bb 
> > > b/meta/recipes-extended/pam/libpam_1.5.2.bb
> > > index a3c4a50cb3..ee3a84a3b6 100644
> > > --- a/meta/recipes-extended/pam/libpam_1.5.2.bb
> > > +++ b/meta/recipes-extended/pam/libpam_1.5.2.bb
> > > @@ -147,8 +147,10 @@ do_install() {
> > >  if 
> > > ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
> > >  echo "session optional pam_systemd.so" >> 
> > > ${D}${sysconfdir}/pam.d/common-session
> > >  fi
> > > -install -d ${D}/${libdir}/
> > > -   mv ${D}/${base_libdir}/pkgconfig ${D}/${libdir}/
> > > +   if 
> > > ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','false','true',d)}; then
> > 
> > In the patch I made that I kept local for now my condition was
> > 
> > if [ "${base_libdir}" != "${libdir}" ]
> > 
> > It could be that a user sets libdir and base_libdir to be equal
> > without enabling usrmerge, but both checks solve the immediate
> > problem.
> 
> Right, this is the correct solution.
> 

The patch was just merged in master so you'd have to rebase on that

> > 
> > 
> > > +   install -d ${D}/${libdir}/
> > > +   mv ${D}/${base_libdir}/pkgconfig ${D}/${libdir}/
> > > +   fi
> > >   }
> > > 
> > >   do_install_ptest() {
> > > --
> > > 2.31.1
> > > 
> > > 
> > > 
> > > 
> > > 
> > > 
> > > 
> > > 
> 

> 
> 
> 


-- 
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156935): 
https://lists.openembedded.org/g/openembedded-core/message/156935
Mute This Topic: https://lists.openembedded.org/mt/86259670/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH] patch: Use repr() with exceptions instead of str()

2021-10-14 Thread Richard Purdie
This gives more meaningful errors.

Signed-off-by: Richard Purdie 
---
 meta/classes/patch.bbclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta/classes/patch.bbclass b/meta/classes/patch.bbclass
index 87bcaf91a87..fdf3c633bc8 100644
--- a/meta/classes/patch.bbclass
+++ b/meta/classes/patch.bbclass
@@ -150,12 +150,12 @@ python patch_do_patch() {
 patchset.Import({"file":local, "strippath": parm['striplevel']}, 
True)
 except Exception as exc:
 bb.utils.remove(process_tmpdir, True)
-bb.fatal("Importing patch '%s' with striplevel '%s'\n%s" % 
(parm['patchname'], parm['striplevel'], str(exc)))
+bb.fatal("Importing patch '%s' with striplevel '%s'\n%s" % 
(parm['patchname'], parm['striplevel'], repr(exc)))
 try:
 resolver.Resolve()
 except bb.BBHandledException as e:
 bb.utils.remove(process_tmpdir, True)
-bb.fatal("Applying patch '%s' on target directory '%s'\n%s" % 
(parm['patchname'], patchdir, str(e)))
+bb.fatal("Applying patch '%s' on target directory '%s'\n%s" % 
(parm['patchname'], patchdir, repr(e)))
 
 bb.utils.remove(process_tmpdir, True)
 del os.environ['TMPDIR']
-- 
2.32.0


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156934): 
https://lists.openembedded.org/g/openembedded-core/message/156934
Mute This Topic: https://lists.openembedded.org/mt/86309340/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [PATCH v3 1/1] ltp: Update to 20210927

2021-10-14 Thread Richard Purdie
On Sat, 2021-10-02 at 19:25 +0200, Petr Vorel wrote:
> New patches to fix functionality:
> * 0002-lib-fix-MemAvailable-parsing.patch
> * 0003-lapi-rtnetlink.h-Fix-include-guards.patch
> * 0004-lapi-Create-if_addr.h-and-reuse-it-in-rtnetlink.h.patch
> * 0005-lapi-if_addr.h-Define-IFA_FLAGS.patch
> 
> Removed patch from this release
> * 0001-syscalls-ioctl_ns05.c-ioctl_ns06.c-Fix-too-small-buf.patch
> 
> Rebased patch
> * 0001-Remove-OOM-tests-from-runtest-mm.patch
> 
> * Updated copying (reduced files in 5eff445d4 ("Reduce LICENCE/COPYING 
> files"))
> 
> * Updated removed musl incompatible files in
>   remove_broken_musl_sources() (process.c was removed in 926d3b906
>   ("sched: Remove process.c")), also update link to CI file.
> 
> 
> 
> diff --git 
> a/meta/recipes-extended/ltp/ltp/0002-lib-fix-MemAvailable-parsing.patch 
> b/meta/recipes-extended/ltp/ltp/0002-lib-fix-MemAvailable-parsing.patch
> new file mode 100644
> index 00..4a9a5b2363
> --- /dev/null
> +++ b/meta/recipes-extended/ltp/ltp/0002-lib-fix-MemAvailable-parsing.patch
> @@ -0,0 +1,36 @@
> +From 29a096fe2bd356f419bd8a8404d5b652c996b92f Mon Sep 17 00:00:00 2001
> +From: Ralph Siemsen 
> +Date: Mon, 27 Sep 2021 22:18:50 -0400
> +Subject: [PATCH] lib: fix MemAvailable parsing
> +
> +The amount of available memory was not being returned correctly, which
> +resulted in tests being executed when they should have been skipped.
> +
> +Fixes: 8759f4 ("lib: adjust the tmpfs size according to .dev_min_size and 
> MemAvailable")
> +Signed-off-by: Ralph Siemsen 
> +Signed-off-by: Li Wang 
> +Signed-off-by: Petr Vorel 
> +[ upstream status: e42149e28 ("lib: fix MemAvailable parsing") ]

That for the upgrade. Just for future reference, the format for these is:

Upstream-Status: Backport [XXX]
or
Upstream-Status: Submitted [XXX]

I've tweaked the patches in this case.

Cheers,

Richard




-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156933): 
https://lists.openembedded.org/g/openembedded-core/message/156933
Mute This Topic: https://lists.openembedded.org/mt/86027429/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH] linux-yocto-dev: Ensure DEPENDS matches recent 5.14 kernel changes

2021-10-14 Thread Richard Purdie
DEPENDS here should match what 5.14 is using.

Signed-off-by: Richard Purdie 
---
 meta/recipes-kernel/linux/linux-yocto-dev.bb | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/recipes-kernel/linux/linux-yocto-dev.bb 
b/meta/recipes-kernel/linux/linux-yocto-dev.bb
index f58b5ab0b86..005b6887789 100644
--- a/meta/recipes-kernel/linux/linux-yocto-dev.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-dev.bb
@@ -38,6 +38,7 @@ LIC_FILES_CHKSUM = 
"file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
 
 DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
 DEPENDS += "openssl-native util-linux-native"
+DEPENDS += "gmp-native libmpc-native"
 
 COMPATIBLE_MACHINE = 
"(qemuarm|qemux86|qemuppc|qemumips|qemumips64|qemux86-64|qemuriscv64)"
 
-- 
2.32.0


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156932): 
https://lists.openembedded.org/g/openembedded-core/message/156932
Mute This Topic: https://lists.openembedded.org/mt/86308914/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [PATCH] linux-yocto: add libmpc-native to DEPENDS

2021-10-14 Thread Andrey Zhizhikin
Hello all,

On Wed, Oct 6, 2021 at 1:20 PM Bruce Ashfield  wrote:
>
> On Wed, Oct 6, 2021 at 7:42 AM Ross Burton  wrote:
> >
> > I should have put this in the commit message, but here's the failure
> > when using an external toolchain:
> >
> > 2021-10-05 12:52:14 - INFO - | HOSTCXX
> > scripts/gcc-plugins/arm_ssp_per_task_plugin.so
> > 2021-10-05 12:52:14 - INFO - | In file included from
> > /builds/engineering/yocto/meta-arm/work/build/tmp/work-shared/fvp-base-arm32/kernel-source/scripts/gcc-plugins/gcc-common.h:103,
> > 2021-10-05 12:52:14 - INFO - | from
> > /builds/engineering/yocto/meta-arm/work/build/tmp/work-shared/fvp-base-arm32/kernel-source/scripts/gcc-plugins/arm_ssp_per_task_plugin.c:3:
> > 02021-10-05 12:52:14 - INFO - |
> > /builds/persist/toolchains/gcc-arm-10.3-2021.07-aarch64-arm-none-linux-gnueabihf/bin/../lib/gcc/arm-none-linux-gnueabihf/10.3.1/plugin/include/builtins.h:23:10:
> > fatal error: mpc.h: No such file or directory
> > 2021-10-05 12:52:14 - INFO - | #include 
> > 2021-10-05 12:52:14 - INFO - | ^~~
> > 2021-10-05 12:52:14 - INFO - | compilation terminated.
>
> Aha. Yes, that does tell the story. I knew it had to be a compilation
> failure, since that is how I picked up the other DEPENDS.

Sorry for jumping in here, I guess there is one additional issue that
would be unraveled after libmpc will be included.

What I saw long time ago (starting from v5.13.y) is that even when
both gmp and libmpc are added, following build errors are produced
from ARM32 builds when defconfig is used:

cc1: error: cannot load plugin
./scripts/gcc-plugins/arm_ssp_per_task_plugin.so:
./scripts/gcc-plugins/arm_ssp_per_task_plugin.so: undefined symbol:
_ZN8opt_pass14set_pass_paramEjb
cc1: error: cannot load plugin
./scripts/gcc-plugins/arm_ssp_per_task_plugin.so:
./scripts/gcc-plugins/arm_ssp_per_task_plugin.so: undefined symbol:
_ZN8opt_pass14set_pass_paramEjb


It seems that GCC plugins are somehow disabled in SDK GCC, but Kernel
build system checks them on the host, which does provide them. This
leads to a false identification that plugins are enabled and leads to
further build failures.

This behavior came with commit 1e860048c53e ("gcc-plugins: simplify
GCC plugin-dev capability test"), where previously build system ran an
internal script to verify if plugins are present by running compile
tests, but after this commit - it checks only if the folder containing
plugins is there. This leads to the issue that when host GCC has the
folder - plugins are enabled, but when later the compile pass is taken
- it fails since the .so is not present in the SDK sysroot.

I'd have to point out that this error only occurs for ARM32 builds,
aarch64 builds are not affected.

This has also been discussed here on the list, but I can't seem to
find a reference to it anymore.

>
> Did we want to tweak the commit message and add linux-yocto-dev to the
> patch ? I can have go at that if you want.
>
> Bruce
>
> >
> > On Wed, 6 Oct 2021 at 11:12, Ross Burton  wrote:
> > >
> > > On Wed, 6 Oct 2021 at 11:10, Ross Burton  wrote:
> > > > This depends on CONFIG_GCC_PLUGINS which I don't believe is enabled in
> > > > any of the default configurations.  meta-arm builds a few kernels with
> > > > defconfig, which does.
> > >
> > > Sorry, brain still not warmed up yet.
> > >
> > > CONFIG_GCC_PLUGINS needs to be enabled, but the real difference is
> > > that using the normal GCC pulls libmpc into the sysroot via implicit
> > > dependencies.  If you use an external toolchain (like
> > > meta-arm-toolchain) this doesn't happen, and the dependency needs to
> > > be explicit.
> > >
> > > Ross
>
>
>
> --
> - Thou shalt not follow the NULL pointer, for chaos and madness await
> thee at its end
> - "Use the force Harry" - Gandalf, Star Trek II
>
> 
>


--
Regards,
Andrey.

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156931): 
https://lists.openembedded.org/g/openembedded-core/message/156931
Mute This Topic: https://lists.openembedded.org/mt/86092630/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH] libcap: fix nativesdk-libcap relocate failure

2021-10-14 Thread hongxu
./lat-sdk-poky-intel-x86-64-1.0.sh -y -d sdk-3
...
Setting it up...ERROR: could not relocate
/buildarea/raid5/hjia/community/lat_github_090816/build-3/tmp/deploy/sdk/sdk-3/sysroots/x86_64-pokysdk-linux/usr/lib/libpsx.so.2.54,
 interp size = 93 and 134 is needed.
...

Since upstream libcap applied commit [ee3b25c Support simply executing
the built shared libraries.][1], it manually append interp section to shared
libraries.

Refer the implement of Yocto glibc[2], allocated a 4096 byte .interp section
for nativesdk

[1] 
https://git.kernel.org/pub/scm/linux/kernel/git/morgan/libcap.git/commit/?id=ee3b25c0a877fa74d1aec88f325ac45b09963c82
[2] 
meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch

Signed-off-by: Hongxu Jia 
---
 ...-Raise-the-size-of-arrays-containing.patch | 36 +++
 meta/recipes-support/libcap/libcap_2.54.bb|  3 ++
 2 files changed, 39 insertions(+)
 create mode 100644 
meta/recipes-support/libcap/files/0001-nativesdk-libcap-Raise-the-size-of-arrays-containing.patch

diff --git 
a/meta/recipes-support/libcap/files/0001-nativesdk-libcap-Raise-the-size-of-arrays-containing.patch
 
b/meta/recipes-support/libcap/files/0001-nativesdk-libcap-Raise-the-size-of-arrays-containing.patch
new file mode 100644
index 00..c7bf1a8b8c
--- /dev/null
+++ 
b/meta/recipes-support/libcap/files/0001-nativesdk-libcap-Raise-the-size-of-arrays-containing.patch
@@ -0,0 +1,36 @@
+From 794cebc5732908636f22a1d9843fed3ae664899a Mon Sep 17 00:00:00 2001
+From: Hongxu Jia 
+Date: Thu, 14 Oct 2021 15:57:36 +0800
+Subject: [PATCH] nativesdk-libcap: Raise the size of arrays containing dl
+ paths
+
+This patch puts the dynamic loader path in the binaries, SYSTEM_DIRS strings
+and lengths as well as ld.so.cache path in the dynamic loader to specific
+sections in memory. The sections that contain paths have been allocated a 4096
+byte section, which is the maximum path length in linux. This will allow the
+relocating script to parse the ELF binary, detect the section and easily 
replace
+the strings in a certain path.
+
+Upstream-Status: Inappropriate [SDK specific]
+
+Signed-off-by: Hongxu Jia 
+---
+ libcap/execable.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libcap/execable.h b/libcap/execable.h
+index 0bcc5d4..6e2a080 100644
+--- a/libcap/execable.h
 b/libcap/execable.h
+@@ -23,7 +23,7 @@
+ #endif
+ #define __EXECABLE_H
+ 
+-const char __execable_dl_loader[] __attribute((section(".interp"))) =
++const char __execable_dl_loader[4096] __attribute((section(".interp"))) =
+ SHARED_LOADER ;
+ 
+ static void __execable_parse_args(int *argc_p, char ***argv_p)
+-- 
+2.27.0
+
diff --git a/meta/recipes-support/libcap/libcap_2.54.bb 
b/meta/recipes-support/libcap/libcap_2.54.bb
index 04362e7032..fe29f05483 100644
--- a/meta/recipes-support/libcap/libcap_2.54.bb
+++ b/meta/recipes-support/libcap/libcap_2.54.bb
@@ -13,6 +13,9 @@ SRC_URI = 
"${KERNELORG_MIRROR}/linux/libs/security/linux-privs/${BPN}2/${BPN}-${

file://0001-ensure-the-XATTR_NAME_CAPS-is-defined-when-it-is-use.patch \
file://0002-tests-do-not-run-target-executables.patch \
"
+SRC_URI:append:class-nativesdk = " \
+   
file://0001-nativesdk-libcap-Raise-the-size-of-arrays-containing.patch \
+   "
 SRC_URI[sha256sum] = 
"5091b24247999fd7a5e62bd9ac8bc761cda29f9baa0d1a2ca6a46f13891b4f0f"
 
 UPSTREAM_CHECK_URI = 
"https://www.kernel.org/pub/linux/libs/security/linux-privs/${BPN}2/";
-- 
2.27.0


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156930): 
https://lists.openembedded.org/g/openembedded-core/message/156930
Mute This Topic: https://lists.openembedded.org/mt/86307864/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-