summaryrefslogtreecommitdiff
path: root/poky/meta/lib
diff options
context:
space:
mode:
authorAndrew Geissler <geissonator@yahoo.com>2021-02-19 21:26:16 +0300
committerBrad Bishop <bradleyb@fuzziesquirrel.com>2021-02-25 23:15:06 +0300
commit9b4d8b0ea6b5862f279fab62e6ccee3bd51ddcc2 (patch)
tree3766042390932e4b7cb839d6ed617bbb1a7a29b9 /poky/meta/lib
parentd1e894976442c78577f52fe7b169812d00289120 (diff)
downloadopenbmc-9b4d8b0ea6b5862f279fab62e6ccee3bd51ddcc2.tar.xz
poky: subtree update:9294bc4bb4..488e39b623
Alejandro Hernandez Samaniego (1): sstate.bbclass: Split sstate summary into locally and network found artifacts Alexander Kanavin (1): selftest/reproducible: track unusued entries in the exclusion list Andrei Gherzan (1): oe/recipeutils: Fix copying patches when BBLAYERS entries are not normalised Anthony Bagwell (1): kernel-fitimage: fix dtbo support for fit images Anuj Mittal (38): git: upgrade 2.30.0 -> 2.30.1 glib-2.0: upgrade 2.66.4 -> 2.66.7 help2man: upgrade 1.47.16 -> 1.48.1 libevdev: upgrade 1.10.1 -> 1.11.0 stress-ng: upgrade 0.12.02 -> 0.12.03 vte: upgrade 0.62.1 -> 0.62.2 x264: upgrade to latest revision createrepo-c: upgrade 0.16.2 -> 0.17.0 libuv: upgrade 1.40.0 -> 1.41.0 piglit: upgrade to latest revision pigz: upgrade 2.4 -> 2.6 python3-git: upgrade 3.1.12 -> 3.1.13 sysstat: upgrade 12.4.2 -> 12.4.3 python3-hypothesis: upgrade 6.0.2 -> 6.2.0 python3-more-itertools: upgrade 8.6.0 -> 8.7.0 python3-numpy: upgrade 1.20.0 -> 1.20.1 python3-pygments: upgrade 2.7.4 -> 2.8.0 python3-pytest: upgrade 6.2.1 -> 6.2.2 python3-setuptools: upgrade 52.0.0 -> 53.0.0 psmisc: upgrade 23.3 -> 23.4 gtk+3: upgrade 3.24.24 -> 3.24.25 lighttpd: upgrade 1.4.58 -> 1.4.59 libwebp: upgrade 1.1.0 -> 1.2.0 libcap: upgrade 2.47 -> 2.48 libxt: upgrade 1.2.0 -> 1.2.1 sysklogd: upgrade 2.1.2 -> 2.2.1 cmake: upgrade 3.19.3 -> 3.19.5 curl: upgrade 7.74.0 -> 7.75.0 diffoscope: upgrade 164 -> 166 libfm-extra: upgrade 1.3.1 -> 1.3.2 pcmanfm: upgrade 1.3.1 -> 1.3.2 json-glib: upgrade 1.6.0 -> 1.6.2 mesa: upgrade 20.3.2 -> 20.3.4 kmscube: upgrade to latest revision btrfs-tools: upgrade 5.10 -> 5.10.1 man-db: upgrade 2.9.3 -> 2.9.4 asciidoc: fix upstream check linux-yocto: update genericx86* to v5.4.94 Bruce Ashfield (6): linux-yocto-rt/5.10: update to -rt25 linux-yocto/5.10: update to v5.10.14 linux-yocto/5.4: update to v5.4.96 linux-yocto/5.10: update to v5.10.16 linux-yocto/5.4: update to v5.4.98 linux-yocto-dev: bump version to v5.11+ Jan-Simon Möller (2): oe-selftests: add rpm to reproducible build selftest package_rpm: Enable use_source_date_epoch_as_buildtime in package_rpm class Jose Quaresma (5): spirv-tools: disable tests spirv-tools: build all libaries as shared glslang: generate glslang pkg-config glslang: add comment about unversioned libraries shaderc: remove the receipe configure hack and use a patch for that Joshua Watt (7): libomxil: Fix up commercial license flag weston: remoting backend requires GStreamer base plugins oeqa: reproducible: Fix SSTATE_MIRRORS variable oeqa: reproducible: Add more logging bitbake: contrib: Add Dockerfile for building hash server bison: Fix up file name mapping acpica: Fix reproducibility issues Khem Raj (8): tcf-agent: Fix build on riscv32 security_flags.inc: Add same O<level> as in SELECTED_OPTIMIZATION autoconf: Add missing perl modules to rdeps gdb: Drop SIGRTMIN definition patch musl: Update to latest master go: Update to 1.15.8 ruby: Do not use ucontext implementation for coroutines on musl/riscv libunwind: Disable for riscv Konrad Weihmann (1): cmake: set CMAKE_EXPORT_NO_PACKAGE_REGISTRY Luca Boccassi (1): systemd: add hostname fallback when polkit is not available Marek Vasut (1): weston-init: Fix weston-keyboard path in weston.ini Michael Halstead (1): yocto-uninative.inc: version 3.0 incorporate seccomp filter workaround Oleksandr Kravchuk (2): cryptodev: upgrade to 1.12 tar: update to 1.34 Richard Purdie (31): pseudo: Update for rename and faccessat fixes nativesdk-buildtools-perl-dummy: Add new autoconf dependencies selftest/reproducible: Sort the unused exclusion list selftest/reproducible: Remove no longer needed exclusions pseudo: Update to include fixes for glibc 2.33 bitbake: bitbake-worker/runqueue: Add support for BB_DEFAULT_UMASK bitbake: bitbake: Bump version to 1.49.2 systemd: Simplify mount error patch bitbake.conf: Set as default task umask of 022 classes: Drop now unneeded umask flags cwautomacros: Ensure version is set deterministically vim: Improve determinism vim: Fix a race over creation of the desktop files package_manager/deb: Fix image generation with package removal quilt: Be determnistic about column presence buildtools-extended-tarball: Add glibc-gconvs needed for build watchdog: Fix determinism issue from sendmail host path watchdog: Avoid reproducibility failures after fixing build xorg-fonts-minimal: Fix reproducibility xmlto: Fix reproducibility selftest/reproducible: Update exclusions distutils3-base: Fix after native packaging changes subversion: upgrade 1.14.0 -> 1.14.1 python3-jinja2: upgrade 2.11.2 -> 2.11.3 systemd: Drop unneeded musl patches qemu: Refresh mmap fixes patch status/content Revert "oe-selftests: add rpm to reproducible build selftest" local.conf.sample.extended: Bring back into sync with OE-Core xorg-minimal-fonts: Really fix determinism git: Fix determinism issue groff: Fix determinism issue Ross Burton (2): glibc: add workaround for faccessat2 being blocked by seccomp filters rootfs_deb: handle aarch64 SDK_ARCH Suji Velupillai (1): ffmpeg: move ffmpeg config into packageconfig Teoh Jay Shen (1): oeqa/runlevel : add test for runlevels Thomas Viehweger (1): mtd-utils: Remove duplicate assignments to alternative link names Tomasz Dziendzielski (1): bitbake: event: Prevent bitbake from executing event handler for wrong multiconfig target Vivien Didelot (2): local.conf.sample.extended: fix double 'of' typo local.conf.sample.extended: prefer INIT_MANAGER Wes Lindauer (1): df.py: Add feature check for read-only-rootfs Yi Fan Yu (2): valgrind: Disable ptest nlcontrolc for x86-64 valgrind: Remove reference to non-existent ptests Yoann Congal (1): npm.bbclass: avoid building target nodejs for native npm recipes akuster (1): connman: update to 1.39 Revert "libpam: remove unused code" This reverts commit e5b5c38a76bbf3f56353954bdc65fa8736ed76bf. This is needed for the backported libpam support Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: Ia802c1f09ccbd2967e01098edb059e72ee670ad8
Diffstat (limited to 'poky/meta/lib')
-rw-r--r--poky/meta/lib/oe/package_manager/deb/__init__.py4
-rw-r--r--poky/meta/lib/oe/recipeutils.py2
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/df.py2
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/runlevel.py22
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/reproducible.py38
5 files changed, 49 insertions, 19 deletions
diff --git a/poky/meta/lib/oe/package_manager/deb/__init__.py b/poky/meta/lib/oe/package_manager/deb/__init__.py
index 7fdfdaa4fa..2ee68fefb1 100644
--- a/poky/meta/lib/oe/package_manager/deb/__init__.py
+++ b/poky/meta/lib/oe/package_manager/deb/__init__.py
@@ -313,6 +313,10 @@ class DpkgPM(OpkgDpkgPM):
if not pkgs:
return
+ os.environ['D'] = self.target_rootfs
+ os.environ['OFFLINE_ROOT'] = self.target_rootfs
+ os.environ['IPKG_OFFLINE_ROOT'] = self.target_rootfs
+ os.environ['OPKG_OFFLINE_ROOT'] = self.target_rootfs
os.environ['INTERCEPT_DIR'] = self.intercepts_dir
if with_dependencies:
diff --git a/poky/meta/lib/oe/recipeutils.py b/poky/meta/lib/oe/recipeutils.py
index ef69ef207f..407d168894 100644
--- a/poky/meta/lib/oe/recipeutils.py
+++ b/poky/meta/lib/oe/recipeutils.py
@@ -409,7 +409,7 @@ def copy_recipe_files(d, tgt_dir, whole_dir=False, download=True, all_variants=F
fetch.download()
for pth in fetch.localpaths():
if pth not in localpaths:
- localpaths.append(pth)
+ localpaths.append(os.path.abspath(pth))
uri_values.append(srcuri)
fetch_urls(d)
diff --git a/poky/meta/lib/oeqa/runtime/cases/df.py b/poky/meta/lib/oeqa/runtime/cases/df.py
index 89fd0fb901..bb155c9cf9 100644
--- a/poky/meta/lib/oeqa/runtime/cases/df.py
+++ b/poky/meta/lib/oeqa/runtime/cases/df.py
@@ -4,12 +4,14 @@
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
+from oeqa.core.decorator.data import skipIfDataVar, skipIfInDataVar
from oeqa.runtime.decorator.package import OEHasPackage
class DfTest(OERuntimeTestCase):
@OETestDepends(['ssh.SSHTest.test_ssh'])
@OEHasPackage(['coreutils', 'busybox'])
+ @skipIfInDataVar('IMAGE_FEATURES', 'read-only-rootfs', 'Test case df requires a writable rootfs')
def test_df(self):
cmd = "df -P / | sed -n '2p' | awk '{print $4}'"
(status,output) = self.target.run(cmd)
diff --git a/poky/meta/lib/oeqa/runtime/cases/runlevel.py b/poky/meta/lib/oeqa/runtime/cases/runlevel.py
new file mode 100644
index 0000000000..3a4df8ace1
--- /dev/null
+++ b/poky/meta/lib/oeqa/runtime/cases/runlevel.py
@@ -0,0 +1,22 @@
+from oeqa.runtime.case import OERuntimeTestCase
+from oeqa.core.decorator.depends import OETestDepends
+
+import time
+
+class RunLevel_Test(OERuntimeTestCase):
+
+ @OETestDepends(['ssh.SSHTest.test_ssh'])
+ def test_runlevel_3(self):
+ (status, output) = self.target.run("init 3 && sleep 5 && runlevel")
+ runlevel= '5 3'
+ self.assertEqual(output, runlevel, msg='Failed to set current runlevel to runlevel 3, current runlevel : %s' % output[-1])
+ (status, output) = self.target.run("uname -a")
+ self.assertEqual(status, 0, msg='Failed to run uname command, output: %s' % output)
+
+ @OETestDepends(['runlevel.RunLevel_Test.test_runlevel_3'])
+ def test_runlevel_5(self):
+ (status, output) = self.target.run("init 5 && sleep 5 && runlevel")
+ runlevel = '3 5'
+ self.assertEqual(output, runlevel, msg='Failed to set current runlevel to runlevel 5, current runlevel : %s' % output[-1])
+ (status, output) = self.target.run('export DISPLAY=:0 && x11perf -aa10text')
+ self.assertEqual(status, 0, msg='Failed to run 2D graphic test, output: %s' % output)
diff --git a/poky/meta/lib/oeqa/selftest/cases/reproducible.py b/poky/meta/lib/oeqa/selftest/cases/reproducible.py
index deddf6e50b..0963c2f11a 100644
--- a/poky/meta/lib/oeqa/selftest/cases/reproducible.py
+++ b/poky/meta/lib/oeqa/selftest/cases/reproducible.py
@@ -24,13 +24,13 @@ import datetime
# https://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20201127-hwds3mcl/
# https://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20201203-sua0pzvc/
# (both packages/ and packages-excluded/)
+
+# ruby-ri-docs, meson:
+#https://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20210215-0_td9la2/packages/diff-html/
exclude_packages = [
- 'acpica-src',
'babeltrace2-ptest',
'bootchart2-doc',
'cups',
- 'cwautomacros',
- 'dtc',
'efivar',
'epiphany',
'gcr',
@@ -45,7 +45,6 @@ exclude_packages = [
'gstreamer1.0-python',
'gtk-doc',
'igt-gpu-tools',
- 'kernel-devsrc',
'libaprutil',
'libcap-ng',
'libhandy-1-src',
@@ -56,31 +55,25 @@ exclude_packages = [
'lttng-tools-dbg',
'lttng-tools-ptest',
'ltp',
- 'meson',
+ 'meson',
'ovmf-shell-efi',
'parted-ptest',
'perf',
'python3-cython',
'qemu',
- 'quilt-ptest',
'rsync',
- 'ruby',
+ 'ruby-ri-docs',
'swig',
'syslinux-misc',
- 'systemd-bootchart',
- 'valgrind-ptest',
- 'vim',
- 'watchdog',
- 'xmlto',
- 'xorg-minimal-fonts'
+ 'systemd-bootchart'
]
def is_excluded(package):
package_name = os.path.basename(package)
for i in exclude_packages:
if package_name.startswith(i):
- return True
- return False
+ return i
+ return None
MISSING = 'MISSING'
DIFFERENT = 'DIFFERENT'
@@ -106,14 +99,17 @@ class PackageCompareResults(object):
self.different = []
self.different_excluded = []
self.same = []
+ self.active_exclusions = set()
def add_result(self, r):
self.total.append(r)
if r.status == MISSING:
self.missing.append(r)
elif r.status == DIFFERENT:
- if is_excluded(r.reference):
+ exclusion = is_excluded(r.reference)
+ if exclusion:
self.different_excluded.append(r)
+ self.active_exclusions.add(exclusion)
else:
self.different.append(r)
else:
@@ -127,7 +123,10 @@ class PackageCompareResults(object):
self.same.sort()
def __str__(self):
- return 'same=%i different=%i different_excluded=%i missing=%i total=%i' % (len(self.same), len(self.different), len(self.different_excluded), len(self.missing), len(self.total))
+ return 'same=%i different=%i different_excluded=%i missing=%i total=%i\nunused_exclusions=%s' % (len(self.same), len(self.different), len(self.different_excluded), len(self.missing), len(self.total), self.unused_exclusions())
+
+ def unused_exclusions(self):
+ return sorted(set(exclude_packages) - self.active_exclusions)
def compare_file(reference, test, diffutils_sysroot):
result = CompareResult()
@@ -260,9 +259,10 @@ class ReproducibleTests(OESelftestTestCase):
# mirror, forcing a complete build from scratch
config += textwrap.dedent('''\
SSTATE_DIR = "${TMPDIR}/sstate"
- SSTATE_MIRROR = ""
+ SSTATE_MIRRORS = ""
''')
+ 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))
@@ -289,6 +289,7 @@ class ReproducibleTests(OESelftestTestCase):
self.logger.info('Non-reproducible packages will be copied to %s', save_dir)
vars_A = self.do_test_build('reproducibleA', self.build_from_sstate)
+
vars_B = self.do_test_build('reproducibleB', False)
# NOTE: The temp directories from the reproducible build are purposely
@@ -303,6 +304,7 @@ class ReproducibleTests(OESelftestTestCase):
deploy_A = vars_A['DEPLOY_DIR_' + c.upper()]
deploy_B = vars_B['DEPLOY_DIR_' + c.upper()]
+ self.logger.info('Checking %s packages for differences...' % c)
result = self.compare_packages(deploy_A, deploy_B, diffutils_sysroot)
self.logger.info('Reproducibility summary for %s: %s' % (c, result))