Skip to contentSkip to conversation

kernel/kernel-yocto: consolidated M3 feature pull request

PATCH Superseded [email protected] 6 participants 30 messages Aug 28, 2019 – Aug 29, 2019

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

cover kernel/kernel-yocto: consolidated M3 feature pull request

From: Bruce Ashfield <[email protected]>

Hi all,

Sorry for this being slightly after the M3 feature cutoff, I ended up having to churn through a lot of extra builds keeping up with master, dealing with header issues, and working through the python3 changes at the same time.

With this series, we get an update of the libc-headers to 5.2, the introduction of the 5.2 reference kernel, tweaked 5.2 kernel configuration fragments, some misc build fixes to deal with the headers and the removal of python2 dependencies from kerneldevsrc and perf.

I have some follow up patches to meta-oe that fix a couple of build issues with the 5.2 headers. As well as some changes to oe-core to drop the 5.0 recipes (once we get the reference BSPs updated) and also changes to poky to set the default kernel to 5.2. Once we get this set stablized, and the reference BSPs updated, I'll send those other patches.

I've built and booted all the qemu machines for 5.2 (core-image-sato, core-image-kernel-dev) and executed unit tests. I've also built and booted core-image-minimal for musl for all arches against the updated headers. I'm sure that I still managed to miss some combination, or there's some other package out there that doesn't like the header updates .. but I've done the best I can and this needs autobuilder coverage now.

I've also built and tested python3 only images for core-image-kernel-dev and haven't found any regressions in functionality. As a bonus to the python2 removal, I fixed perf scripting (which was broken) and headed off some perf v5.3 issues.

Cheers,

Bruce

The following changes since commit c17113f1e2e7bd8ab019169660718fab81df16fb:

quilt: added less to RDEPENDS list (2019-08-22 22:48:27 +0100)

are available in the Git repository at:

git://git.pokylinux.org/poky-contrib zedd/kernel
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=zedd/kernel

Bruce Ashfield (8):
linux-libc-headers: update to v5.2 headers
linux-yocto: introduce 5.2 recipes
bluez5: fix build against libc-headers 5.2+
kernel-devsrc: remove python2 dependency
perf: change dependencies on python to python3
perf: v5.3+ build fixes
devsrc: update arm64 scripts/prepare for kernels 5.3+
qemu: bump linux-yocto preferred version to 5.2

 meta/conf/distro/include/tcmode-default.inc   |  2 +-
 meta/conf/machine/include/x86-base.inc        |  2 +-
 meta/conf/machine/qemuarmv5.conf              |  2 +-
 meta/recipes-connectivity/bluez5/bluez5.inc   |  1 +
 ...x-build-after-y2038-changes-in-glibc.patch | 68 +++++++++++++++++++
 ...sm-ptrace.h-should-not-depend-on-uap.patch | 62 -----------------
 ...aders_5.0.bb => linux-libc-headers_5.2.bb} |  5 +-
 .../recipes-kernel/linux/files/0001-foo.patch | 25 +++++++
 meta/recipes-kernel/linux/kernel-devsrc.bb    | 15 +++-
 .../linux/linux-yocto-rt_5.2.bb               | 44 ++++++++++++
 .../linux/linux-yocto-tiny_5.2.bb             | 32 +++++++++
 meta/recipes-kernel/linux/linux-yocto_5.2.bb  | 54 +++++++++++++++
 meta/recipes-kernel/perf/perf.bb              | 20 ++++--
 13 files changed, 255 insertions(+), 77 deletions(-)
 create mode 100644 meta/recipes-connectivity/bluez5/bluez5/0001-tools-Fix-build-after-y2038-changes-in-glibc.patch
 delete mode 100644 meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-arm64-sve-uapi-asm-ptrace.h-should-not-depend-on-uap.patch
 rename meta/recipes-kernel/linux-libc-headers/{linux-libc-headers_5.0.bb => linux-libc-headers_5.2.bb} (75%)
 create mode 100644 meta/recipes-kernel/linux/files/0001-foo.patch
 create mode 100644 meta/recipes-kernel/linux/linux-yocto-rt_5.2.bb
 create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny_5.2.bb
 create mode 100644 meta/recipes-kernel/linux/linux-yocto_5.2.bb
Signature · 1 line
2.19.1
#1 lore raw

PATCH 1/8 linux-libc-headers: update to v5.2 headers

From: Bruce Ashfield <[email protected]>

We drop the patch 0001-arm64-sve-uapi-asm-ptrace.h-should-not-depend-on-uap.patch since it was a backport and is already part of the 5.2 headers

---
 meta/conf/distro/include/tcmode-default.inc   |  2 +-
 ...sm-ptrace.h-should-not-depend-on-uap.patch | 62 -------------------
 ...aders_5.0.bb => linux-libc-headers_5.2.bb} |  5 +-
 3 files changed, 3 insertions(+), 66 deletions(-)
 delete mode 100644 meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-arm64-sve-uapi-asm-ptrace.h-should-not-depend-on-uap.patch
 rename meta/recipes-kernel/linux-libc-headers/{linux-libc-headers_5.0.bb => linux-libc-headers_5.2.bb} (75%)
meta/conf/distro/include/tcmode-default.inc +1 -1
index c89b8e012d..5c28386c4f 100644
@@ -23,7 +23,7 @@ SDKGCCVERSION ?= "${GCCVERSION}"
 BINUVERSION ?= "2.32%"
 GDBVERSION ?= "8.3%"
 GLIBCVERSION ?= "2.30%"
-LINUXLIBCVERSION ?= "5.0%"
+LINUXLIBCVERSION ?= "5.2%"
 QEMUVERSION ?= "4.1%"
 GOVERSION ?= "1.12%"
 # This can not use wildcards like 8.0.% since it is also used in mesa to denote
meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-arm64-sve-uapi-asm-ptrace.h-should-not-depend-on-uap.patch deleted +0 -62

62 lines not on this page · raw message

meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.2.bb renamed from meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.0.bb +2 -3
similarity index 75%
rename from meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.0.bb
rename to meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.2.bb
index 473688d95f..9d18df76c6 100644
@@ -12,8 +12,7 @@ SRC_URI_append_libc-musl = "\
 SRC_URI_append = "\
     file://0001-scripts-Use-fixed-input-and-output-files-instead-of-.patch \
     file://0001-kbuild-install_headers.sh-Strip-_UAPI-from-if-define.patch \
-    file://0001-arm64-sve-uapi-asm-ptrace.h-should-not-depend-on-uap.patch \
 "
 
-SRC_URI[md5sum] = "7381ce8aac80a01448e065ce795c19c0"
-SRC_URI[sha256sum] = "437b141a6499159f5a7282d5eb4b2be055f8e862ccce44d7464e8759c31a2e43"
+SRC_URI[md5sum] = "ddf994de00d7b18395886dd9b30b9262"
+SRC_URI[sha256sum] = "54ad66f672e1a831b574f5e704e8a05f1e6180a8245d4bdd811208a6cb0ac1e7"
Signature · 1 line
2.19.1
#2 lore raw

PATCH 2/8 linux-yocto: introduce 5.2 recipes

In reply to [email protected]

From: Bruce Ashfield <[email protected]>

Introducing the 5.2 linux-yocto reference kernels. 5.0 is EOL and will be removed, leaving 4.19 (LTS) and 5.2 as the reference kernels.

This has been build/boot tested on all qemu architectures for core-image-kernel-dev, and graphics tesed via core-image-sato. No blockin issues have been found.

