Add the new python_maturin PEP-517 backend
Add selftest for 'pydantic-core' pypi package.
(From OE-Core rev: 69b679380616a94a631681caa05d9bf7610f9372)
Signed-off-by: Tim Orling <tim.orling@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[YOCTO #15314]
test_recipetool_appendsrcfile_update_recipe_basic is using base-files as
test recipe but modifies it directly which can corrupt metadata for other
tests relying on this recipe.
So use mtd-utils-selftest as test recipe from meta-selftest to avoid
this kind of issues
(From OE-Core rev: bf5e6c1b6ceca5a2eda30359d5e5e330278a97e1)
Signed-off-by: Julien Stephan <jstephan@baylibre.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Remove leftover code needed for development that was unintentionally
committed
(From OE-Core rev: b9a11e6495a27164d095673915edddb2474fdbd7)
Signed-off-by: Julien Stephan <jstephan@baylibre.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
recipetool pypi plugin was originally clobbering SRC_URI checksums.
Now it doesn't do this anymore:
78ef0313ee - recipetool: pypi: do not clobber SRC_URI checksums
so add back the checksum checks on pypi tests.
Also this commit restrict the checksums:
45d2f8d4bc - recipetool: create: Only include the expected SRC_URI checksums
so add only the needed ones.
(From OE-Core rev: 86164f770032bb66d4497c4e3e7591b7246ac2d9)
Signed-off-by: Julien Stephan <jstephan@baylibre.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The md5sum is no longer generated by recipetool, stop expecting it.
(From OE-Core rev: d9b5f6a2eefa68fcecfca20b293d593f5cd53b7c)
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Rather than including all SRC_URI checksums, include the ones that are
expected. These are the same as are output if no checksums are included
when building the recipe.
(From OE-Core rev: c2af83eb5e8573480179b6c0bcce50606b547099)
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Avoid trying to write to read-only directories and file systems.
* Support symbolic links in BBPATH.
(From OE-Core rev: 9a8b621c4d26ff349de88658e6ea21aee6ba6767)
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
add a basic test for testing the update mode of recipetool
appendsrcfile(s)
(From OE-Core rev: f999092c772f10d23106c355e2787259befb6e30)
Signed-off-by: Julien Stephan <jstephan@baylibre.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a new test for machine specific bbappend override
(From OE-Core rev: 1c510a21487fa71e88eb46e9a0de00a82a7ba4e4)
Signed-off-by: Julien Stephan <jstephan@baylibre.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
appendsrc function relies on oe.recipeutils.bbappend_recipe to
copy files and add the corresponding entries in SRC_URI.
Currently, appendsrc function build itself the new SRC_URI entry to add the
correct subdir param, and gives it using the extralines parameter.
This has 2 drawbacks:
- oe.recipeutils.bbappend_recipe can already do this if we specify the
correct params, so we have duplicate code
- the duplicated code is not fully functional: for example, it doesn't
take into account the -m/--machine parameter
So fix this by not using extralines but give correctly formatted params.
Also remove the check for already existing entries as
oe.recipeutils.bbappend_recipe already implement it
The new bbappend file now have the SRC_URI entry after the
FILESEXTRAPATHS so fix the selftest.
Update test_recipetool_appendsrcfile_existing_in_src_uri_diff_params
test because recipetool appendsrcfiles used to not add new src_uri entry
if the entry already exist even with different parameters while
oe.recipeutils.bbappend_recipe adds it if parameters are different (and
remove the old entry)
(From OE-Core rev: cd5de8d53849a6f3bb6f82e45fb301e39892c789)
Signed-off-by: Julien Stephan <jstephan@baylibre.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
recipetool now supports the pypi class and python recipes can by created
using the new following syntax:
* recipetool create https://pypi.org/project/<package>
* recipetool create https://pypi.org/project/<package>/<version>
* recipetool create https://pypi.org/project/<package> --version <version>
or the old syntax:
* recipetool create https://files.pythonhosted.org/packages/<...>
So add tests for the new syntax and modify old tests
(From OE-Core rev: 50779b7d45a492e9564005274f1858234a871e10)
Signed-off-by: Julien Stephan <jstephan@baylibre.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit adds a test for the go recipetool handler. The choosen go
project to test the created recipe was picked randomly. The SRC_URIs and
the LIC_FILES_CHKSUMs are checked against there reference values.
(From OE-Core rev: 3337b9ec069a21b87676a90d0f7819e6a8dc856a)
Signed-off-by: Lukas Funke <lukas.funke@weidmueller.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
One of the newer PEP-517 backends to be added was python_hatchling.bbclass
but it was not included in the recent improvements.
Add selftest for 'jsonschema' pypi package.
(From OE-Core rev: d99b4883b4fee82bc588fd235ba90fedf1550cb8)
Signed-off-by: Tim Orling <tim.orling@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add 3 tests to check the creation of PEP-517 project using the 3
backends supported by bitbake:
- setuptools.build_meta
- poetry.core.masonry.api
- flit_core.buildapi
Theses tests requires the tomllib python module, so skip theses tests
if module is not present. tomllib module is part of python starting from 3.11
(From OE-Core rev: 54356c6f1290d0d4170ed52f7bb358bb9efc1aec)
Signed-off-by: Julien Stephan <jstephan@baylibre.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
By convention, all python recipes start with "python3-" so update
create_buildsys_python to do this
This rule doesn't apply for packages already starting with "python"
Update recipetool's selftest accordingly
(From OE-Core rev: b0d87440e610b80f763d09784d4a90a148bb3e7b)
Signed-off-by: Julien Stephan <jstephan@baylibre.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Now that SRCPV isn't needed we can simplify things in a few places...
(From OE-Core rev: 843f82a246a535c353e08072f252d1dc78217872)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The recommendation from server maintainers is that the https protocol
is both faster and more reliable than the dedicated git protocol at this point.
Switch to it where possible.
(From OE-Core rev: 139102a73d4151f4748b4a861bd4ab28dda7dab7)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Running recipetool.RecipetoolTests.test_recipetool_handle_license_vars
followed by wic.Wic2.test_biosplusefi_plugin_qemu would show a failure of:
File "/media/build/poky/meta/lib/oeqa/utils/commands.py", line 351, in runqemu
qemu = oeqa.targetcontrol.QemuTarget(recipedata, targetlogger, image_fstype)
File "/media/build/poky/meta/lib/oeqa/targetcontrol.py", line 116, in __init__
use_kvm = oe.types.qemu_use_kvm(d.getVar('QEMU_USE_KVM'), d.getVar('TARGET_ARCH'))
File "/media/build/poky/meta/lib/oe/types.py", line 182, in qemu_use_kvm
if kvm and boolean(kvm):
File "/media/build/poky/meta/lib/oe/types.py", line 128, in boolean
raise ValueError("Invalid boolean value '%s'" % value)
ValueError: Invalid boolean value '/media/build/poky/meta/files/common-licenses'
which made no sense until you realise the recipetool test is corrupting
the tinfoil class. Work on a copy instead to avoid this.
(From OE-Core rev: 7fe76fe17f67c1bbd108d02836692fed20d24771)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Where there isn't a copyright statement, add one to make it explicit.
Also add license identifiers as MIT if there isn't one.
(From OE-Core rev: bb731d1f3d2a1d50ec0aed864dbca54cf795b040)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Some of these are hard to know what to do with since the original source
files for the checksum aren't present. The safe option is to use "-only"
as often the main license is ambiguous and the source files themselves
determine the "or-later" possibility. The "-only" option therefore is
realistically what we need to use in this code.
(From OE-Core rev: 2b0cbafc7854de0308a624b17b8aaba704b031d5)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There are still a couple of cases where the license may be set as, e.g.,
"GPL" or "GPL-2.0" since there is not enough information to decide the
actual SPDX license. It is then assumed that the developer will have to
correct the information.
(From OE-Core rev: e7df51f8d2361e9fe2d67669d2e17f0a5d01004e)
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The URI to the socat tarball used in the
recipetool.RecipetoolCreateTests.test_recipetool_create_simple test has
been moved to an "Archive" directory.
(From OE-Core rev: 1e8b716e1377ad49f1451cbabe7c9961cc507731)
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The distutils*.bbclasses have been moved from oe-core to
meta-python, so drop test_recipetool_create_python3_distutils
test case.
[YOCTO #14610]
(From OE-Core rev: 54ae2f647dc7dbafa5b90e9edbd62a0d355702f5)
Signed-off-by: Tim Orling <tim.orling@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Separate licenses with & operator since it should be satisfied most use
cases and it is a reasonable assumption that all the licenses apply.
Furthermore flat, split and sort the licenses to minimize license string
changes.
Separate package licenses with & operator:
-LICENSE:${PN} = "MIT ISC"
+LICENSE:${PN} = "ISC & MIT"
Respect | and brackets in LICENSE:
-LICENSE = "BSD-3-Clause & (ISC & | & MIT)"
+LICENSE = "BSD-3-Clause & (ISC | MIT)"
Sort licenses:
-LICENSE = "MIT & BSD-3-Clause & ISC"
+LICENSE = "BSD-3-Clause & ISC & MIT"
Remove duplicates:
-LICENSE = "MIT & ISC & MIT"
+LICENSE = "ISC & MIT"
(From OE-Core rev: 60a84ecc53d20118c5e7f86dd3e3cafbfed1cf0a)
Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The recipetool support two ways to pass a branch and fallback to master
if no branch is defined. Add tests for default branch, branch parameter
and srcbranch option.
(From OE-Core rev: f232cffc09e917458d6e850b4aca4f87b53b43e4)
Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The selftest recipetool base class reuse the selftest devtool base
class. Thereby the selftest devtool base class setup its own devtool
sstate and the selftest recipetool classes trigger the build of recipes.
This leads to the problem that the build artifacts doesn't reach the
persistent sstate cache and rebuild on every selftest run.
Move the common selftest devtool functions into its own class and use
the sstate cache in the recipetool tests.
(From OE-Core rev: c0bd0686092181b6a5316c373b5b125d78a24e9f)
Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Split tests into separate test classes to speed up individual test runs
by reducing the test setup to a minimum.
The pkgdata generation is only needed for the append tests and slow down
the other tests.
(From OE-Core rev: 2aef869bcca3e0de4afb9ef00492de3ee72b035c)
Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Following the scripted conversion adding branches to git://
SRC_URI entries, add the remaining references, mainly in the selftests
and recipetool.
(From OE-Core rev: 5340c0d688036c1be6c938f05d8a8c1e3b49ec38)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Now that recipetool writes BSD-3-Clause, update the test appropriately.
(From OE-Core rev: e4cb21609e3e95725b235de48458ab3c111ee9c1)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The automated conversion of OE-Core to use the new override sytax isn't
perfect. This patches some mis-converted lines and some lines which were missed
by the automation.
(From OE-Core rev: 4e9a06b64b43131b731fb59a0305f78a98e27fbd)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is the result of automated script conversion:
scripts/contrib/convert-overrides.py <oe-core directory>
converting the metadata to use ":" as the override character instead of "_".
(From OE-Core rev: 42344347be29f0997cc2f7636d9603b1fe1875ae)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If the recipetool tests are run with an empty DL_DIR the fetch of
socat 1.7.3.0 fails as that URL doesn't exist anymore.
Update the version to 1.7.4.1 to fix the test.
(From OE-Core rev: 42ebda0c85f14f9f8a508f59115b141d645d4c77)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The tests are actually skipped if meta-oe isn't present which isn't
quite the same thing, but hopefully close enough.
(From OE-Core rev: d22ed015d8f38241acb783e1a468fb15d4317670)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Globbing is a bad idea in SRC_URI, it breaks the task checksums and
can't really be fixed. Since we're removing it, drop the test for
its interaction with recipetool.
(From OE-Core rev: 8bf93fa89aa1ba73f6eec05b95d6e8ca5f7d4c4b)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This bug has plagued the autobuilder for a couple of years and we've
struggled to reproduce/debug it.
The problem is the "lib" directory in meta-poky used during the load_plugin
tests for recipetool and devtool can race and one can delete the files
from the other leading to test failures.
Deleting the lib directory only if empty will avoid this.
[YOCTO #13070]
(From OE-Core rev: d603e2fd589e1edbc67c8c2fefb6337e728b9d01)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit adds a recipetool creation test for npm recipe:
- recipetool.RecipetoolTests.test_recipetool_create_npm
(From OE-Core rev: 61cabc2ccaa6a972b799d19fda8964926cc7ecec)
Signed-off-by: Jean-Marie LEMETAYER <jean-marie.lemetayer@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(From OE-Core rev: 890fbd77315474fbd582f8bbeb26925c6a42d8d4)
Signed-off-by: Ola x Nilsson <olani@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The current test builds Navit, which uses GTK+ 2. As GTK+ 2 is being removed
from oe-core, change the test to build taglib instead.
(From OE-Core rev: f627bce009dd275df807ffbc53b880c2490559ae)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add support for generating python3 recipes using the recipetool / devtool.
Drop python2 support at the same time.
Tested with:
oe-selftest -r recipetool.RecipetoolTest
[YOCTO #13264]
(From OE-Core rev: d8b2f58974482b3b1ccc65c5f93104d0d7ba87bc)
Signed-off-by: Maciej Pijanowski <maciej.pijanowski@3mdeb.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This adds SPDX license headers in place of the wide assortment of things
currently in our script headers. We default to GPL-2.0-only except for the
oeqa code where it was clearly submitted and marked as MIT on the most part
or some scripts which had the "or later" GPL versioning.
The patch also drops other obsolete bits of file headers where they were
encoountered such as editor modelines, obsolete maintainer information or
the phrase "All rights reserved" which is now obsolete and not required in
copyright headers (in this case its actually confusing for licensing as all
rights were not reserved).
More work is needed for OE-Core but this takes care of the bulk of the scripts
and meta/lib directories.
The top level LICENSE files are tweaked to match the new structure and the
SPDX naming.
(From OE-Core rev: f8c9c511b5f1b7dbd45b77f345cb6c048ae6763e)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
These IDs refer to testopia which we're no longer using. We would now use the test
names to definitively reference tests and the IDs can be dropped, along with their
supporting code.
(From OE-Core rev: 8e2d0575e4e7036b5f60e632f377a8ab2b96ead8)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The upstream source tarball checksums changed. Use the copy from our source
mirror to avoid failures.
[YOCTO #12979]
(From OE-Core rev: e97a31e6bbaec5cb56d4750bf5171dbba510ee33)
Signed-off-by: Mohamad Noor Alim Hussin <mohamad.noor.alim.hussin@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The Navit recipe can depend on fribidi which is now part of oe-core. Since the
pkgconfig lookup is based on pkgdata the results can change depending on what
has been built, which leads to occasional failures.
Build gtk+ before the test to ensure that the pkgdata is populated with more of
the dependencies, and add fribidi to the generated DEPENDS checklist.
(From OE-Core rev: d180dc758710c7259d45eeb9304e7284a8fd8825)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
GitHub dynamically generates the /archive/ tarballs but we're encoding checksums
in the test suite. Change the URL to use a static tarball, and update the
checksums.
(From OE-Core rev: 9c668f9ff989a34e615e2ecc051dadbfe24a5bb4)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add decorator @OETestID() with proper Tesopia TC ID to the test cases
that did not have it set.
(From OE-Core rev: d7bc697534db911a3ce98537d772d87482a0f702)
Signed-off-by: Jose Perez Carranza <jose.perez.carranza@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
New framework has different classes/decorators so adapt current test cases to
support these. Changes include changes on base classes and decorators.
Also include paths in selftest/__init__.py isn't needed because the
loader is the standard unittest one.
(From OE-Core rev: ddbbefdd124604d10bd47dd0266b55a764fcc0ab)
Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>