<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/poky.git/meta/classes/package.bbclass, branch yocto-4.0.14</title>
<subtitle>Mirror of git.yoctoproject.org/poky</subtitle>
<id>https://git.enea.com/cgit/linux/poky.git/atom?h=yocto-4.0.14</id>
<link rel='self' href='https://git.enea.com/cgit/linux/poky.git/atom?h=yocto-4.0.14'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/'/>
<updated>2023-07-26T15:20:36+00:00</updated>
<entry>
<title>package.bbclass: moving field data process before variable process in process_pkgconfig</title>
<updated>2023-07-26T15:20:36+00:00</updated>
<author>
<name>Xiangyu Chen</name>
<email>xiangyu.chen@windriver.com</email>
</author>
<published>2023-07-21T09:05:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=6539812e238edfefc0941abeabbbebe345c0cd3b'/>
<id>urn:sha1:6539812e238edfefc0941abeabbbebe345c0cd3b</id>
<content type='text'>
Currently, the latest version abseil-cpp contains a new library named "absl_log_internal_format", it's
basic package config(.pc file) as below:

prefix=/usr
exec_prefix=${prefix}

......

Requires: absl_config = 20230125, absl_core_headers = 20230125, absl_log_internal_append_truncated = 20230125,
absl_log_internal_config = 20230125, absl_log_internal_globals = 20230125, absl_log_severity = 20230125,
absl_strings = 20230125, absl_str_format = 20230125, absl_time = 20230125, absl_span = 20230125
......

Normally, the process_pkgconfig() would process variable data before field data in a .pc file, but in the
absl_log_internal_format, the field data in "Requires" section contains "xxxx = xxxx" format, the
process_pkgconfig() treats them as normal variable and using the setVar() in bitbake's data_smart.py
try to process. The absl_log_internal_format field data contains "_append_", this hit the setVar() checking
and finally bitbake stop building and reporting an error as below:

"Variable xxx contains an operation using the old override syntax. Please convert this layer/metadata before attempting to use with a newer bitbake."

This patch move the field data process before variable process to avoid the process_pkgconfig() treat the field
data as variable.

(From OE-Core rev: e7d3e02a624f7ce23d012bb11ad1df2049066b37)

Signed-off-by: Xiangyu Chen &lt;xiangyu.chen@windriver.com&gt;
(cherry picked from commit a73e269d3e591a10bb397b94b82e3fb960112d33)
Signed-off-by: Clément Péron &lt;peron.clem@gmail.com&gt;
Signed-off-by: Steve Sakoman &lt;steve@sakoman.com&gt;
</content>
</entry>
<entry>
<title>package: enable recursion on file globs</title>
<updated>2023-06-02T02:24:08+00:00</updated>
<author>
<name>Randolph Sapp</name>
<email>rs@ti.com</email>
</author>
<published>2023-05-26T23:36:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=ae34dbb41051987292f6db75978fb7d567ab52dd'/>
<id>urn:sha1:ae34dbb41051987292f6db75978fb7d567ab52dd</id>
<content type='text'>
Enable recursion of file globs. This just allows the use of '**' in file
globs to match 0 or more subdirectories, it should not make all current
globs recursive [1].

[1] https://docs.python.org/3.6/library/glob.html#glob.glob

(From OE-Core rev: 90855ef11e3bd85eea718532f20878b72aa729b4)

Signed-off-by: Randolph Sapp &lt;rs@ti.com&gt;
Signed-off-by: Alexandre Belloni &lt;alexandre.belloni@bootlin.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
Signed-off-by: Steve Sakoman &lt;steve@sakoman.com&gt;
</content>
</entry>
<entry>
<title>package.bbclass: correct check for /build in copydebugsources()</title>
<updated>2023-04-19T14:45:00+00:00</updated>
<author>
<name>Peter Marko</name>
<email>peter.marko@siemens.com</email>
</author>
<published>2023-04-14T15:32:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=fa856e0dac16e13991561882bc6ad4c830674d78'/>
<id>urn:sha1:fa856e0dac16e13991561882bc6ad4c830674d78</id>
<content type='text'>
Newly introduced kirkstone-only commit
https://git.openembedded.org/openembedded-core/commit/?h=kirkstone&amp;id=80839835ec9fcb63069289225a3c1af257ffdef7
broke builds with externalsrc in Gitlab-CI.
This is yocto-4.0.9 regression.

It checks if directory starts with "build" instead of
if checking if it equals to "build".
Gitlab-CI uses directory "/builds" which matches the check
but directory /build does not exist, only /builds.
After successful check it tries to move this non-existent
directory which does not exists and thus do_package fails.

(From OE-Core rev: b67e714b367a08fdeeeff68c2d9495ec9bc07304)