---
 .../recipes-kernel/linux/files/0001-foo.patch | 25 +++++++++
 .../linux/linux-yocto-rt_5.2.bb               | 44 +++++++++++++++
 .../linux/linux-yocto-tiny_5.2.bb             | 32 +++++++++++
 meta/recipes-kernel/linux/linux-yocto_5.2.bb  | 54 +++++++++++++++++++
 4 files changed, 155 insertions(+)
 create mode 100644 meta/recipes-kernel/linux/files/0001-foo.patch
 create mode 100644 meta/recipes-kernel/linux/linux-yocto-rt_5.2.bb
 create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny_5.2.bb
 create mode 100644 meta/recipes-kernel/linux/linux-yocto_5.2.bb
meta/recipes-kernel/linux/files/0001-foo.patch new file +25 -0
new file mode 100644
index 0000000000..0cd4578f33
@@ -0,0 +1,25 @@
+From 9ddc5e377434e28f1f3c74c9be011b0c9dfb1de4 Mon Sep 17 00:00:00 2001
+From: Bruce Ashfield <[email protected]>
+Date: Fri, 1 Mar 2019 10:09:43 -0500
+Subject: [PATCH] foo
+
+Signed-off-by: Bruce Ashfield <[email protected]>
+---
+ bsp/common-pc-64/common-pc-64-cpu.cfg | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/bsp/common-pc-64/common-pc-64-cpu.cfg b/bsp/common-pc-64/common-pc-64-cpu.cfg
+index 8dced733815..63bc167cf6f 100644
+--- a/bsp/common-pc-64/common-pc-64-cpu.cfg
++++ b/bsp/common-pc-64/common-pc-64-cpu.cfg
+@@ -12,6 +12,6 @@
+ #.........................................................................
+ 
+ CONFIG_MCORE2=y
+-CONFIG_IA32_EMULATION=y
++#CONFIG_IA32_EMULATION is not set
+ CONFIG_NR_CPUS=24
+ CONFIG_PM=y
+-- 
+2.19.1
+
meta/recipes-kernel/linux/linux-yocto-rt_5.2.bb new file +44 -0

44 lines not on this page · raw message

meta/recipes-kernel/linux/linux-yocto-tiny_5.2.bb new file +32 -0
new file mode 100644
index 0000000000..f55e607b97
@@ -0,0 +1,32 @@
+KBRANCH ?= "v5.2/standard/tiny/base"
+KBRANCH_qemuarm  ?= "v5.2/standard/tiny/arm-versatile-926ejs"
+
+LINUX_KERNEL_TYPE = "tiny"
+KCONFIG_MODE = "--allnoconfig"
+
+require recipes-kernel/linux/linux-yocto.inc
+
+LINUX_VERSION ?= "5.2.10"
+LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
+
+DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
+DEPENDS += "openssl-native util-linux-native"
+
+KMETA = "kernel-meta"
+KCONF_BSP_AUDIT_LEVEL = "2"
+
+SRCREV_machine_qemuarm ?= "ab7b49b196280d4289f18c35cf6ea534f364d104"
+SRCREV_machine ?= "77c28ea0e55cabb0b22b47d4eb2cc94b0940dfe6"
+SRCREV_meta ?= "b53e99257175fd6f41f31e5ebec46c1bd11076b8"
+
+PV = "${LINUX_VERSION}+git${SRCPV}"
+
+SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \
+           git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.2;destsuffix=${KMETA}"
+
+COMPATIBLE_MACHINE = "qemux86|qemux86-64|qemuarm|qemuarmv5"
+
+# Functionality flags
+KERNEL_FEATURES = ""
+
+KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb"
meta/recipes-kernel/linux/linux-yocto_5.2.bb new file +54 -0

54 lines not on this page · raw message

Signature · 1 line
2.19.1
#5 lore raw

PATCH 3/8 bluez5: fix build against libc-headers 5.2+

In reply to [email protected]

From: Bruce Ashfield <[email protected]>

Backporting the following upstream commit to fix the build against kernel 5.2+ headers:

[
Subject: [PATCH] tools: Fix build after y2038 changes in glibc

The 32-bit SIOCGSTAMP has been deprecated. Use the deprecated name to fix the build.
]

Upstream-Status: backport commit f36f71f60b1e68c0f12e615b9b128d089ec3dd19

---
 meta/recipes-connectivity/bluez5/bluez5.inc   |  1 +
 ...x-build-after-y2038-changes-in-glibc.patch | 68 +++++++++++++++++++
 2 files changed, 69 insertions(+)
 create mode 100644 meta/recipes-connectivity/bluez5/bluez5/0001-tools-Fix-build-after-y2038-changes-in-glibc.patch
meta/recipes-connectivity/bluez5/bluez5.inc +1 -0
index bffd174c0a..6c79ed0606 100644
@@ -57,6 +57,7 @@ SRC_URI = "\
     file://0001-Makefile.am-Fix-a-race-issue-for-tools.patch \
     file://CVE-2018-10910.patch \
     file://gcc9-fixes.patch \
+    file://0001-tools-Fix-build-after-y2038-changes-in-glibc.patch \
 "
 S = "${WORKDIR}/bluez-${PV}"
 
meta/recipes-connectivity/bluez5/bluez5/0001-tools-Fix-build-after-y2038-changes-in-glibc.patch new file +68 -0

68 lines not on this page · raw message

Signature · 1 line
2.19.1
#6 lore raw

PATCH 4/8 kernel-devsrc: remove python2 dependency

In reply to [email protected]

From: Bruce Ashfield <[email protected]>

Witht the approaching EOL of python2, the kernel packages need to be updated to depend on python3.

The core kernel scripts are now python3 safe, making the RDEPENDS change relatively simple.

but

There are some scripts that are captured in the devsrc files that are not used, but reference /usr/bin/python. The python3 package does not provide /usr/bin/python so any package managers with automatic dependency detection will fail to assemble a rootfs due to the missing intepreter.

We could drop the scripts from the source capture, but that risks dropping something that we need in certain operations and we'd miss when they are updated in tree to explicitly call python3 (since they won't be revisited often). Light testing shows that the scripts do run with python3, so rather than removing them, we change the interpreter once they are copied, and automatic dependency detection won't cause us rootfs assembly issues.

---
 meta/recipes-kernel/linux/kernel-devsrc.bb | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)
meta/recipes-kernel/linux/kernel-devsrc.bb +10 -1
index 3900489ac5..e17c0ea0ab 100644
@@ -240,6 +240,15 @@ do_install() {
     # Copy .config to include/config/auto.conf so "make prepare" is unnecessary.
     cp $kerneldir/build/.config $kerneldir/build/include/config/auto.conf
 
+    # make the scripts python3 safe. We won't be running these, and if they are
+    # left as /usr/bin/python rootfs assembly will fail, since we only have python3
+    # in the RDEPENDS (and the python3 package does not include /usr/bin/python)
+    for ss in $(find $kerneldir/build/scripts -type f -name '*'); do
+	sed -i 's,/usr/bin/python2,/usr/bin/env python3,' "$ss"
+	sed -i 's,/usr/bin/env python2,/usr/bin/env python3,' "$ss"
+	sed -i 's,/usr/bin/python,/usr/bin/env python3,' "$ss"
+    done
+
     chown -R root:root ${D}
 }
 
@@ -249,7 +258,7 @@ do_install[lockfiles] = "${TMPDIR}/kernel-scripts.lock"
 FILES_${PN} = "${KERNEL_BUILD_ROOT} ${KERNEL_SRC_PATH}"
 FILES_${PN}-dbg += "${KERNEL_BUILD_ROOT}*/build/scripts/*/.debug/*"
 
-RDEPENDS_${PN} = "bc python flex bison ${TCLIBC}-utils"
+RDEPENDS_${PN} = "bc python3 flex bison ${TCLIBC}-utils"
 # 4.15+ needs these next two RDEPENDS
 RDEPENDS_${PN} += "openssl-dev util-linux"
 # and x86 needs a bit more for 4.15+
