<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/poky.git/meta/classes/package.bbclass, branch 3.2_M2</title>
<subtitle>Mirror of git.yoctoproject.org/poky</subtitle>
<id>https://git.enea.com/cgit/linux/poky.git/atom?h=3.2_M2</id>
<link rel='self' href='https://git.enea.com/cgit/linux/poky.git/atom?h=3.2_M2'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/'/>
<updated>2020-07-22T11:45:56+00:00</updated>
<entry>
<title>classes/package: Use HOST_OS for runtime dependencies</title>
<updated>2020-07-22T11:45:56+00:00</updated>
<author>
<name>Joshua Watt</name>
<email>JPEWhacker@gmail.com</email>
</author>
<published>2020-07-21T17:52:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=0f5ae7e79b87c6d903ca57cb695d802deb8d61d8'/>
<id>urn:sha1:0f5ae7e79b87c6d903ca57cb695d802deb8d61d8</id>
<content type='text'>
The code was using TARGET_OS to try and detect what type of OS the
packages would be running on, but this is incorrect. TARGET_OS is the OS
for which the package will generate output (e.g. GCC output target or
GDB debugging target). The OS where the package will run is the HOST_OS.
Note that HOST_OS only differs from TARGET_OS when doing a
canadian cross compile, and even then in our case only when doing so for
a non-Linux host (e.g. MinGW).

Fix the code to use HOST_OS instead.

(From OE-Core rev: f284c5b2df220b520b025a59874e04ef4becd829)

Signed-off-by: Joshua Watt &lt;JPEWhacker@gmail.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>package.bbclass: add PACKAGE_ADD_METADATA to sstate variables</title>
<updated>2020-05-25T21:25:53+00:00</updated>
<author>
<name>Michael Ho</name>
<email>Michael.Ho@bmw.de</email>
</author>
<published>2020-05-25T08:22:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=1dfd6dad27c0dea1ec6bb20e4bee8f42ae20c525'/>
<id>urn:sha1:1dfd6dad27c0dea1ec6bb20e4bee8f42ae20c525</id>
<content type='text'>
The PACKAGE_ADD_METADATA can be used to define additional metadata for
packages. Changes to this variable should affect the packaging sstate hash
so packages are re-generated when this variable changes.

This variable is added to both PKGDATA_VARS and PACKAGEVARS. It is needed
in PACKAGEVARS to ensure changes invoke do_package to re-run. It is needed
in PKGDATA_VARS to ensure changes are written into the pkgdata so that the
hash equiv reports a change and does not skip over the package_write tasks.

(From OE-Core rev: de871a51cc450e3f90c923c5d80155453e5c241d)

Signed-off-by: Michael Ho &lt;Michael.Ho@bmw.de&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>package: get_package_mapping: avoid dependency mapping if renamed package provides original name</title>
<updated>2020-04-26T13:00:50+00:00</updated>
<author>
<name>Yann Dirson</name>
<email>yann@blade-group.com</email>
</author>
<published>2020-04-07T20:02:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=d645fe38d38a9fe499c2c79b1b2dced3bed01a89'/>
<id>urn:sha1:d645fe38d38a9fe499c2c79b1b2dced3bed01a89</id>
<content type='text'>
Packages with a runtime dependency on a target package whose name is
changed by the PKG_* mechanism must rebuild when that mapping changes,
but we have no way of tracking this today, so
eg. packagegroup-machine-base ends up with a relationship on a
versioned kernel-image, and does not get rebuilt when that version
changes, leading to unsatisfiable dependency and reproducibility
issue.

OTOH there is no reason for the dependency to get rewritten if the
renamed package already has a RPROVIDES on the non-rewritten package
name, and if the dependency relationship is an unversionned one.  This
is what this patch prevents.

Note that this may not cover all cases of rewritten package names.

Notably I had to let the rewrite be done in the case of versionned
dependencies, as package managers usually can follow "Provides" in
such case; this includes many dependencies against shared-lib packages
renamed to their soname, and those at least are OK, since the
dependent recipe should explicitly depend on the target recipe.

(From OE-Core rev: 920beaaeef62b558e046f32c8ef0332250969ef1)

Signed-off-by: Yann Dirson &lt;yann@blade-group.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>package.bbclass: inject "minidebuginfo" into packaged binaries</title>
<updated>2020-04-26T13:00:50+00:00</updated>
<author>
<name>Dan Callaghan</name>
<email>dan.callaghan@opengear.com</email>
</author>
<published>2020-04-19T08:16:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=6efa038c01e42af7602f805b9035df7ab4e0df73'/>
<id>urn:sha1:6efa038c01e42af7602f805b9035df7ab4e0df73</id>
<content type='text'>
"Mini debuginfo" is a special section in ELF executables containing
minimal compressed debuginfo for non-exported symbols:

https://sourceware.org/gdb/onlinedocs/gdb/MiniDebugInfo.html

It lets debugging tools produce better stack traces, including local
function names, without incurring the space overhead of full debuginfo.
The feature was originally developed for Fedora:

https://fedoraproject.org/wiki/Features/MiniDebugInfo

but nowadays it is widely supported in the ecosystem, including in gdb
and elfutils (and therefore also in tools which use elfutils, such as
systemd-coredump).

This patch adds an optional extra step in package.bbclass to inject
minidebuginfo while stripping and splitting out debuginfo. It can be
enabled by setting PACKAGE_MINIDEBUGINFO=1. In my testing, this
increases the size of resulting binaries by roughly 5%.

The code for producing and re-injecting the minidebuginfo is my own
Python implementation but corresponds directly to the shell
implementation that RPM uses for doing the same:

https://github.com/rpm-software-management/rpm/blob/rpm-4.15.1-release/scripts/find-debuginfo.sh#L261

(From OE-Core rev: 4df992ce50c2d12e356b6d9fe7b23a6320c8b4df)

Signed-off-by: Dan Callaghan &lt;dan.callaghan@opengear.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>package: Correct variable dependecies</title>
<updated>2020-02-23T23:33:48+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2020-02-23T10:03:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=5281e3f10121771f26f944caeb83cd3789bd7be0'/>
<id>urn:sha1:5281e3f10121771f26f944caeb83cd3789bd7be0</id>
<content type='text'>
Ensure that the plain variable X is also added to the dependencies
as well as X_&lt;pkg&gt;.

Allow the funciton to be called with a different variable list too.

(From OE-Core rev: c392401e10ff43d10b7e57c9d552522a02c91878)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>package.bbclass: Support stripping and debug copy of static libraries</title>
<updated>2020-02-08T13:20:02+00:00</updated>
<author>
<name>Mark Hatle</name>
<email>mark.hatle@kernel.crashing.org</email>
</author>
<published>2020-02-07T20:20:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=38a754214a84ddfd27e537babf2bf5d992371b67'/>
<id>urn:sha1:38a754214a84ddfd27e537babf2bf5d992371b67</id>
<content type='text'>
By default, we won't copy and strip static libraries.  However, this
functionality can be useful in some cases where people are doing
development on the target, and don't generally want the larger debug
capable static libraries.  To enable the new functionality set:

    PACKAGE_DEBUG_STATIC_SPLIT = '1'

Add a new function splitstaticdebuginfo.  Thus function will copy the
unmodified static library into the specific debug directory location.
By keeping an unmodified version, it is possible for a user trying
to debug something to use -L /usr/lib/.debug-static and their existing
build commands to switch from stripped to full debug versions.

The PACKAGE_DEBUG_SPLIT_STYLE will select between two different
approaches, /usr/lib/debug-static or &lt;path&gt;/.debug-static.

Additionally you can now choose to strip static libraries to conserve
space.  If either 'PACKAGE_DEBUG_STATIC_SPLIT' or 'PACKAGE_STRIP_STATIC'
is set to 1, the static library will be stripped.  (This is not on by
default, as it could make diagnosing static library usage difficult in
some cases.)

Add to insane.bbclass a skip to the staticdev warning for the specific
-dbg package versions.

(From OE-Core rev: 17fa66c8199d73f0b59b2b3e609075933bf1e74b)

Signed-off-by: Mark Hatle &lt;mark.hatle@kernel.crashing.org&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>package.bbclass: Allow INHIBIT_PACKAGE_STRIP_FILES to skip .ko and static libs</title>
<updated>2020-02-08T13:20:02+00:00</updated>
<author>
<name>Mark Hatle</name>
<email>mark.hatle@kernel.crashing.org</email>
</author>
<published>2020-02-07T20:20:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=dae03ec7e801dd4dc781de582ba169a0fc580739'/>
<id>urn:sha1:dae03ec7e801dd4dc781de582ba169a0fc580739</id>
<content type='text'>
Change the order of the skip processing to happen before any .ko and static
library processing.  This will allow these types of files to be individually
skipped if necessary.

(From OE-Core rev: c50fcd54ffe60b63d042d05e6cf538a593dc410f)

Signed-off-by: Mark Hatle &lt;mark.hatle@kernel.crashing.org&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>package.bbclass: Fix debug source processing for static libraries</title>
<updated>2020-02-08T13:20:02+00:00</updated>
<author>
<name>Mark Hatle</name>
<email>mark.hatle@kernel.crashing.org</email>
</author>
<published>2020-02-07T20:20:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=6a543159a33f3e215f0488cf21b80b90a4e0de47'/>
<id>urn:sha1:6a543159a33f3e215f0488cf21b80b90a4e0de47</id>
<content type='text'>
Format of the sources list is the [ (file, [source, ...]), ... ] before
this change, the static libraries were processed but the items were
included incorrectly causing no sources for static libraries to be
included.

(From OE-Core rev: fa356b23c2f4599681693bba50d36659b07a8125)

Signed-off-by: Mark Hatle &lt;mark.hatle@kernel.crashing.org&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>package.bbclass: Report only the licenses that are incompatible</title>
<updated>2019-12-16T23:25:50+00:00</updated>
<author>
<name>Peter Kjellerstedt</name>
<email>peter.kjellerstedt@axis.com</email>
</author>
<published>2019-12-11T16:48:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=38bea41f592ebfd269a6860d24270c3dee662cbe'/>
<id>urn:sha1:38bea41f592ebfd269a6860d24270c3dee662cbe</id>
<content type='text'>
When excluding a package from being packaged due to incompatible
licenses, report the license(s) that are actually incompatible.

(From OE-Core rev: 7d5c07e4a32a0968942ae538023c2891b59d8ab5)

Signed-off-by: Peter Kjellerstedt &lt;peter.kjellerstedt@axis.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>package.bbclass: Always include ldconfig fragment</title>
<updated>2019-11-11T14:07:08+00:00</updated>
<author>
<name>Andreas Oberritter</name>
<email>obi@opendreambox.org</email>
</author>
<published>2019-11-07T20:49:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=fcd86247ff298edb9c35772fd77a9539a7caef47'/>
<id>urn:sha1:fcd86247ff298edb9c35772fd77a9539a7caef47</id>
<content type='text'>
Now that ldconfig may get installed from a feed, use it when it's
available on the target.

(From OE-Core rev: 0f09f19dc48edf2ac50b554c18c217b7f97d4ae3)

Signed-off-by: Andreas Oberritter &lt;obi@opendreambox.org&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
</feed>
