<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/poky.git/meta/classes/license_image.bbclass, branch yocto-3.1.23</title>
<subtitle>Mirror of git.yoctoproject.org/poky</subtitle>
<id>https://git.enea.com/cgit/linux/poky.git/atom?h=yocto-3.1.23</id>
<link rel='self' href='https://git.enea.com/cgit/linux/poky.git/atom?h=yocto-3.1.23'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/'/>
<updated>2022-04-21T20:26:01+00:00</updated>
<entry>
<title>license_image.bbclass: close package.manifest file</title>
<updated>2022-04-21T20:26:01+00:00</updated>
<author>
<name>Martin Jansa</name>
<email>Martin.Jansa@gmail.com</email>
</author>
<published>2022-04-07T14:31:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=aee507fe6c5e38a72d79da67ab532a92495ea95c'/>
<id>urn:sha1:aee507fe6c5e38a72d79da67ab532a92495ea95c</id>
<content type='text'>
* fixes:
  NOTE: Executing write_package_manifest ...
  DEBUG: Executing python function write_package_manifest
  /OE/build/oe-core/openembedded-core/meta/classes/license_image.bbclass:23: ResourceWarning: unclosed file &lt;_io.TextIOWrapper name='/OE/build/oe-core/tmp-glibc/deploy/licenses/core-image-minimal-qemux86-64/package.manifest' mode='w+' encoding='UTF-8'&gt;
    'w+').write(output)
  ResourceWarning: Enable tracemalloc to get the object allocation traceback
  DEBUG: Python function write_package_manifest finished