Signature · 1 line
2.19.1
#17 lore raw

PATCH 5/8 perf: change dependencies on python to python3

In reply to [email protected]

From: Bruce Ashfield <[email protected]>

The upstream kernel can now handle python3 for the perf scripts, coupled with the impending EOL of python2, we switch the dependencies in perf (scripting) to python3.

Outside of dependency changes, we also pass the following two variables to the perf build: PYTHON=python3 PYTHON_CONFIG=python3-config. To ensure that our python3 components are used.

For configurations that disable perf scripting, there is no change in behaviour.

[YOCTO #13358]

---
 meta/recipes-kernel/perf/perf.bb | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)
meta/recipes-kernel/perf/perf.bb +9 -7
index 4e603f1a32..8ac8e7c308 100644
@@ -13,7 +13,7 @@ PR = "r9"
 
 PACKAGECONFIG ??= "scripting tui libunwind"
 PACKAGECONFIG[dwarf] = ",NO_DWARF=1"
-PACKAGECONFIG[scripting] = ",NO_LIBPERL=1 NO_LIBPYTHON=1,perl python"
+PACKAGECONFIG[scripting] = ",NO_LIBPERL=1 NO_LIBPYTHON=1,perl python3"
 # gui support was added with kernel 3.6.35
 # since 3.10 libnewt was replaced by slang
 # to cover a wide range of kernel we add both dependencies
@@ -44,8 +44,8 @@ PROVIDES = "virtual/perf"
 inherit linux-kernel-base kernel-arch manpages
 
 # needed for building the tools/perf Python bindings
-inherit ${@bb.utils.contains('PACKAGECONFIG', 'scripting', 'pythonnative', '', d)}
-inherit python-dir
+inherit ${@bb.utils.contains('PACKAGECONFIG', 'scripting', 'python3native', '', d)}
+inherit python3-dir
 export PYTHON_SITEPACKAGES_DIR
 
 #kernel 3.1+ supports WERROR to disable warnings as errors
@@ -94,6 +94,7 @@ EXTRA_OEMAKE += "\
     'sharedir=${@os.path.relpath(datadir, prefix)}' \
     'mandir=${@os.path.relpath(mandir, prefix)}' \
     'infodir=${@os.path.relpath(infodir, prefix)}' \
+    ${@bb.utils.contains('PACKAGECONFIG', 'scripting', 'PYTHON=python3 PYTHON_CONFIG=python3-config', '', d)} \
 "
 
 # During do_configure, we might run a 'make clean'. That often breaks
@@ -132,7 +133,7 @@ do_install() {
 	oe_runmake install
 	# we are checking for this make target to be compatible with older perf versions
 	if ${@bb.utils.contains('PACKAGECONFIG', 'scripting', 'true', 'false', d)} && grep -q install-python_ext ${S}/tools/perf/Makefile*; then
-		oe_runmake DESTDIR=${D} install-python_ext
+	    oe_runmake DESTDIR=${D} install-python_ext
 	fi
 }
 