Signed-off-by: Peter Marko &lt;peter.marko@siemens.com&gt;
Signed-off-by: Steve Sakoman &lt;steve@sakoman.com&gt;
</content>
</entry>
<entry>
<title>package.bbclase: Add check for /build in copydebugsources()</title>
<updated>2023-03-09T13:19:02+00:00</updated>
<author>
<name>Saul Wold</name>
<email>saul.wold@windriver.com</email>
</author>
<published>2023-02-21T02:31:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=d4d9aa02eaacfd22deb9ea2766776a76c9c76e62'/>
<id>urn:sha1:d4d9aa02eaacfd22deb9ea2766776a76c9c76e62</id>
<content type='text'>
This is needed when the SDK or eSDK is installed in a /build top level
directory as it conflicts with the build directory within the existing
/usr/src/debug/build (which is really a link). Rename it and then do the
copy, this is not an issue with master currently due to some other
changes that occurred in master.

Fixes: [YOCTO #15026]

(From OE-Core rev: 80839835ec9fcb63069289225a3c1af257ffdef7)

Signed-off-by: Saul Wold &lt;saul.wold@windriver.com&gt;
Signed-off-by: Steve Sakoman &lt;steve@sakoman.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>package: Fix handling of minidebuginfo with newer binutils</title>
<updated>2022-11-24T15:30:00+00:00</updated>
<author>
<name>Nathan Rossi</name>
<email>nathan.rossi@digi.com</email>
</author>
<published>2022-11-14T08:17:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=896727f943e7b1fcdd0ef56fb1e66f1b34046316'/>
<id>urn:sha1:896727f943e7b1fcdd0ef56fb1e66f1b34046316</id>
<content type='text'>
Newer versions of binutils (2.38+) have changed how the
"--only-keep-debug" of objcopy behaves when stripping non-debug sections
from an ELF.

  https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=68f543154e92ab0f5d6c569e0fa143f5e8bd2d80

This change causes associated sections to be correctly marked as NOBITS
with the section contents removed from the output. The side effect is
that this causes issues with objcopy's ability to perform symbol and
relocation stripping (-S/--strip-all) on the debug split ELF, such that
with some object files (e.g. kernel modules) objcopy fails to strip
symbols/relocations with an error like the following:

  .../.debug/nls_cp950.ko[.rodata]: file truncated

Because of this it is now problematic to generate minidebuginfo for
these types of ELF objects. However it is not typically useful to inject
minidebuginfo into these types of ELFs, and other distributions (e.g.
Fedora, referring to find-debuginfo.sh of debugedit) only insert
minidebuginfo into executables and shared libraries.

This change causes the minidebuginfo injection to only apply to EXEC/DYN
type ELFs, which limits the injection to executables and shared
libraires.

Additionally this change fixes the parsing of the sections from the
"readelf -W -S" output which was not accounting for the section index
column having leading spaces for single digit index values e.g. "[ 1]".

(From OE-Core rev: 9485559d269ed11bfcc90399c9282549ced35ce0)

Signed-off-by: Nathan Rossi &lt;nathan.rossi@digi.com&gt;
Signed-off-by: Alexandre Belloni &lt;alexandre.belloni@bootlin.com&gt;
(cherry picked from commit 2084cfcb3d15db3e02637f1cd63ab9c997f38a65)
Signed-off-by: Steve Sakoman &lt;steve@sakoman.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>package.bbclass: Fix kernel source handling when not using externalsrc</title>
<updated>2022-07-25T14:11:46+00:00</updated>
<author>
<name>Alejandro Hernandez Samaniego</name>
<email>alhe@linux.microsoft.com</email>
</author>
<published>2022-07-15T17:46:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=4fd8f9b863ffa98feb48ceb63691781240099754'/>
<id>urn:sha1:4fd8f9b863ffa98feb48ceb63691781240099754</id>
<content type='text'>
Previous commit c725bdb29b266 broke kernel source handling, this was due
to the code expecting the sources to be in a different directory, this did
not happen when using externalsrc since sources were found in the expected
directories.

Pass work-shared to the check to allow sources to be found in the proper
directory, allowing these to be packaged in the next step.

To test this we grabbed a commit where we knew the buildpaths
QA test should flag a file inside the kernel sources, with the previous
commit the QA warning wasnt flagged since no sources where there, with
this fix the buildpaths QA warning gets flagged properly.

(From OE-Core rev: 8efd5e31670235f7c59af2a5ee14646f029f4d18)

Signed-off-by: Alejandro Enedino Hernandez Samaniego &lt;alhe@linux.microsoft.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
(cherry picked from commit 2714a8ef8c7b3c66d50f27f4f52fe2fe4db39b00)
Signed-off-by: Steve Sakoman &lt;steve@sakoman.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>package.bbclass: Avoid stripping signed kernel modules in splitdebuginfo</title>
<updated>2022-07-25T14:11:46+00:00</updated>
<author>
<name>Christoph Lauer</name>
<email>christoph.lauer@xtronic.de</email>
</author>
<published>2022-07-13T21:07:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=f1d0a3c7c6c6f1a2f077fb3ad14c30379cc11865'/>
<id>urn:sha1:f1d0a3c7c6c6f1a2f077fb3ad14c30379cc11865</id>
<content type='text'>
Since commit d756b346f248df47b0540644adb1d0f17bcc4b6e kernel modules are stripped by the functions 'runstrip' and 'splitdebuginfo'. Signed modules must not be stripped. Function 'runstrip' avoids this by running is_kernel_module_signed. Apply the same check to splitdebuginfo.

(From OE-Core rev: 6859226652339b19cbc7bdfec074fe2016cdee60)

(From OE-Core rev: cefc6ec245ac1ca7a1a47d55aaec793e730a24a5)

Signed-off-by: Christoph Lauer &lt;christoph.lauer@xtronic.de&gt;
Signed-off-by: Alexandre Belloni &lt;alexandre.belloni@bootlin.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
(cherry picked from commit dc0f0413eabfd50f78d887f73f808d40a314fbd8)
Signed-off-by: Steve Sakoman &lt;steve@sakoman.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>package.bbclass: Fix base directory for debugsource files when using externalsrc</title>
<updated>2022-07-25T14:11:46+00:00</updated>
<author>
<name>Alejandro Hernandez Samaniego</name>
<email>alhe@linux.microsoft.com</email>
</author>
<published>2022-07-01T02:09:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=195b61756bae2d0066b411eea9e14da9de3992a9'/>
<id>urn:sha1:195b61756bae2d0066b411eea9e14da9de3992a9</id>
<content type='text'>
While executing do_package, bitbake checks for a list of
debug source files and uses a pattern to match the ones
to be included in copydebugsources.

Previously when externalsrc was in use either directly or by
using devtool, the source location changed and this pattern
no longer matched, hence debug source files failed to be
included in the corresponding package.

Check when the source directory isnt the default (based on
WORKDIR), and change the pattern used to match debug source
files if that is the case, allowing us to perform do_package
properly.

Workaround debugsource.list containing paths from the host by
moving debug source files away from the host directory
structure  to avoid host contamination (this seems to happen
when packages use $TMPDIR/work-shared and externalsrc is
in use).

Test matrix included using:
- devtool to use externalsrc automatically
- externalsrc with a non-devtool based source directory
- No externalsrc at all
Tested the following packages to be working:
- glibc ($TMPDIR/work-shared based)
- libxcrypt ($TMPDIR/work based)

[YOCTO 8015]

(From OE-Core rev: 2772b77c0e3d0f6226a2d7c40a59900a6d7c942f)

Signed-off-by: Alejandro Enedino Hernandez Samaniego &lt;alhe@linux.microsoft.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
(cherry picked from commit a887bd96fd0a15398e8077ea79df5070971866e4)
Signed-off-by: Steve Sakoman &lt;steve@sakoman.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>package: Ensure we track whether PRSERV was active or not</title>
<updated>2022-05-12T15:44:06+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2022-05-08T11:26:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=667ea364293a3650de529941b83105b2a522be8c'/>
<id>urn:sha1:667ea364293a3650de529941b83105b2a522be8c</id>
<content type='text'>
Currently the signatures for do_packagedata don't reflect whether PRServ
was active or not. This means that if you have mxiing of PRServ usage and
non PRServ usage against the same sstate cache it can rarely become
corrupted with one referencing the other.

This likely doesn't happen in general but does on the autobuilder as PRServ
is tested. Add in some variables to ensure the binary state of PRServ being
enabled or disabled is tracked (but not the server value). We continue to
assume one PRServ is used per sstate cache.

(From OE-Core rev: 4c2f429d6876c29b17931daa039c4899aacd7234)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
(cherry picked from commit dd660e5c3fb74f7c4b7b8e863f7143066ae22813)
Signed-off-by: Steve Sakoman &lt;steve@sakoman.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>package.bbclass: Prevent perform_packagecopy from removing /sysroot-only</title>
<updated>2022-05-04T12:07:33+00:00</updated>
<author>
<name>Russ Dill</name>
<email>russ.dill@nikolamotor.com</email>
</author>
<published>2022-04-20T16:03:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=ef36e735aea8752e92238386c8432cbba104f9d7'/>
<id>urn:sha1:ef36e735aea8752e92238386c8432cbba104f9d7</id>
<content type='text'>
The files in /sysroot-only are intended to make it into the
recipes sysroot output, but not into the package. However, if
do_package is run before do_populate_sysroot, the files are
removed.

Use a smaller hammer to avoid copying the files into the package so
they are still around when do_populate_sysroot runs.

(From OE-Core rev: acc0a31305cb1f799e8a6b3ea2d2c5ac5a9f67ee)

Signed-off-by: Russ Dill &lt;russ.dill@nikolamotor.com&gt;
Signed-off-by: Luca Ceresoli &lt;luca.ceresoli@bootlin.com&gt;
(cherry picked from commit 493145c6f1bc92ab2b7a23e181641b09df87c9ff)
Signed-off-by: Steve Sakoman &lt;steve@sakoman.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
</feed>