[YOCTO #14772]

(From OE-Core rev: 3e88c663e65fbc1b2e77a8616af4371224ed0ca5)

Signed-off-by: Martin Jansa &lt;Martin.Jansa@gmail.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
(cherry picked from commit b3114d5d438b7a63a276b4e825b62f3b1ebceed6)
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>license_image.bbclass: Fix symlink to generic license files</title>
<updated>2021-05-04T21:57:55+00:00</updated>
<author>
<name>Reto Schneider</name>
<email>reto.schneider@husqvarnagroup.com</email>
</author>
<published>2021-04-26T21:27:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=945b4ef084cb254643b425748d5e38c4f5908a9a'/>
<id>urn:sha1:945b4ef084cb254643b425748d5e38c4f5908a9a</id>
<content type='text'>
Link to the canonical filename of a license as only this one exists.

Fixes commit 670fe71dd18ea675f35581db4a61fda137f8bf00
[license_image.bbclass: use canonical name for license files].

(From OE-Core rev: 834a8e357bc999a0163e7c5bafbcc1a8816448d4)

Signed-off-by: Reto Schneider &lt;reto.schneider@husqvarnagroup.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
(cherry picked from commit 64b1ba978e079c345e1f7fbd1bf44052fc3dd857)
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>license_image.bbclass: Detect broken symlinks</title>
<updated>2021-05-04T21:57:55+00:00</updated>
<author>
<name>Reto Schneider</name>
<email>reto.schneider@husqvarnagroup.com</email>
</author>
<published>2021-04-26T21:27:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=333fbe63550d20b6a0ebb4835787a68e33bfaad9'/>
<id>urn:sha1:333fbe63550d20b6a0ebb4835787a68e33bfaad9</id>
<content type='text'>
Find and report symlinks which point to a non-existing file.

(From OE-Core rev: 62ad9a56155453ea0a940679dd02bca9093fda65)

Signed-off-by: Reto Schneider &lt;reto.schneider@husqvarnagroup.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
(cherry picked from commit 81809a1ffe67aade1b2ed66fe95044ffbf7d3df8)
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>license_image.bbclass: fix missing recipeinfo on self</title>
<updated>2021-01-21T23:08:16+00:00</updated>
<author>
<name>Michael Ho</name>
<email>Michael.Ho@bmw.de</email>
</author>
<published>2021-01-12T08:55:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=702a22732284406cd3158ded2abb15fd0a054149'/>
<id>urn:sha1:702a22732284406cd3158ded2abb15fd0a054149</id>
<content type='text'>
Resolve a build bug where image recipes with a do_deploy task will fail.

If the image recipe inheriting license_image.bbclass has a deploy task, then
the function get_deployed_dependencies will add itself to the list of recipes
to get license information for.

However, image recipes don't generally deploy license info so this results in
an error.

File: '/nvme/poky/meta/classes/license_image.bbclass', lineno: 192, function: license_deployed_manifest
...
Exception: FileNotFoundError: [Errno 2] No such file or directory: '/nvme/poky/build/tmp/deploy/licenses/core-image-minimal/recipeinfo'

Add a corner case to exclude the originating image recipe from the list of
dependencies to check.

(From OE-Core rev: 444118a185ff6cdd20ad0a10ffae7edfa9ab18c4)

Signed-off-by: Michael Ho &lt;Michael.Ho@bmw.de&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
(cherry picked from commit 13fb39e49e55a0bc7c78b0bfdc372163b3f9e70a)
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>license_image.bbclass: use canonical name for license files</title>
<updated>2020-12-09T23:49:01+00:00</updated>
<author>
<name>Vyacheslav Yurkov</name>
<email>Vyacheslav.Yurkov@bruker.com</email>
</author>
<published>2020-11-17T14:41:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=f7971e8af6810ac4b80a764feb48b353208d3822'/>
<id>urn:sha1:f7971e8af6810ac4b80a764feb48b353208d3822</id>
<content type='text'>
When copying license files to the image rootfs, i.e to
/usr/share/common-licenses, a canonical name of a license should be
used, otherwise duplicated files end up in common-licenses directory.

For example, GPL-2.0 license according to conf/license.conf can be
referenced in recipes as GPL-2, GPLv2, and GPLv2.0. If a license name is
used directly, we end up with three files in the rootfs with the same
content. If a canonical name used instead, then each license gets copied
only once.

(From OE-Core rev: d31fd6a2fc2334a20d4fd1bcfe5964c462d1bb98)

Signed-off-by: Vyacheslav Yurkov &lt;Vyacheslav.Yurkov@bruker.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
(cherry picked from commit 670fe71dd18ea675f35581db4a61fda137f8bf00)
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>license_image.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:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=29b3cc9655a0530226e0c1ba30ec16ca1750cf03'/>
<id>urn:sha1:29b3cc9655a0530226e0c1ba30ec16ca1750cf03</id>
<content type='text'>
Instead of reporting ${LICENSE} when a package cannot be installed
into an image because it is using an incompatible license, report the
license(s) that are actually incompatible.

(From OE-Core rev: b1863e570d4b169cd2f0ea7b4fe7c2348943cb2c)

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>license_image.bbclass: check and reject packages which have incompatible licenses</title>
<updated>2019-10-15T13:16:10+00:00</updated>
<author>
<name>Alexander Kanavin</name>
<email>alex.kanavin@gmail.com</email>
</author>
<published>2019-10-10T11:18:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=25df405d4b019ba6444d03598e914ff2efdad4c9'/>
<id>urn:sha1:25df405d4b019ba6444d03598e914ff2efdad4c9</id>
<content type='text'>
The use case is setting INCOMPATIBLE_LICENSE per image,
rather than as an awkward, and too strict global setting.

This for example would allow building development images with gplv3 tools,
but production images without them, and checking that nothing gpl3-licensed
gets into the latter.

Examples are provided via the selftest: four scenarios are tested:

- bash is added to the image, with a default gpl3 license; this is rejected
- bash is added to the image, with a "gpl3 &amp; other" license; this is also rejected
- bash is added to the image, with a "gpl3 | other" license; this is accepted, but
only 'other' is added to the license manifest (this was already handled correctly
previously).
- bash is added to the image with a default gpl3 license, and is additionally
whitelisted for that image; this is accepted.

Eventually, this would allow deprecating the meta-gplv2 layer, while still
enforcing the no-gpl3 rule where possible and needed.

(From OE-Core rev: fd50395bc0783a3cce7b5b0d7398f22783ebbeca)

Signed-off-by: Alexander Kanavin &lt;alex.kanavin@gmail.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>license_image.bbclass: drop invalid comments</title>
<updated>2019-08-06T10:24:27+00:00</updated>
<author>
<name>Ming Liu</name>
<email>liu.ming50@gmail.com</email>
</author>
<published>2019-08-04T12:37:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=d6138fe9506f270614670103043a9cbbfd6d84f8'/>
<id>urn:sha1:d6138fe9506f270614670103043a9cbbfd6d84f8</id>
<content type='text'>
These comments are not valid any more, drop them.

(From OE-Core rev: 39f5a3030a97bdf567ee11091dd4e95ef04585d7)

Signed-off-by: Ming Liu &lt;liu.ming50@gmail.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>meta: license: fix non-SPDX license being removed from INCOMPATIBLE_LICENSE</title>
<updated>2019-06-11T12:26:55+00:00</updated>
<author>
<name>Quentin Schulz</name>
<email>quentin.schulz@streamunlimited.com</email>
</author>
<published>2019-06-11T08:11:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=4b6ce4604cc15e289a48f8586d58a101b7a70b52'/>
<id>urn:sha1:4b6ce4604cc15e289a48f8586d58a101b7a70b52</id>
<content type='text'>
A non-SPDX license (which is not an alias to an SPDX license) cannot
currently be marked as incompatible in INCOMPATIBLE_LICENSE.
In the current state, we take all INCOMPATIBLE_LICENSE and pass them
through expand_wildcard_licenses which is only adding SPDX licenses that
match the glob regexp of what is in INCOMPATIBLE_LICENSE (be it a direct
match to an SPDX license or via an alias).

This does not work well with custom licenses.

E.g.:

foo.bb:
LICENSE = "FooLicense"

conf/local.conf:
INCOMPATIBLE_LICENSE = "FooLicense"

`bitbake foo`

Gives no warning, no error, builds and packages successfully, because
INCOMPATIBLE_LICENSE is basically empty since FooLicense is neither in
SPDXLICENSEMAP nor in SRC_DISTRIBUTE_LICENSES.

Let's add the original licenses to the list returned by
expand_wildcard_licenses to be able to handle the aforementioned case.

INCOMPATIBLE_LICENSE = "FooLicense GPLv2 GPLv3+" used to "resolve" to
"GPLv2 GPLv3". It now resolves to "FooLicense GPLv2 GPLv3 GPLv3+" which
fixes the issue with custom licenses not being in SPDXLICENSEMAP or
SRC_DISTRIBUTE_LICENSES and thus being left out of the blacklisted
licenses.

I needed to pass a list to expand_wildcard_licenses from the
license_image class instead of the current output of map() because the
operator [:] does not work on this kind of type, and list(map()) or
anything that iterates over map() actually moves the iterator and breaks
the forloop right after in expand_wildcard_licenses.

(From OE-Core rev: 2d976587d703462db2b7b78661b05ac22fb93787)

Signed-off-by: Quentin Schulz &lt;quentin.schulz@streamunlimited.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>license_image: Use new oe.path.copyhardlink() helper</title>
<updated>2019-05-07T09:12:53+00:00</updated>
<author>
<name>Paul Barker</name>
<email>paul@betafive.co.uk</email>
</author>
<published>2019-05-03T11:54:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=896b0c576923198fff865f1f3fb111c46fb60a2c'/>
<id>urn:sha1:896b0c576923198fff865f1f3fb111c46fb60a2c</id>
<content type='text'>
This change allows us to support the placement of WORKDIR and DEPLOY_DIR
on different devices.

(From OE-Core rev: f064a581ba31764839459bd667130bccbbedefab)

Signed-off-by: Paul Barker &lt;paul@betafive.co.uk&gt;
Signed-off-by: Ross Burton &lt;ross.burton@intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
</feed>