@@ -233,7 +234,8 @@ do_configure_prepend () {
 
     # use /usr/bin/env instead of version specific python
     for s in `find ${S}/tools/perf/scripts/python/ -name '*.py'`; do
-        sed -i 's,/usr/bin/python2,/usr/bin/env python,' "${s}"
+        sed -i 's,/usr/bin/python2,/usr/bin/env python3,' "${s}"
+        sed -i 's,/usr/bin/env python2,/usr/bin/env python3,' "${s}"
     done
 
     # unistd.h can be out of sync between libc-headers and the captured version in the perf source
@@ -252,9 +254,9 @@ PACKAGES =+ "${PN}-archive ${PN}-tests ${PN}-perl ${PN}-python"
 
 RDEPENDS_${PN} += "elfutils bash"
 RDEPENDS_${PN}-archive =+ "bash"
-RDEPENDS_${PN}-python =+ "bash python python-modules ${@bb.utils.contains('PACKAGECONFIG', 'audit', 'audit-python', '', d)}"
+RDEPENDS_${PN}-python =+ "bash python3 python3-modules ${@bb.utils.contains('PACKAGECONFIG', 'audit', 'audit-python3', '', d)}"
 RDEPENDS_${PN}-perl =+ "bash perl perl-modules"
-RDEPENDS_${PN}-tests =+ "python"
+RDEPENDS_${PN}-tests =+ "python3"
 
 RSUGGESTS_SCRIPTING = "${@bb.utils.contains('PACKAGECONFIG', 'scripting', '${PN}-perl ${PN}-python', '',d)}"
 RSUGGESTS_${PN} += "${PN}-archive ${PN}-tests ${RSUGGESTS_SCRIPTING}"
Signature · 1 line
2.19.1
#24 lore raw

PATCH 6/8 perf: v5.3+ build fixes

In reply to [email protected]

From: Bruce Ashfield <[email protected]>

In the 5.3+ perf builds, there are multiple unistd.h files that need to be kept in sync. So not only do we update one, we update both to ensure that libc-headers and the perf build are in sync.

perf checks some key files itself to be sure they are in sync, and bits.h can be out of sync. There's no build error that results with bits.h at the moment, but we still make sure they are in sync to avoid the configure/compile warning.

---
 meta/recipes-kernel/perf/perf.bb | 4 ++++
 1 file changed, 4 insertions(+)
meta/recipes-kernel/perf/perf.bb +4 -0
index 8ac8e7c308..58543c73d8 100644
@@ -241,6 +241,10 @@ do_configure_prepend () {
     # unistd.h can be out of sync between libc-headers and the captured version in the perf source
     # so we copy it from the sysroot unistd.h to the perf unistd.h
     install -D -m0644 ${STAGING_INCDIR}/asm-generic/unistd.h ${S}/tools/include/uapi/asm-generic/unistd.h
+    install -D -m0644 ${STAGING_INCDIR}/asm-generic/unistd.h ${S}/include/uapi/asm-generic/unistd.h
+
+    # bits.h can have the same issuen as unistd.h, so we make the tools variant take precedence
+    install -D -m0644 ${S}/tools/include/linux/bits.h ${S}/include/linux/bits.h
 }
 
 python do_package_prepend() {
Signature · 1 line
2.19.1
#27 lore raw

PATCH 7/8 devsrc: update arm64 scripts/prepare for kernels 5.3+

In reply to [email protected]

From: Bruce Ashfield <[email protected]>

We need to include a few more small files for on target module builds for 5.3+ kernels.

---
 meta/recipes-kernel/linux/kernel-devsrc.bb | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
meta/recipes-kernel/linux/kernel-devsrc.bb +3 -1
index e17c0ea0ab..b68d945a8f 100644
@@ -141,7 +141,7 @@ do_install() {
 	    # arch/arm64/include/asm/opcodes.h references arch/arm
 	    cp -a --parents arch/arm/include/asm/opcodes.h $kerneldir/build/
 
-            cp -a --parents arch/arm64/kernel/vdso/gettimeofday.S $kerneldir/build/
+            cp -a --parents arch/arm64/kernel/vdso/*gettimeofday.* $kerneldir/build/
             cp -a --parents arch/arm64/kernel/vdso/sigreturn.S $kerneldir/build/
             cp -a --parents arch/arm64/kernel/vdso/note.S $kerneldir/build/
             cp -a --parents arch/arm64/kernel/vdso/gen_vdso_offsets.sh $kerneldir/build/
@@ -179,6 +179,8 @@ do_install() {
 
 	cp -a include $kerneldir/build
 
+	cp -a --parents lib/vdso/* $kerneldir/build/ 2>/dev/null || :
+
 	cp -a --parents tools/include/tools/le_byteshift.h $kerneldir/build/
 	cp -a --parents tools/include/tools/be_byteshift.h $kerneldir/build/
 
Signature · 1 line
2.19.1
#28 lore raw

PATCH 8/8 qemu: bump linux-yocto preferred version to 5.2

In reply to [email protected]

From: Bruce Ashfield <[email protected]>

---
 meta/conf/machine/include/x86-base.inc | 2 +-
 meta/conf/machine/qemuarmv5.conf       | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
meta/conf/machine/include/x86-base.inc +1 -1
index 686f938233..0227f3c289 100644
@@ -18,7 +18,7 @@ SERIAL_CONSOLES ?= "115200;ttyS0"
 # kernel-related variables
 #
 PREFERRED_PROVIDER_virtual/kernel ??= "linux-yocto"
-PREFERRED_VERSION_linux-yocto ??= "5.0%"
+PREFERRED_VERSION_linux-yocto ??= "5.2%"
 
 #
 # XSERVER subcomponents, used to build the XSERVER variable
meta/conf/machine/qemuarmv5.conf +1 -1
index 1c21d3342d..fb4789fdac 100644
@@ -17,7 +17,7 @@ QB_KERNEL_CMDLINE_APPEND = "console=ttyAMA0,115200 console=tty"
 QB_OPT_APPEND = "-show-cursor -usb -device usb-tablet"
 # Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy
 QB_OPT_APPEND += "-object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-pci,rng=rng0"
-PREFERRED_VERSION_linux-yocto ??= "5.0%"
+PREFERRED_VERSION_linux-yocto ??= "5.2%"
 QB_DTB = "${@oe.utils.version_less_or_equal('PREFERRED_VERSION_linux-yocto', '4.7', '', 'zImage-versatile-pb.dtb', d)}"
 
 KMACHINE_qemuarmv5 = "qemuarm"
Signature · 1 line
2.19.1
#29 lore raw

✗ patchtest: failure for kernel/kernel-yocto: consolidated M3 feature pull request

In reply to [email protected]

== Series Details ==

Series: kernel/kernel-yocto: consolidated M3 feature pull request
Revision: 1
URL : https://patchwork.openembedded.org/series/19543/
State : failure

== Summary ==

Thank you for submitting this patch series to OpenEmbedded Core. This is an automated response. Several tests have been executed on the proposed series by patchtest resulting in the following failures:

* Issue Added patch file is missing Upstream-Status in the header [test_upstream_status_presence_format]

  Suggested fix    Add Upstream-Status: <Valid status> to the header of meta/recipes-kernel/linux/files/0001-foo.patch
  Standard format  Upstream-Status: <Valid status>
  Valid status     Pending, Accepted, Backport, Denied, Inappropriate [reason], Submitted [where]

If you believe any of these test results are incorrect, please reply to the mailing list ([email protected]) raising your concerns. Otherwise we would appreciate you correcting the issues and submitting a new version of the patchset if applicable. Please ensure you add/increment the version number when sending the new version (i.e. [PATCH] -> [PATCH v2] -> [PATCH v3] -> ...).

---

Guidelines:     https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines
Test framework: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest
Test suite:     http://git.yoctoproject.org/cgit/cgit.cgi/patchtest-oe
#3 lore raw

Re: [PATCH 2/8] linux-yocto: introduce 5.2 recipes

In reply to [email protected]

meta/recipes-kernel/linux/files/0001-foo.patch line 4

Quoted 9 lines · On Wed, Aug 28, 2019 at 03:28:36PM -0400, [email protected] wrote:

...

meta/recipes-kernel/linux/files/0001-foo.patch new file +4 -0
@@ -0,0 +1,25 @@
+From 9ddc5e377434e28f1f3c74c9be011b0c9dfb1de4 Mon Sep 17 00:00:00 2001
+From: Bruce Ashfield <[email protected]>
+Date: Fri, 1 Mar 2019 10:09:43 -0500
+Subject: [PATCH] foo
...

Debug change that leaked into the submission,
or missing proper patch description?

cu
Adrian

Signature · 4 lines
       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed
#7 lore raw

Re: [PATCH 4/8] kernel-devsrc: remove python2 dependency

In reply to [email protected]
Quoted 5 lines · On Wed, Aug 28, 2019 at 03:28:38PM -0400, [email protected] wrote:

From: Bruce Ashfield <[email protected]>

Witht the approaching EOL of python2, the kernel packages need to be updated to depend on python3.
...

Yocto 3.0 ships and supports Python 2.7, so there is no urgent need for last-minute Python 2 -> 3 changes.

cu
Adrian

Signature · 4 lines
       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed
#4 lore raw

Re: [PATCH 2/8] linux-yocto: introduce 5.2 recipes

In reply to Adrian Bunk
Quoted 14 lines · Adrian Bunk

meta/recipes-kernel/linux/files/0001-foo.patch line 4

Quoted 9 lines · On Wed, Aug 28, 2019 at 03:28:36PM -0400, [email protected] wrote:

...

meta/recipes-kernel/linux/files/0001-foo.patch new file +4 -0
@@ -0,0 +1,25 @@
+From 9ddc5e377434e28f1f3c74c9be011b0c9dfb1de4 Mon Sep 17 00:00:00 2001
+From: Bruce Ashfield <[email protected]>
+Date: Fri, 1 Mar 2019 10:09:43 -0500
+Subject: [PATCH] foo
...

Debug change that leaked into the submission,
or missing proper patch description?

Damnit. I scanned right over that :D

Thanks for the catch..

Bruce

Quoted 11 lines

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

Signature · 3 lines
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II
#8 lore raw

Re: [PATCH 4/8] kernel-devsrc: remove python2 dependency

In reply to Adrian Bunk
Quoted 10 lines · Adrian Bunk
Quoted 5 lines · On Wed, Aug 28, 2019 at 03:28:38PM -0400, [email protected] wrote:

From: Bruce Ashfield <[email protected]>

Witht the approaching EOL of python2, the kernel packages need to be updated to depend on python3.
...

Yocto 3.0 ships and supports Python 2.7, so there is no urgent need for last-minute Python 2 -> 3 changes.

Actually, there is.

This was discussed in detail on the yocto dev call, Richard is waiting for these changes. In particular, since the support window for this release goes out past the EOL, and one of the stretch goals was a python2 free image. There's zero risk to these, and no reason to sit on them.

Bruce

Quoted 11 lines

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

Signature · 3 lines
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II
#15 lore raw

Re: [PATCH 4/8] kernel-devsrc: remove python2 dependency

In reply to Adrian Bunk
Quoted 11 lines · Adrian Bunk
Quoted 5 lines · On Wed, Aug 28, 2019 at 03:28:38PM -0400, [email protected] wrote:

From: Bruce Ashfield <[email protected]>

Witht the approaching EOL of python2, the kernel packages need to be updated to depend on python3.
...

Yocto 3.0 ships and supports Python 2.7, so there is no urgent need for
last-minute Python 2 -> 3 changes.

Removal of 2.X dependencies where we can was an objective of 3.0 and 2.X is EOL and will expire in the lifetime of 3.0. I'd say this is therefore quite in keeping with that...

Cheers,

Richard

#16 lore raw

Re: [PATCH 4/8] kernel-devsrc: remove python2 dependency

Quoted 8 lines · On Wed, 28 Aug 2019 at 22:12, <[email protected]> wrote:
Quoted 3 lines

Yocto 3.0 ships and supports Python 2.7, so there is no urgent need for
last-minute Python 2 -> 3 changes.

Removal of 2.X dependencies where we can was an objective of 3.0 and 2.X is EOL and will expire in the lifetime of 3.0. I'd say this is therefore quite in keeping with that...

I just sent the ltp patch, the last remaining target piece. What remains is eliminating the undercover usage of host python2 at build time (I am now running test builds to determine what needs fixing), and then dropping py2 from self-hosted packagegroup and HOSTTOOLS. Once we're there, we can remove py2 recipes from oe-core (which will probably happen after 3.0 is out).

Alex

#9 lore raw

Re: [PATCH 4/8] kernel-devsrc: remove python2 dependency

In reply to Bruce Ashfield
Quoted 2 lines · Bruce Ashfield

...
There's zero risk to these, and no reason to sit on them.

What range of LTS kernels is covered by the "zero risk"?

Quoted 1 line

Bruce

cu
Adrian

Signature · 4 lines
       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed
#10 lore raw

Re: [PATCH 4/8] kernel-devsrc: remove python2 dependency

Quoted 6 lines · Adrian Bunk
Quoted 2 lines · Bruce Ashfield

...
There's zero risk to these, and no reason to sit on them.

What range of LTS kernels is covered by the "zero risk"?

It has nothing to do with LTS kernels.

Cheers,

Bruce

Quoted 13 lines
Quoted 2 lines

Bruce

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

Signature · 3 lines
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II
#18 lore raw

Re: [PATCH 5/8] perf: change dependencies on python to python3

In reply to [email protected]

This is causing failure for 5.0 kernels probably because the attr.py python -> python3 changes are not there ...

ERROR: perf-1.0-r9 do_package_qa: QA Issue: /usr/libexec/perf- core/tests/attr.py contained in package perf-tests requires /usr/bin/python, but no providers found in RDEPENDS_perf-tests? [file- rdeps]
ERROR: perf-1.0-r9 do_package_qa: QA run found fatal errors. Please consider fixing them.
ERROR: Logfile of failure stored in: /home/pokybuild/yocto- worker/genericx86/build/build/tmp/work/genericx86-poky-linux/perf/1.0- r9/temp/log.do_package_qa.36284
NOTE: recipe perf-1.0-r9: task do_package_qa: Failed

https://autobuilder.yoctoproject.org/typhoon/#/builders/48/builds/975/steps/8/logs/step1b

Thanks,

Anuj

Quoted 106 lines · On Wed, 2019-08-28 at 15:28 -0400, [email protected] wrote:

From: Bruce Ashfield <[email protected]>

The upstream kernel can now handle python3 for the perf scripts, coupled
with the impending EOL of python2, we switch the dependencies in perf (scripting) to python3.

Outside of dependency changes, we also pass the following two variables
to the perf build: PYTHON=python3 PYTHON_CONFIG=python3-config. To ensure that our python3 components are used.

For configurations that disable perf scripting, there is no change in behaviour.

[YOCTO #13358]

---
 meta/recipes-kernel/perf/perf.bb | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)
meta/recipes- renamed from meta/recipes-kernel/perf/perf.bb +0 -0

kernel/perf/perf.bb
index 4e603f1a32..8ac8e7c308 100644

meta/recipes-kernel/perf/perf.bb +0 -1
@@ -13,7 +13,7 @@ PR = "r9"
 
 PACKAGECONFIG ??= "scripting tui libunwind"
 PACKAGECONFIG[dwarf] = ",NO_DWARF=1"
-PACKAGECONFIG[scripting] = ",NO_LIBPERL=1 NO_LIBPYTHON=1,perl

python"
+PACKAGECONFIG[scripting] = ",NO_LIBPERL=1 NO_LIBPYTHON=1,perl python3"

 # gui support was added with kernel 3.6.35
 # since 3.10 libnewt was replaced by slang
 # to cover a wide range of kernel we add both dependencies
meta/recipes-kernel/perf/perf.bb +2 -2
@@ -44,8 +44,8 @@ PROVIDES = "virtual/perf"
 inherit linux-kernel-base kernel-arch manpages
 
 # needed for building the tools/perf Python bindings
-inherit ${@bb.utils.contains('PACKAGECONFIG', 'scripting',
 'pythonnative', '', d)}
-inherit python-dir
+inherit ${@bb.utils.contains('PACKAGECONFIG', 'scripting',
 'python3native', '', d)}
+inherit python3-dir
 export PYTHON_SITEPACKAGES_DIR

#kernel 3.1+ supports WERROR to disable warnings as errors

meta/recipes-kernel/perf/perf.bb +1 -0
@@ -94,6 +94,7 @@ EXTRA_OEMAKE += "\
     'sharedir=${@os.path.relpath(datadir, prefix)}' \
     'mandir=${@os.path.relpath(mandir, prefix)}' \
     'infodir=${@os.path.relpath(infodir, prefix)}' \
+    ${@bb.utils.contains('PACKAGECONFIG', 'scripting',
 'PYTHON=python3 PYTHON_CONFIG=python3-config', '', d)} \
 "
 

# During do_configure, we might run a 'make clean'. That often
breaks

meta/recipes-kernel/perf/perf.bb +0 -0
@@ -132,7 +133,7 @@ do_install() {
 	oe_runmake install
 	# we are checking for this make target to be compatible with

older perf versions
if ${@bb.utils.contains('PACKAGECONFIG', 'scripting', 'true',
'false', d)} && grep -q install-python_ext ${S}/tools/perf/Makefile*; then

meta/recipes-kernel/perf/perf.bb +3 -2
-		oe_runmake DESTDIR=${D} install-python_ext
+	    oe_runmake DESTDIR=${D} install-python_ext
 	fi
 }
@@ -233,7 +234,8 @@ do_configure_prepend () {
 
     # use /usr/bin/env instead of version specific python
     for s in `find ${S}/tools/perf/scripts/python/ -name '*.py'`; do
-        sed -i 's,/usr/bin/python2,/usr/bin/env python,' "${s}"
+        sed -i 's,/usr/bin/python2,/usr/bin/env python3,' "${s}"
+        sed -i 's,/usr/bin/env python2,/usr/bin/env python3,' "${s}"
     done
 
     # unistd.h can be out of sync between libc-headers and the

captured version in the perf source

meta/recipes-kernel/perf/perf.bb +0 -0
@@ -252,9 +254,9 @@ PACKAGES =+ "${PN}-archive ${PN}-tests ${PN}-perl 

${PN}-python"

RDEPENDS_${PN} += "elfutils bash" RDEPENDS_${PN}-archive =+ "bash"
-RDEPENDS_${PN}-python =+ "bash python python-modules ${@bb.utils.contains('PACKAGECONFIG', 'audit', 'audit-python', '', d)}"
+RDEPENDS_${PN}-python =+ "bash python3 python3-modules ${@bb.utils.contains('PACKAGECONFIG', 'audit', 'audit-python3', '', d)}"
RDEPENDS_${PN}-perl =+ "bash perl perl-modules"

meta/recipes-kernel/perf/perf.bb +1 -1
-RDEPENDS_${PN}-tests =+ "python"
+RDEPENDS_${PN}-tests =+ "python3"
 
 RSUGGESTS_SCRIPTING = "${@bb.utils.contains('PACKAGECONFIG',

'scripting', '${PN}-perl ${PN}-python', '',d)}"
RSUGGESTS_${PN} += "${PN}-archive ${PN}-tests
${RSUGGESTS_SCRIPTING}"

Signature · 1 line
2.19.1
#19 lore raw

Re: [PATCH 5/8] perf: change dependencies on python to python3

Quoted 15 lines · Anuj

This is causing failure for 5.0 kernels probably because the attr.py python -> python3 changes are not there ...

ERROR: perf-1.0-r9 do_package_qa: QA Issue: /usr/libexec/perf- core/tests/attr.py contained in package perf-tests requires /usr/bin/python, but no providers found in RDEPENDS_perf-tests? [file- rdeps]
ERROR: perf-1.0-r9 do_package_qa: QA run found fatal errors. Please consider fixing them.
ERROR: Logfile of failure stored in: /home/pokybuild/yocto- worker/genericx86/build/build/tmp/work/genericx86-poky-linux/perf/1.0- r9/temp/log.do_package_qa.36284
NOTE: recipe perf-1.0-r9: task do_package_qa: Failed

Quoted 1 line

https://autobuilder.yoctoproject.org/typhoon/#/builders/48/builds/975/steps/8/logs/step1b

unfortunately, I can only cover the active kernels in master with any certainty, and I already have a patch to drop 5.0, so I didn't trigger this.
I can spin a patch for 5.0 and make sure it is version proofed a ibt, but if anyone else has issues with <insert version here>, they'll need to send their own patch.

Bruce

Quoted 112 lines

Thanks,

Anuj

Quoted 106 lines · On Wed, 2019-08-28 at 15:28 -0400, [email protected] wrote:

From: Bruce Ashfield <[email protected]>

The upstream kernel can now handle python3 for the perf scripts, coupled
with the impending EOL of python2, we switch the dependencies in perf (scripting) to python3.

Outside of dependency changes, we also pass the following two variables
to the perf build: PYTHON=python3 PYTHON_CONFIG=python3-config. To ensure that our python3 components are used.

For configurations that disable perf scripting, there is no change in behaviour.

[YOCTO #13358]

---
 meta/recipes-kernel/perf/perf.bb | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)
meta/recipes- renamed from meta/recipes-kernel/perf/perf.bb +0 -0

kernel/perf/perf.bb
index 4e603f1a32..8ac8e7c308 100644

meta/recipes-kernel/perf/perf.bb +0 -1
@@ -13,7 +13,7 @@ PR = "r9"
 
 PACKAGECONFIG ??= "scripting tui libunwind"
 PACKAGECONFIG[dwarf] = ",NO_DWARF=1"
-PACKAGECONFIG[scripting] = ",NO_LIBPERL=1 NO_LIBPYTHON=1,perl

python"
+PACKAGECONFIG[scripting] = ",NO_LIBPERL=1 NO_LIBPYTHON=1,perl python3"

 # gui support was added with kernel 3.6.35
 # since 3.10 libnewt was replaced by slang
 # to cover a wide range of kernel we add both dependencies
meta/recipes-kernel/perf/perf.bb +2 -2
@@ -44,8 +44,8 @@ PROVIDES = "virtual/perf"
 inherit linux-kernel-base kernel-arch manpages
 
 # needed for building the tools/perf Python bindings
-inherit ${@bb.utils.contains('PACKAGECONFIG', 'scripting',
 'pythonnative', '', d)}
-inherit python-dir
+inherit ${@bb.utils.contains('PACKAGECONFIG', 'scripting',
 'python3native', '', d)}
+inherit python3-dir
 export PYTHON_SITEPACKAGES_DIR

#kernel 3.1+ supports WERROR to disable warnings as errors

meta/recipes-kernel/perf/perf.bb +1 -0
@@ -94,6 +94,7 @@ EXTRA_OEMAKE += "\
     'sharedir=${@os.path.relpath(datadir, prefix)}' \
     'mandir=${@os.path.relpath(mandir, prefix)}' \
     'infodir=${@os.path.relpath(infodir, prefix)}' \
+    ${@bb.utils.contains('PACKAGECONFIG', 'scripting',
 'PYTHON=python3 PYTHON_CONFIG=python3-config', '', d)} \
 "
 

# During do_configure, we might run a 'make clean'. That often
breaks

meta/recipes-kernel/perf/perf.bb +0 -0
@@ -132,7 +133,7 @@ do_install() {
      oe_runmake install
      # we are checking for this make target to be compatible with

older perf versions

      if ${@bb.utils.contains('PACKAGECONFIG', 'scripting', 'true',

'false', d)} && grep -q install-python_ext ${S}/tools/perf/Makefile*; then

meta/recipes-kernel/perf/perf.bb +3 -2
-             oe_runmake DESTDIR=${D} install-python_ext
+         oe_runmake DESTDIR=${D} install-python_ext
      fi
 }
@@ -233,7 +234,8 @@ do_configure_prepend () {
 
     # use /usr/bin/env instead of version specific python
     for s in `find ${S}/tools/perf/scripts/python/ -name '*.py'`; do
-        sed -i 's,/usr/bin/python2,/usr/bin/env python,' "${s}"
+        sed -i 's,/usr/bin/python2,/usr/bin/env python3,' "${s}"
+        sed -i 's,/usr/bin/env python2,/usr/bin/env python3,' "${s}"
     done
 
     # unistd.h can be out of sync between libc-headers and the

captured version in the perf source

meta/recipes-kernel/perf/perf.bb +0 -0
@@ -252,9 +254,9 @@ PACKAGES =+ "${PN}-archive ${PN}-tests ${PN}-perl

${PN}-python"

RDEPENDS_${PN} += "elfutils bash" RDEPENDS_${PN}-archive =+ "bash"
-RDEPENDS_${PN}-python =+ "bash python python-modules ${@bb.utils.contains('PACKAGECONFIG', 'audit', 'audit-python', '', d)}"
+RDEPENDS_${PN}-python =+ "bash python3 python3-modules ${@bb.utils.contains('PACKAGECONFIG', 'audit', 'audit-python3', '', d)}"
RDEPENDS_${PN}-perl =+ "bash perl perl-modules"

meta/recipes-kernel/perf/perf.bb +1 -1
-RDEPENDS_${PN}-tests =+ "python"
+RDEPENDS_${PN}-tests =+ "python3"
 
 RSUGGESTS_SCRIPTING = "${@bb.utils.contains('PACKAGECONFIG',

'scripting', '${PN}-perl ${PN}-python', '',d)}"
RSUGGESTS_${PN} += "${PN}-archive ${PN}-tests
${RSUGGESTS_SCRIPTING}"
--
2.19.1

Signature · 3 lines
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II
#20 lore raw

Re: [PATCH 5/8] perf: change dependencies on python to python3

Quoted 18 lines · Bruce Ashfield
Quoted 1 line

On Wed, Aug 28, 2019 at 8:01 PM Mittal, Anuj <[email protected]>

wrote:
This is causing failure for 5.0 kernels probably because the attr.py

Quoted 15 lines

python -> python3 changes are not there ...

ERROR: perf-1.0-r9 do_package_qa: QA Issue: /usr/libexec/perf- core/tests/attr.py contained in package perf-tests requires /usr/bin/python, but no providers found in RDEPENDS_perf-tests? [file-
rdeps]
ERROR: perf-1.0-r9 do_package_qa: QA run found fatal errors. Please consider fixing them.
ERROR: Logfile of failure stored in: /home/pokybuild/yocto- worker/genericx86/build/build/tmp/work/genericx86-poky- linux/perf/1.0-
r9/temp/log.do_package_qa.36284
NOTE: recipe perf-1.0-r9: task do_package_qa: Failed

Quoted 2 lines
Quoted 1 line

https://autobuilder.yoctoproject.org/typhoon/#/builders/48/builds/975/steps/8/logs/step1b

ote:

unfortunately, I can only cover the active kernels in master with any certainty, and I already have a patch to drop 5.0, so I didn't

Quoted 1 line

trigger

this.
I can spin a patch for 5.0 and make sure it is version proofed a ibt, but if anyone else has issues with <insert version here>, they'll

Quoted 3 lines

need

Quoted 1 line

unfortunately, I can only cover the active kernels in master with any

Can we cover at least the kernels in OE-Core master right now affected by this change? So 4.19 as well ...

Thanks,

Anuj

#21 lore raw

Re: [PATCH 5/8] perf: change dependencies on python to python3

Quoted 28 lines · Anuj
Quoted 18 lines · Bruce Ashfield
Quoted 1 line

On Wed, Aug 28, 2019 at 8:01 PM Mittal, Anuj <[email protected]>

wrote:
This is causing failure for 5.0 kernels probably because the attr.py

Quoted 15 lines

python -> python3 changes are not there ...

ERROR: perf-1.0-r9 do_package_qa: QA Issue: /usr/libexec/perf- core/tests/attr.py contained in package perf-tests requires /usr/bin/python, but no providers found in RDEPENDS_perf-tests? [file-
rdeps]
ERROR: perf-1.0-r9 do_package_qa: QA run found fatal errors. Please consider fixing them.
ERROR: Logfile of failure stored in: /home/pokybuild/yocto- worker/genericx86/build/build/tmp/work/genericx86-poky- linux/perf/1.0-
r9/temp/log.do_package_qa.36284
NOTE: recipe perf-1.0-r9: task do_package_qa: Failed

Quoted 2 lines
Quoted 1 line

https://autobuilder.yoctoproject.org/typhoon/#/builders/48/builds/975/steps/8/logs/step1b

ote:

unfortunately, I can only cover the active kernels in master with any certainty, and I already have a patch to drop 5.0, so I didn't

Quoted 1 line

trigger

this.
I can spin a patch for 5.0 and make sure it is version proofed a ibt, but if anyone else has issues with <insert version here>, they'll

Quoted 6 lines
Quoted 3 lines

need

Quoted 1 line

unfortunately, I can only cover the active kernels in master with any

Can we cover at least the kernels in OE-Core master right now affected by this change? So 4.19 as well ...

Consider 5.0 to be not there. It is going to be deleted in about a day. My hands are very full, so I'm not able to spend much time on it at the moment.

4.19 did work in my earlier testing, but I will have a look ASAP (probably next week, since my cycles are largely spoken for at the moment).

Bruce

Quoted 4 lines

Thanks,

Anuj

Signature · 3 lines
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II
#22 lore raw

Re: [PATCH 5/8] perf: change dependencies on python to python3

Quoted 37 lines · Bruce Ashfield
Quoted 28 lines · Anuj
Quoted 18 lines · Bruce Ashfield
Quoted 1 line

On Wed, Aug 28, 2019 at 8:01 PM Mittal, Anuj <[email protected]>

wrote:
This is causing failure for 5.0 kernels probably because the attr.py

Quoted 15 lines

python -> python3 changes are not there ...

ERROR: perf-1.0-r9 do_package_qa: QA Issue: /usr/libexec/perf- core/tests/attr.py contained in package perf-tests requires /usr/bin/python, but no providers found in RDEPENDS_perf-tests? [file-
rdeps]
ERROR: perf-1.0-r9 do_package_qa: QA run found fatal errors. Please consider fixing them.
ERROR: Logfile of failure stored in: /home/pokybuild/yocto- worker/genericx86/build/build/tmp/work/genericx86-poky- linux/perf/1.0-
r9/temp/log.do_package_qa.36284
NOTE: recipe perf-1.0-r9: task do_package_qa: Failed

Quoted 2 lines
Quoted 1 line

https://autobuilder.yoctoproject.org/typhoon/#/builders/48/builds/975/steps/8/logs/step1b

ote:

unfortunately, I can only cover the active kernels in master with any certainty, and I already have a patch to drop 5.0, so I didn't

Quoted 1 line

trigger

this.
I can spin a patch for 5.0 and make sure it is version proofed a ibt, but if anyone else has issues with <insert version here>, they'll

Quoted 6 lines
Quoted 3 lines

need

Quoted 1 line

unfortunately, I can only cover the active kernels in master with any

Can we cover at least the kernels in OE-Core master right now affected by this change? So 4.19 as well ...

Quoted 7 lines

Consider 5.0 to be not there. It is going to be deleted in about a day. My hands are very full, so I'm not able to spend much time on it at the moment.

4.19 did work in my earlier testing, but I will have a look ASAP (probably next week, since my cycles are largely spoken for at the moment).

.. but I will visually check 4.19 for any other scripts that reference just 'python' visually and make sure my tests are broad enough. It is more builder and boot cycles that I don't have easily accessible. It shouldn't be too hard to make the fixes generic and broad enough to cover it.

Bruce

Quoted 14 lines

Bruce

Quoted 4 lines

Thanks,

Anuj

--
- Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end
- "Use the force Harry" - Gandalf, Star Trek II

Signature · 3 lines
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II
#25 lore raw

Re: [PATCH 6/8] perf: v5.3+ build fixes

In reply to [email protected]
Quoted 22 lines · On Wed, Aug 28, 2019 at 3:28 PM <[email protected]> wrote:

From: Bruce Ashfield <[email protected]>

In the 5.3+ perf builds, there are multiple unistd.h files that need to be kept in sync. So not only do we update one, we update both to ensure that libc-headers and the perf build are in sync.

perf checks some key files itself to be sure they are in sync, and bits.h can be out of sync. There's no build error that results with bits.h at the moment, but we still make sure they are in sync to avoid the configure/compile warning.

---
 meta/recipes-kernel/perf/perf.bb | 4 ++++
 1 file changed, 4 insertions(+)
meta/recipes-kernel/perf/perf.bb +0 -0
index 8ac8e7c308..58543c73d8 100644

meta/recipes-kernel/perf/perf.bb do_configure_prepend () { · line 245

Quoted 5 lines
meta/recipes-kernel/perf/perf.bb +2 -0
@@ -241,6 +241,10 @@ do_configure_prepend () {
     # unistd.h can be out of sync between libc-headers and the captured version in the perf source
     # so we copy it from the sysroot unistd.h to the perf unistd.h
     install -D -m0644 ${STAGING_INCDIR}/asm-generic/unistd.h ${S}/tools/include/uapi/asm-generic/unistd.h
+    install -D -m0644 ${STAGING_INCDIR}/asm-generic/unistd.h ${S}/include/uapi/asm-generic/unistd.h
+

I just realized this may not be safe across all the kernel versions. I'll submit a new version (if required), after I've tested my python3 changes to perf.

Cheers,

Bruce

Quoted 8 lines
meta/recipes-kernel/perf/perf.bb +2 -1
+    # bits.h can have the same issuen as unistd.h, so we make the tools variant take precedence
+    install -D -m0644 ${S}/tools/include/linux/bits.h ${S}/include/linux/bits.h
 }
 
 python do_package_prepend() {
--

2.19.1

Signature · 3 lines
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II
#23 lore raw

Re: [PATCH 5/8] perf: change dependencies on python to python3

In reply to Bruce Ashfield
Quoted 47 lines · Bruce Ashfield
Quoted 37 lines · Bruce Ashfield
Quoted 28 lines · Anuj
Quoted 18 lines · Bruce Ashfield
Quoted 1 line

On Wed, Aug 28, 2019 at 8:01 PM Mittal, Anuj <[email protected]>

wrote:
This is causing failure for 5.0 kernels probably because the attr.py

Quoted 15 lines

python -> python3 changes are not there ...

ERROR: perf-1.0-r9 do_package_qa: QA Issue: /usr/libexec/perf- core/tests/attr.py contained in package perf-tests requires /usr/bin/python, but no providers found in RDEPENDS_perf-tests? [file-
rdeps]
ERROR: perf-1.0-r9 do_package_qa: QA run found fatal errors. Please consider fixing them.
ERROR: Logfile of failure stored in: /home/pokybuild/yocto- worker/genericx86/build/build/tmp/work/genericx86-poky- linux/perf/1.0-
r9/temp/log.do_package_qa.36284
NOTE: recipe perf-1.0-r9: task do_package_qa: Failed

Quoted 2 lines
Quoted 1 line

https://autobuilder.yoctoproject.org/typhoon/#/builders/48/builds/975/steps/8/logs/step1b

ote:

unfortunately, I can only cover the active kernels in master with any certainty, and I already have a patch to drop 5.0, so I didn't

Quoted 1 line

trigger

this.
I can spin a patch for 5.0 and make sure it is version proofed a ibt, but if anyone else has issues with <insert version here>, they'll

Quoted 6 lines
Quoted 3 lines

need

Quoted 1 line

unfortunately, I can only cover the active kernels in master with any

Can we cover at least the kernels in OE-Core master right now affected by this change? So 4.19 as well ...

Quoted 7 lines

Consider 5.0 to be not there. It is going to be deleted in about a day. My hands are very full, so I'm not able to spend much time on it at the moment.

4.19 did work in my earlier testing, but I will have a look ASAP (probably next week, since my cycles are largely spoken for at the moment).

Quoted 5 lines

.. but I will visually check 4.19 for any other scripts that reference just 'python' visually and make sure my tests are broad enough. It is more builder and boot cycles that I don't have easily accessible. It shouldn't be too hard to make the fixes generic and broad enough to cover it.

I retract that statement. I was able to jiggle things and testing on 4.19 is no big deal. I'll send a v2 that covers 4.19/5.0/5.2/5.3-rc testing shortly.

Bruce

Quoted 24 lines

Bruce

Quoted 6 lines

Bruce

Quoted 3 lines

Thanks,

Quoted 8 lines
Quoted 1 line

Anuj

--
- Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end
- "Use the force Harry" - Gandalf, Star Trek II

--
- Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end
- "Use the force Harry" - Gandalf, Star Trek II

Signature · 3 lines
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II
#26 lore raw

Re: [PATCH 6/8] perf: v5.3+ build fixes

In reply to Bruce Ashfield
Quoted 19 lines · Bruce Ashfield
Quoted 17 lines · On Wed, Aug 28, 2019 at 3:28 PM <[email protected]> wrote:

From: Bruce Ashfield <[email protected]>

In the 5.3+ perf builds, there are multiple unistd.h files that need to be kept in sync. So not only do we update one, we update both to ensure that libc-headers and the perf build are in sync.

perf checks some key files itself to be sure they are in sync, and bits.h can be out of sync. There's no build error that results with bits.h at the moment, but we still make sure they are in sync to avoid the configure/compile warning.

---
 meta/recipes-kernel/perf/perf.bb | 4 ++++
 1 file changed, 4 insertions(+)
Quoted 14 lines

meta/recipes-kernel/perf/perf.bb do_configure_prepend () { · line 245

Quoted 10 lines
meta/recipes-kernel/perf/perf.bb +2 -0
index 8ac8e7c308..58543c73d8 100644
@@ -241,6 +241,10 @@ do_configure_prepend () {
     # unistd.h can be out of sync between libc-headers and the captured version in the perf source
     # so we copy it from the sysroot unistd.h to the perf unistd.h
     install -D -m0644 ${STAGING_INCDIR}/asm-generic/unistd.h ${S}/tools/include/uapi/asm-generic/unistd.h
+    install -D -m0644 ${STAGING_INCDIR}/asm-generic/unistd.h ${S}/include/uapi/asm-generic/unistd.h
+

I just realized this may not be safe across all the kernel versions. I'll submit a new version (if required), after I've tested my python3 changes to perf.

I've tested this across 4.19 -> 5.3 and didn't find any issues. So it should be safe and I won't send a v2.

Bruce

Quoted 19 lines

Cheers,

Bruce

Quoted 8 lines
meta/recipes-kernel/perf/perf.bb +2 -1
+    # bits.h can have the same issuen as unistd.h, so we make the tools variant take precedence
+    install -D -m0644 ${S}/tools/include/linux/bits.h ${S}/include/linux/bits.h
 }
 
 python do_package_prepend() {
--

2.19.1

--
- Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end
- "Use the force Harry" - Gandalf, Star Trek II

Signature · 3 lines
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II
#11 lore raw

Re: [PATCH 4/8] kernel-devsrc: remove python2 dependency

In reply to Bruce Ashfield
Quoted 9 lines · Bruce Ashfield
Quoted 6 lines · Adrian Bunk
Quoted 2 lines · Bruce Ashfield

...
There's zero risk to these, and no reason to sit on them.

What range of LTS kernels is covered by the "zero risk"?

It has nothing to do with LTS kernels.

virtual/kernel is special since real products have this provided by a BSP layer instead of using the kernels for the reference platforms that ship with Yocto.

How do your changes interact with a BSP layer that provides the upstream maintained LTS kernel 4.4?

Quoted 3 lines

Cheers,

Bruce

cu
Adrian

Signature · 4 lines
       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed
#12 lore raw

Re: [PATCH 4/8] kernel-devsrc: remove python2 dependency

Quoted 8 lines · Adrian Bunk
Quoted 6 lines · Bruce Ashfield
Quoted 5 lines · Adrian Bunk
Quoted 2 lines · Bruce Ashfield

...
There's zero risk to these, and no reason to sit on them.

Quoted 7 lines
Quoted 3 lines
Quoted 1 line

What range of LTS kernels is covered by the "zero risk"?

It has nothing to do with LTS kernels.

virtual/kernel is special since real products have this provided by a BSP layer instead of using the kernels for the reference platforms that ship with Yocto.

I'm quite aware of what virtual/kernel is, and how it is used.

Quoted 3 lines

How do your changes interact with a BSP layer that provides the upstream maintained LTS kernel 4.4?

As mentioned in other parts of the threads, we test against the reference kernel's in master. Other versions can either bbappend, or send patches. That's unfortunately how it has to be.

Cheers,

Bruce

Quoted 15 lines
Quoted 4 lines

Cheers,

Bruce

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

Signature · 3 lines
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II
#13 lore raw

Re: [PATCH 4/8] kernel-devsrc: remove python2 dependency

Quoted 11 lines · Bruce Ashfield
Quoted 10 lines · Adrian Bunk
Quoted 8 lines · Bruce Ashfield
Quoted 6 lines · Adrian Bunk
Quoted 2 lines · Bruce Ashfield

...
There's zero risk to these, and no reason to sit on them.

What range of LTS kernels is covered by the "zero risk"?

Quoted 8 lines
Quoted 1 line
Quoted 1 line

It has nothing to do with LTS kernels.

...

Quoted 2 lines

How do your changes interact with a BSP layer that provides the upstream maintained LTS kernel 4.4?

As mentioned in other parts of the threads, we test against the reference kernel's in master. Other versions can either bbappend, or send patches. That's unfortunately how it has to be.

It is an unexpected meaning of "zero risk" when this excludes breakages with kernels other than the ones in master.

One of the non-python changes to perf blew up the build for me even when trying with a kernel that is only a few months behind on the 4.19 branch, so there's some patches for me to send next month.

Quoted 3 lines

Cheers,

Bruce

cu
Adrian

Signature · 4 lines
       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed
#14 lore raw

Re: [PATCH 4/8] kernel-devsrc: remove python2 dependency

Quoted 8 lines · Adrian Bunk

It is an unexpected meaning of "zero risk" when this excludes breakages with kernels other than the ones in master.

One of the non-python changes to perf blew up the build for me even when trying with a kernel that is only a few months behind on the 4.19 branch, so there's some patches for me to send next month.

This is part and parcel of using the master branch with various 'other' layers. Things can and do break in those other layers, and have to be fixed after the fact of the breaking changes landing in master. If this is not acceptable, then stable branches are far more conservative.

Alex