summaryrefslogtreecommitdiff
path: root/poky/meta/lib/oeqa/selftest/cases
diff options
context:
space:
mode:
authorAndrew Geissler <geissonator@yahoo.com>2021-03-06 00:25:55 +0300
committerBrad Bishop <bradleyb@fuzziesquirrel.com>2021-03-15 14:02:06 +0300
commit90fd73cb556c0db84e45514413a68f9c5e1aea22 (patch)
tree6c7246c5c56fe53360bdcedf98b1331e5730fd34 /poky/meta/lib/oeqa/selftest/cases
parent97771a30474a164ca08efd09209692a1fb8a4574 (diff)
downloadopenbmc-90fd73cb556c0db84e45514413a68f9c5e1aea22.tar.xz
poky: subtree update:488e39b623..c8075ed8f1
Alejandro Hernandez Samaniego (1): bitbake: fetch2/wget: Avoid crashing when connection drops mid checkstatus Alexander Kanavin (17): webkit/wpe: only check even versions syslinux: use NO_INLINE_FUNCS in CFLAGS dosfstools: update 4.1 -> 4.2 e2fsprogs: update 1.45.7 -> 1.46.1 elfutils: update 0.182 -> 0.183 meson: update 0.56.2 -> 0.57.1 perl: update 5.32.0 -> 5.32.1 openssl: address ptest failures caused by perl 5.32.1 ptest-perl/run-ptest: address failures caused by perl 5.32.1 pango: update 1.48.0 -> 1.48.2 vulkan-samples: update to latest revision webkitgtk: update 2.30.4 -> 2.30.5 libgcrypt: update 1.8.7 -> 1.9.2 pinentry: update 1.1.0 -> 1.1.1 libmd: add a recipe libbsd: udpate 0.10.0 -> 0.11.3 scripts/lib/wic/partition.py: do not set FAT size Charlie Davies (2): bitbake: bitbake: providers: fix incorrect return type bug bitbake: bitbake: providers: use pythonic empty list check Colin Finck (1): dosfstools: Build --without-iconv Diego Santa Cruz (4): packagegroup-base: use amixer instead of alsamixer packagegroup-base: do not force hdparm and e2fsprogs sysklogd: do not open any network sockets by default createrepo-c: set path to magic database for native and nativesdk Dorinda (7): gdb-common.inc: add PACKAGECONFIG for debuginfod meta/recipes-bsp: Add HOMEPAGE / DESCRIPTION meta/recipes-connectivity: Add HOMEPAGE / DESCRIPTION meta/recipes-devtools: Add HOMEPAGE / DESCRIPTION meta/recipes-core: Add HOMEPAGE / DESCRIPTION scripts/oe-debuginfod: script that fetches package manager directory binutils: add PACKAGECONFIG for debuginfod Florian Bezdeka (1): wic: Warn if an ext filesystem affected by the Y2038 problem is used He Zhe (1): glibc: Disable CPU ISA level requirement check Jan Brzezanski (1): bitbake: Force parser shutdown after catching an exception Jan-Simon Moeller (1): Add core-image-weston to reproducible build tests Jan-Simon Möller (2): reproducible_builds: SOURCE_DATE_EPOCH should not be 0 oe-selftests: add rpm to reproducible build selftest Jate Sujjavanich (1): iputils: Fix cap_net_raw for installed binaries Joel Stanley (1): conf/machine-sdk: Add ppc64le SDK machine Joshua Watt (2): bitbake: event: Fix broken builds when multiconfig has a hyphen in the name diffoscope: Add python3-rpm as dependency Khem Raj (23): nettle: Upgrade to 3.7.1 runqemu: Add new option to disable vga emulation linuxloader: Deal with little-endian ppc64 ldso name musl: Install /lib directory goarch.bbclass: Fix ppc64le detection bitbake.conf: Do not use lib64 for baselib on musl/ppc64 glibc: Build for power9 cpu when using powerpc64le tunes tune-power9: Enable qemu-usermode selftest: Replace building dep tool with direnv goarch: Use softfloat instead of 387 for 386 goarch go: Upgrade compiler to 1.16 major release go: Enable CGO and pie buildmode on rv64 go-helloworld: Turn into a go module enabled build binutils: Upgrade to 2.36.1 release llvm: Upgrade to 11.1.0 release oeqa/pam: Need shadow installed for the tests glibc: Fix rawmemchr rxvt-unicode: Do not use throw specifications llvm: Fix build with c++17 dtc: Fix array-bounds error puzzles: Fix stringop-overflow warning igt-gpu-tools: Fix warnings with gcc 11 kea: Fix configure test error with gcc11 Klaus Heinrich Kiwi (1): kernel-fitimage: Don't use unit addresses on FIT Martin Jansa (3): sstatesig.py: show an error instead of warning when sstate manifest isn't found glib-2.0: replace THISDIR instead of COREBASE in find_meson_cross_files --cross-file paths coreutils: use u-a for base32 Meh Mbeh Ida Delphine (7): licenses: Update license file to match current SPDX names recipes-gnome: Add missing HOMEPAGE and DESCRIPTION for recipes recipes-graphics: Add missing HOMEPAGE and DESCRIPTION for recipes. recipes-kernel: Add missing HOMEPAGE and DESCRIPTION for recipes. recipes-multimedia: Add missing HOMEPAGE and DESCRIPTION for recipes. recipes-sato: Add missing HOMEPAGE and DESCRIPTION for recipes recipes-support: Add missing HOMEPAGE and DESCRIPTION for recipes Michael Halstead (2): releases: update to include 3.2.2 releases: update to include 3.1.6 Mike Crowe (2): externalsrc: Pass through npmsw URIs in SRC_URI gcc-sanitizers: Move content from gcclibdir into libdir Milan Shah (1): report-error.bbclass: Add layer and bitbake version info to error report Mingli Yu (1): python3: Fix python interpreter line length for nativesdk Oleksandr Kravchuk (4): python3: update to 3.9.2 ell: update to 0.38 net-tools: update to 2.10 busybox: update 1.33.0 Peter Kjellerstedt (1): asciidoc: Switch to using the main branch Randy MacLeod (3): Add libgit2, libssh2 from meta-oe for rust libssh2: pull in additional commits from meta-oe libgit2: pull in updates from meta-oe Richard Purdie (61): maintainers: Update email address for Victor figures/yp-how-it-works-new-diagram.png: Fix spelling error underline recipes: Update common-licenses references to match new names licenses.conf: Add missing 'or-later' mappings licenses: Fix canonical license for 'or-later' handling licenses: Update INCOMPATIBLE_LICENSE for 'or-later' handling license_image: Don't canonicalise INCOMPATIBLE_LICENSE selftest/incompatible_lic: Update the tests after the 'or-later' license handling changes gma500-gfx-check: Update licence to match changes in OE-Core diffoscope: Upgrade 166 -> 167 linux-firmware: upgrade 20201218 -> 20210208 python3-pycryptodome/pycryptodomex: upgrade 3.9.9 -> 3.10.1 apt: Upgrade 1.8.2.1 -> 1.8.2.2 python3-magic: upgrade 0.4.18 -> 0.4.20 libproxy: Avoid /etc/sysconfig determinism issue rsync: Fix a file sorting determinism issue rsync: Fix group name determinism issue libcap-ng: Fix python bindings determinism issue libcap-ng: Replace python patch with a better fix libevdev: Update patch status to backport ca-certificates: Clean up two patches and submit upstream libpcre: Drop old/stale patch diffoscope: Ensure the correct magic file is used babeltrace2: Fix reproducibility reproducible: Improve SOURCE_DATE_EPOCH_FALLBACK handling selftest/reproducible: Remove exclusions for recipes which now reproduce diffoscope: Ensure rpm is configured correctly package/package_rpm: Disable font_provides configuration for reproducibilty fonts: Bump HASHEQUIV_HASH_VERSION after rpmdeps change reproduce: Fix exclusion list for rpm maintainers: add entries libssh2 libgit2 cups: Fix reproducibility issues gcr: Fix reproducibility issue rsync: Update patch status gtk-doc: Fix reproducibility issue epiphany: Fix reproducibility issue epiphany: Fix distributor contamination from /etc/os-release gst-devtools: Fix reproducibility issue parted: Fix reproducibility issue libsecret: Improve determimism libhandy: Fix reproducibility issue selftest/reproducible: Don't call sync between each file compare image: Add directories to PSEUDO_IGNORE_PATHS populate_sdk: Add directories to PSEUDO_IGNORE_PATHS bitbake.conf/image: Move image specific PSEUDO_IGNORE_PATHS to image class bitbake.conf: Split PSEUDO_IGNORE_PATHS to be more readable bootchart2: Fix manpage reproducibility issue igt-gpu-tools: Fix reproducibility issue libid3tag: Fix reproducibility issue apr-util: Fix CFLAGS used in build gstreamer1.0-python: Set internal python library path correcty diffoscope: Upgrade 167 -> 168 syslinux: Fix reproducibility issues swig: Fix reproducibility issue efivar: Fix reproducibility issue systemd-bootchart: Disable LTO to fix reproducibility selftest/reproducible: Add ability to pull some objects from sstate qemu: Determinism fixes lttng: Fix reproducibility issues ltp: Fixing determinism issues python3-cython: Remove build paths from debug sources Ross Burton (1): grub: shuffle packaging for aarch64 builds Scott Murray (1): screen: fix CVE-2021-26937 Stefan Ghinea (2): wpa-supplicant: fix CVE-2021-0326 cups: fix CVE-2020-10001 Tomasz Dziendzielski (1): bitbake.conf: Introduce FAKEROOTLOGS variable used by bitbake to print pseudo.log Vivien Didelot (1): systemd: Fix importd requirements comment Wang Mingyu (12): util-linux: upgrade 2.36.1 -> 2.36.2 xkeyboard-config: upgrade 2.31 -> 2.32 liburcu: upgrade 0.12.1 -> 0.12.2 lttng-ust: upgrade 2.12.0 -> 2.12.1 openssl: upgrade 1.1.1i -> 1.1.1j bluez5: upgrade 5.55 -> 5.56 libxcrypt: upgrade 4.4.17 -> 4.4.18 nfs-utils: upgrade 2.5.2 -> 2.5.3 ccache: upgrade 4.1 -> 4.2 eudev: upgrade 3.2.9 -> 3.2.10 glslang: upgrade 11.1.0 -> 11.2.0 iproute2: upgrade 5.10.0 -> 5.11.0 Yi Fan Yu (3): libnl: add ptest support gdb: Remove "ALLOW_EMPTY_gdbserver" on riscv valgrind: Increase timeout duration 30 -> 90 s zhengruoqin (8): glibc-package.inc: Fix arm multlib header issue with struct_stat.h glibc: Unify wordsize.h with arm multilibs libxcrypt-compat: upgrade 4.4.17 -> 4.4.18 log4cplus: upgrade 2.0.5 -> 2.0.6 python3-cython: upgrade 0.29.21 -> 0.29.22 python3-git: upgrade 3.1.13 -> 3.1.14 sysvinit: upgrade 2.98 -> 2.99 python3-magic: upgrade 0.4.20 -> 0.4.22 Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: I69b5102d327da636a9c36642b46841e4341368d8
Diffstat (limited to 'poky/meta/lib/oeqa/selftest/cases')
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/fitimage.py36
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/gotoolchain.py15
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/incompatible_lic.py26
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/oescripts.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/reproducible.py54
5 files changed, 58 insertions, 75 deletions
diff --git a/poky/meta/lib/oeqa/selftest/cases/fitimage.py b/poky/meta/lib/oeqa/selftest/cases/fitimage.py
index 0958036a6..02692de82 100644
--- a/poky/meta/lib/oeqa/selftest/cases/fitimage.py
+++ b/poky/meta/lib/oeqa/selftest/cases/fitimage.py
@@ -69,9 +69,9 @@ FIT_DESC = "A model description"
'type = "ramdisk";',
'load = <0x88000000>;',
'entry = <0x88000000>;',
- 'default = "conf@1";',
- 'kernel = "kernel@1";',
- 'ramdisk = "ramdisk@1";'
+ 'default = "conf-1";',
+ 'kernel = "kernel-1";',
+ 'ramdisk = "ramdisk-1";'
]
with open(fitimage_its_path) as its_file:
@@ -137,12 +137,12 @@ UBOOT_MKIMAGE_SIGN_ARGS = "-c 'a smart comment'"
"%s FIT image doesn't exist" % (fitimage_path))
req_itspaths = [
- ['/', 'images', 'kernel@1'],
- ['/', 'images', 'kernel@1', 'signature@1'],
- ['/', 'images', 'fdt@am335x-boneblack.dtb'],
- ['/', 'images', 'fdt@am335x-boneblack.dtb', 'signature@1'],
- ['/', 'configurations', 'conf@am335x-boneblack.dtb'],
- ['/', 'configurations', 'conf@am335x-boneblack.dtb', 'signature@1'],
+ ['/', 'images', 'kernel-1'],
+ ['/', 'images', 'kernel-1', 'signature-1'],
+ ['/', 'images', 'fdt-am335x-boneblack.dtb'],
+ ['/', 'images', 'fdt-am335x-boneblack.dtb', 'signature-1'],
+ ['/', 'configurations', 'conf-am335x-boneblack.dtb'],
+ ['/', 'configurations', 'conf-am335x-boneblack.dtb', 'signature-1'],
]
itspath = []
@@ -158,7 +158,7 @@ UBOOT_MKIMAGE_SIGN_ARGS = "-c 'a smart comment'"
elif line.endswith('{'):
itspath.append(line[:-1].strip())
itspaths.append(itspath[:])
- elif itspath and itspath[-1] == 'signature@1':
+ elif itspath and itspath[-1] == 'signature-1':
itsdotpath = '.'.join(itspath)
if not itsdotpath in sigs:
sigs[itsdotpath] = {}
@@ -182,7 +182,7 @@ UBOOT_MKIMAGE_SIGN_ARGS = "-c 'a smart comment'"
}
for itspath, values in sigs.items():
- if 'conf@' in itspath:
+ if 'conf-' in itspath:
reqsigvalues = reqsigvalues_config
else:
reqsigvalues = reqsigvalues_image
@@ -210,9 +210,9 @@ UBOOT_MKIMAGE_SIGN_ARGS = "-c 'a smart comment'"
signed_sections[in_signed] = {}
key, value = line.split(':', 1)
signed_sections[in_signed][key.strip()] = value.strip()
- self.assertIn('kernel@1', signed_sections)
- self.assertIn('fdt@am335x-boneblack.dtb', signed_sections)
- self.assertIn('conf@am335x-boneblack.dtb', signed_sections)
+ self.assertIn('kernel-1', signed_sections)
+ self.assertIn('fdt-am335x-boneblack.dtb', signed_sections)
+ self.assertIn('conf-am335x-boneblack.dtb', signed_sections)
for signed_section, values in signed_sections.items():
value = values.get('Sign algo', None)
self.assertEqual(value, 'sha256,rsa2048:oe-selftest', 'Signature algorithm for %s not expected value' % signed_section)
@@ -298,7 +298,7 @@ FIT_HASH_ALG = "sha256"
its_lines = [line.strip() for line in its_file.readlines()]
exp_node_lines = [
- 'kernel@1 {',
+ 'kernel-1 {',
'description = "Linux kernel";',
'data = /incbin/("' + initramfs_bundle + '");',
'type = "kernel";',
@@ -307,7 +307,7 @@ FIT_HASH_ALG = "sha256"
'compression = "none";',
'load = <' + kernel_load + '>;',
'entry = <' + kernel_entry + '>;',
- 'hash@1 {',
+ 'hash-1 {',
'algo = "' + fit_hash_alg +'";',
'};',
'};'
@@ -327,7 +327,7 @@ FIT_HASH_ALG = "sha256"
else:
self.assertTrue(test_passed == True,"kernel node does not match expectation")
- rx_configs = re.compile("^conf@.*")
+ rx_configs = re.compile("^conf-.*")
its_configs = list(filter(rx_configs.match, its_lines))
for cfg_str in its_configs:
@@ -348,7 +348,7 @@ FIT_HASH_ALG = "sha256"
else:
print("kernel keyword found in the description line")
- if 'kernel = "kernel@1";' not in node:
+ if 'kernel = "kernel-1";' not in node:
self.assertTrue(test_passed == True,"kernel line not found")
break
else:
diff --git a/poky/meta/lib/oeqa/selftest/cases/gotoolchain.py b/poky/meta/lib/oeqa/selftest/cases/gotoolchain.py
index 3119520f0..4fc3605f4 100644
--- a/poky/meta/lib/oeqa/selftest/cases/gotoolchain.py
+++ b/poky/meta/lib/oeqa/selftest/cases/gotoolchain.py
@@ -46,26 +46,25 @@ class oeGoToolchainSelfTest(OESelftestTestCase):
shutil.rmtree(cls.tmpdir_SDKQA, ignore_errors=True)
super(oeGoToolchainSelfTest, cls).tearDownClass()
- def run_sdk_go_command(self, gocmd):
- cmd = "cd %s; " % self.tmpdir_SDKQA
+ def run_sdk_go_command(self, gocmd, proj, name):
+ cmd = "cd %s/src/%s/%s; " % (self.go_path, proj, name)
cmd = cmd + ". %s; " % self.env_SDK
cmd = cmd + "export GOPATH=%s; " % self.go_path
cmd = cmd + "${CROSS_COMPILE}go %s" % gocmd
return runCmd(cmd).status
def test_go_dep_build(self):
- proj = "github.com/golang"
- name = "dep"
- ver = "v0.3.1"
+ proj = "github.com/direnv"
+ name = "direnv"
+ ver = "v2.27.0"
archive = ".tar.gz"
url = "https://%s/%s/archive/%s%s" % (proj, name, ver, archive)
runCmd("cd %s; wget %s" % (self.tmpdir_SDKQA, url))
runCmd("cd %s; tar -xf %s" % (self.tmpdir_SDKQA, ver+archive))
runCmd("mkdir -p %s/src/%s" % (self.go_path, proj))
- runCmd("mv %s/dep-0.3.1 %s/src/%s/%s"
+ runCmd("mv %s/direnv-2.27.0 %s/src/%s/%s"
% (self.tmpdir_SDKQA, self.go_path, proj, name))
- retv = self.run_sdk_go_command('build %s/%s/cmd/dep'
- % (proj, name))
+ retv = self.run_sdk_go_command('build', proj, name)
self.assertEqual(retv, 0,
msg="Running go build failed for %s" % name)
diff --git a/poky/meta/lib/oeqa/selftest/cases/incompatible_lic.py b/poky/meta/lib/oeqa/selftest/cases/incompatible_lic.py
index 2a6382a1a..152da6332 100644
--- a/poky/meta/lib/oeqa/selftest/cases/incompatible_lic.py
+++ b/poky/meta/lib/oeqa/selftest/cases/incompatible_lic.py
@@ -15,66 +15,66 @@ class IncompatibleLicenseTests(OESelftestTestCase):
# Verify that a package with an SPDX license (from AVAILABLE_LICENSES)
# cannot be built when INCOMPATIBLE_LICENSE contains this SPDX license
def test_incompatible_spdx_license(self):
- self.lic_test('incompatible-license', 'GPL-3.0', 'GPL-3.0')
+ self.lic_test('incompatible-license', 'GPL-3.0-only', 'GPL-3.0-only')
# Verify that a package with an SPDX license (from AVAILABLE_LICENSES)
# cannot be built when INCOMPATIBLE_LICENSE contains an alias (in
# SPDXLICENSEMAP) of this SPDX license
def test_incompatible_alias_spdx_license(self):
- self.lic_test('incompatible-license', 'GPL-3.0', 'GPLv3')
+ self.lic_test('incompatible-license', 'GPL-3.0-only', 'GPLv3')
# Verify that a package with an SPDX license (from AVAILABLE_LICENSES)
# cannot be built when INCOMPATIBLE_LICENSE contains a wildcarded license
# matching this SPDX license
def test_incompatible_spdx_license_wildcard(self):
- self.lic_test('incompatible-license', 'GPL-3.0', '*GPL-3.0')
+ self.lic_test('incompatible-license', 'GPL-3.0-only', '*GPL-3.0-only')
# Verify that a package with an SPDX license (from AVAILABLE_LICENSES)
# cannot be built when INCOMPATIBLE_LICENSE contains a wildcarded alias
# license matching this SPDX license
def test_incompatible_alias_spdx_license_wildcard(self):
- self.lic_test('incompatible-license', 'GPL-3.0', '*GPLv3')
+ self.lic_test('incompatible-license', 'GPL-3.0-only', '*GPLv3')
# Verify that a package with an alias (from SPDXLICENSEMAP) to an SPDX
# license cannot be built when INCOMPATIBLE_LICENSE contains this SPDX
# license
def test_incompatible_spdx_license_alias(self):
- self.lic_test('incompatible-license-alias', 'GPL-3.0', 'GPL-3.0')
+ self.lic_test('incompatible-license-alias', 'GPL-3.0-only', 'GPL-3.0-only')
# Verify that a package with an alias (from SPDXLICENSEMAP) to an SPDX
# license cannot be built when INCOMPATIBLE_LICENSE contains this alias
def test_incompatible_alias_spdx_license_alias(self):
- self.lic_test('incompatible-license-alias', 'GPL-3.0', 'GPLv3')
+ self.lic_test('incompatible-license-alias', 'GPL-3.0-only', 'GPLv3')
# Verify that a package with an alias (from SPDXLICENSEMAP) to an SPDX
# license cannot be built when INCOMPATIBLE_LICENSE contains a wildcarded
# license matching this SPDX license
def test_incompatible_spdx_license_alias_wildcard(self):
- self.lic_test('incompatible-license-alias', 'GPL-3.0', '*GPL-3.0')
+ self.lic_test('incompatible-license-alias', 'GPL-3.0-only', '*GPL-3.0')
# Verify that a package with an alias (from SPDXLICENSEMAP) to an SPDX
# license cannot be built when INCOMPATIBLE_LICENSE contains a wildcarded
# alias license matching the SPDX license
def test_incompatible_alias_spdx_license_alias_wildcard(self):
- self.lic_test('incompatible-license-alias', 'GPL-3.0', '*GPLv3')
+ self.lic_test('incompatible-license-alias', 'GPL-3.0-only', '*GPLv3')
# Verify that a package with multiple SPDX licenses (from
# AVAILABLE_LICENSES) cannot be built when INCOMPATIBLE_LICENSE contains
# some of them
def test_incompatible_spdx_licenses(self):
- self.lic_test('incompatible-licenses', 'GPL-3.0 LGPL-3.0', 'GPL-3.0 LGPL-3.0')
+ self.lic_test('incompatible-licenses', 'GPL-3.0-only LGPL-3.0-only', 'GPL-3.0-only LGPL-3.0-only')
# Verify that a package with multiple SPDX licenses (from
# AVAILABLE_LICENSES) cannot be built when INCOMPATIBLE_LICENSE contains a
# wildcard to some of them
def test_incompatible_spdx_licenses_wildcard(self):
- self.lic_test('incompatible-licenses', 'GPL-3.0 LGPL-3.0', '*GPL-3.0')
+ self.lic_test('incompatible-licenses', 'GPL-3.0-only LGPL-3.0-only', '*GPL-3.0-only')
# Verify that a package with multiple SPDX licenses (from
# AVAILABLE_LICENSES) cannot be built when INCOMPATIBLE_LICENSE contains a
# wildcard matching all licenses
def test_incompatible_all_licenses_wildcard(self):
- self.lic_test('incompatible-licenses', 'GPL-2.0 GPL-3.0 LGPL-3.0', '*')
+ self.lic_test('incompatible-licenses', 'GPL-2.0-only GPL-3.0-only LGPL-3.0-only', '*')
# Verify that a package with a non-SPDX license (neither in
# AVAILABLE_LICENSES nor in SPDXLICENSEMAP) cannot be built when
@@ -91,7 +91,7 @@ INCOMPATIBLE_LICENSE_pn-core-image-minimal = "GPL-3.0 LGPL-3.0"
def test_bash_default(self):
self.write_config(self.default_config())
- error_msg = "ERROR: core-image-minimal-1.0-r0 do_rootfs: Package bash cannot be installed into the image because it has incompatible license(s): GPL-3.0+"
+ error_msg = "ERROR: core-image-minimal-1.0-r0 do_rootfs: Package bash cannot be installed into the image because it has incompatible license(s): GPL-3.0-or-later"
result = bitbake('core-image-minimal', ignore_status=True)
if error_msg not in result.output:
@@ -99,7 +99,7 @@ INCOMPATIBLE_LICENSE_pn-core-image-minimal = "GPL-3.0 LGPL-3.0"
def test_bash_and_license(self):
self.write_config(self.default_config() + '\nLICENSE_append_pn-bash = " & SomeLicense"')
- error_msg = "ERROR: core-image-minimal-1.0-r0 do_rootfs: Package bash cannot be installed into the image because it has incompatible license(s): GPL-3.0+"
+ error_msg = "ERROR: core-image-minimal-1.0-r0 do_rootfs: Package bash cannot be installed into the image because it has incompatible license(s): GPL-3.0-or-later"
result = bitbake('core-image-minimal', ignore_status=True)
if error_msg not in result.output:
diff --git a/poky/meta/lib/oeqa/selftest/cases/oescripts.py b/poky/meta/lib/oeqa/selftest/cases/oescripts.py
index 726daff7c..8a10ff357 100644
--- a/poky/meta/lib/oeqa/selftest/cases/oescripts.py
+++ b/poky/meta/lib/oeqa/selftest/cases/oescripts.py
@@ -167,7 +167,7 @@ class OEListPackageconfigTests(OEScriptTests):
def test_packageconfig_flags_option_all(self):
results = runCmd('%s/contrib/list-packageconfig-flags.py -a' % self.scripts_dir)
expected_endlines = []
- expected_endlines.append("pinentry-1.1.0")
+ expected_endlines.append("pinentry-1.1.1")
expected_endlines.append("PACKAGECONFIG ncurses libcap")
expected_endlines.append("PACKAGECONFIG[qt] --enable-pinentry-qt, --disable-pinentry-qt, qtbase-native qtbase")
expected_endlines.append("PACKAGECONFIG[gtk2] --enable-pinentry-gtk2, --disable-pinentry-gtk2, gtk+ glib-2.0")
diff --git a/poky/meta/lib/oeqa/selftest/cases/reproducible.py b/poky/meta/lib/oeqa/selftest/cases/reproducible.py
index 0963c2f11..0d0259477 100644
--- a/poky/meta/lib/oeqa/selftest/cases/reproducible.py
+++ b/poky/meta/lib/oeqa/selftest/cases/reproducible.py
@@ -28,44 +28,16 @@ import datetime
# ruby-ri-docs, meson:
#https://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20210215-0_td9la2/packages/diff-html/
exclude_packages = [
- 'babeltrace2-ptest',
- 'bootchart2-doc',
- 'cups',
- 'efivar',
- 'epiphany',
- 'gcr',
- 'git',
'glide',
'go-dep',
'go-helloworld',
'go-runtime',
'go_',
- 'groff',
- 'gst-devtools',
- 'gstreamer1.0-python',
- 'gtk-doc',
- 'igt-gpu-tools',
- 'libaprutil',
- 'libcap-ng',
- 'libhandy-1-src',
- 'libid3tag',
- 'libproxy',
- 'libsecret-dev',
- 'libsecret-src',
- 'lttng-tools-dbg',
- 'lttng-tools-ptest',
- 'ltp',
- 'meson',
+ 'go-',
+ 'meson',
'ovmf-shell-efi',
- 'parted-ptest',
'perf',
- 'python3-cython',
- 'qemu',
- 'rsync',
- 'ruby-ri-docs',
- 'swig',
- 'syslinux-misc',
- 'systemd-bootchart'
+ 'ruby-ri-docs'
]
def is_excluded(package):
@@ -137,7 +109,7 @@ def compare_file(reference, test, diffutils_sysroot):
result.status = MISSING
return result
- r = runCmd(['cmp', '--quiet', reference, test], native_sysroot=diffutils_sysroot, ignore_status=True)
+ r = runCmd(['cmp', '--quiet', reference, test], native_sysroot=diffutils_sysroot, ignore_status=True, sync=False)
if r.status:
result.status = DIFFERENT
@@ -173,8 +145,14 @@ class DiffoscopeTests(OESelftestTestCase):
self.assertTrue(os.path.exists(os.path.join(tmpdir, 'index.html')), "HTML index not found!")
class ReproducibleTests(OESelftestTestCase):
- package_classes = ['deb', 'ipk']
- images = ['core-image-minimal', 'core-image-sato', 'core-image-full-cmdline', 'world']
+ # Test the reproducibility of whatever is built between sstate_targets and targets
+
+ package_classes = ['deb', 'ipk', 'rpm']
+
+ # targets are the things we want to test the reproducibility of
+ targets = ['core-image-minimal', 'core-image-sato', 'core-image-full-cmdline', 'core-image-weston', 'world']
+ # sstate targets are things to pull from sstate to potentially cut build/debugging time
+ sstate_targets = []
save_results = False
if 'OEQA_DEBUGGING_SAVED_OUTPUT' in os.environ:
save_results = os.environ['OEQA_DEBUGGING_SAVED_OUTPUT']
@@ -255,6 +233,11 @@ class ReproducibleTests(OESelftestTestCase):
tmpdir=tmpdir)
if not use_sstate:
+ if self.sstate_targets:
+ self.logger.info("Building prebuild for %s (sstate allowed)..." % (name))
+ self.write_config(config)
+ bitbake(' '.join(self.sstate_targets))
+
# This config fragment will disable using shared and the sstate
# mirror, forcing a complete build from scratch
config += textwrap.dedent('''\
@@ -265,7 +248,8 @@ class ReproducibleTests(OESelftestTestCase):
self.logger.info("Building %s (sstate%s allowed)..." % (name, '' if use_sstate else ' NOT'))
self.write_config(config)
d = get_bb_vars(capture_vars)
- bitbake(' '.join(self.images))
+ # targets used to be called images
+ bitbake(' '.join(getattr(self, 'images', self.targets)))
return d
def test_reproducible_builds(self):