Skip to contentSkip to conversation

v86d, qemuboot-x86.inc: use KERNEL_MODULE_AUTOLOAD+KERNEL_MODULE_PROBECONF for uvesafb instead of fbsetup init script

PATCH In review Martin Jansa 3 participants 7 messages Aug 12, 2017 – Aug 16, 2017

lore
Share & tools
lore
#0 lore raw

PATCH 1/4 v86d, qemuboot-x86.inc: use KERNEL_MODULE_AUTOLOAD+KERNEL_MODULE_PROBECONF for uvesafb instead of fbsetup init script

* also add UVESA_MODE variable for easier change of resolution and respect it in QB_KERNEL_CMDLINE_APPEND as well
* don't use init script just to call modprobe
* I wasn't able to test this all the way with runqemu, because runqemu
doesn't work on my system, but I've verified that the right params
appear there and that I can easily change UVESA_MODE from
conf/local.conf, the modules.d and modprobe.d files look OK:
OE qemux86@ ~/build/oe-core/tmp-glibc/deploy/images/qemux86/core-image-sato-qemux86-20170427212613.rootfs

  $ cat etc/modules-load.d/uvesafb.conf
  uvesafb

OE qemux86@ ~/build/oe-core/tmp-glibc/deploy/images/qemux86/core-image-sato-qemux86-20170427212613.rootfs

  $ cat etc/modprobe.d/uvesafb.conf
  options uvesafb mode_option=1600x1200-32

so I'll be able to drop this KERNEL_MODULE_AUTOLOAD + KERNEL_MODULE_PROBECONF from my DISTRO conf.

---
 meta/conf/machine/include/qemuboot-x86.inc |  7 +++++-
 meta/recipes-bsp/v86d/v86d/fbsetup         |  3 ---
 meta/recipes-bsp/v86d/v86d/uvesafb.conf    |  2 --
 meta/recipes-bsp/v86d/v86d_0.1.10.bb       | 36 ------------------------------
 4 files changed, 6 insertions(+), 42 deletions(-)
 delete mode 100755 meta/recipes-bsp/v86d/v86d/fbsetup
 delete mode 100644 meta/recipes-bsp/v86d/v86d/uvesafb.conf
meta/conf/machine/include/qemuboot-x86.inc +6 -1
index acd03a1ce8..acf9d55c40 100644
@@ -10,6 +10,11 @@ QB_CPU_KVM_x86-64 = "-cpu core2duo"
 
 QB_AUDIO_DRV = "alsa"
 QB_AUDIO_OPT = "-soundhw ac97,es1370"
-QB_KERNEL_CMDLINE_APPEND = "vga=0 uvesafb.mode_option=640x480-32 oprofile.timer=1 uvesafb.task_timeout=-1"
+QB_KERNEL_CMDLINE_APPEND = "vga=0 uvesafb.mode_option=${UVESA_MODE} oprofile.timer=1 uvesafb.task_timeout=-1"
 # Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy
 QB_OPT_APPEND = "-vga vmware -show-cursor -usb -usbdevice tablet -device virtio-rng-pci"
+
+KERNEL_MODULE_AUTOLOAD += "uvesafb"
+KERNEL_MODULE_PROBECONF += "uvesafb"
+UVESA_MODE ?= "640x480-32"
+module_conf_uvesafb = "options uvesafb mode_option=${UVESA_MODE}"
meta/recipes-bsp/v86d/v86d/fbsetup deleted +0 -3
deleted file mode 100755
index 2a409cc529..0000000000
@@ -1,3 +0,0 @@
-#!/bin/sh 
-
-/sbin/modprobe uvesafb
meta/recipes-bsp/v86d/v86d/uvesafb.conf deleted +0 -2
deleted file mode 100644
index 43789755d3..0000000000
@@ -1,2 +0,0 @@
-# Load uvesafb.ko at boot
-uvesafb
meta/recipes-bsp/v86d/v86d_0.1.10.bb +0 -36
index eab466d30d..579a0a27eb 100644
@@ -11,8 +11,6 @@ PR = "r2"
 
 SRC_URI = "http://distfiles.gentoo.org/distfiles/${BP}.tar.bz2 \
            file://Update-x86emu-from-X.org.patch \
-           file://fbsetup \
-           file://uvesafb.conf \
            file://ar-from-env.patch \
            file://aarch64-host.patch \
 "
@@ -23,9 +21,6 @@ SRC_URI[sha256sum] = "634964ae18ef68c8493add2ce150e3b4502badeb0d9194b4bd81241d25
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
 
-INITSCRIPT_NAME = "fbsetup"
-INITSCRIPT_PARAMS = "start 0 S ."
-
 do_configure () {
 	./configure --with-x86emu
 }
@@ -37,35 +32,4 @@ do_compile () {
 do_install () {
 	install -d ${D}${base_sbindir}
 	install v86d ${D}${base_sbindir}/
-
-        # Only install fbsetup script if 'sysvinit' is in DISTRO_FEATURES
-        if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then
-            install -d ${D}${sysconfdir}/init.d/
-            install -m 0755 ${WORKDIR}/fbsetup ${D}${sysconfdir}/init.d/fbsetup
-        fi
-
-        # Install systemd related configuration file
-        if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
-            install -d ${D}${sysconfdir}/modules-load.d
-            install -m 0644 ${WORKDIR}/uvesafb.conf ${D}${sysconfdir}/modules-load.d
-        fi
-}
-
-# As the recipe doesn't inherit systemd.bbclass, we need to set this variable
-# manually to avoid unnecessary postinst/preinst generated.
-python __anonymous() {
-    if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d):
-        d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1")
-}
-
-inherit update-rc.d
-
-PACKAGE_WRITE_DEPS_append = " ${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd-systemctl-native','',d)}"
-pkg_postinst_${PN} () {
-	if ${@bb.utils.contains('DISTRO_FEATURES','systemd sysvinit','true','false',d)}; then
-		if [ -n "$D" ]; then
-			OPTS="--root=$D"
-		fi
-		systemctl $OPTS mask fbsetup.service
-	fi
 }
Signature · 1 line
2.14.0
#1 lore raw

PATCH 2/4 icecc.bbclass: prevent nativesdk builds depending on target specific KERNEL_CC

* without this we cause nativesdk-linux-libc-headers to depend on target specific KERNEL_CC (through icecc_get_tool -> icecc_is_kernel -> KERNEL_CC -> HOST_CC_KERNEL_ARCH -> TARGET_CC_KERNEL_ARCH -> TUNE_FEATURES(thumb) as shown by bitbake-diffsigs:

OE qemux86@ ~/build/oe-core $ ls /OE/build/oe-core/tmp-glibc/sstate-diff/1499859497/qemu*/*sdk*/*/*do_configure.sigdata* /OE/build/oe-core/tmp-glibc/sstate-diff/1499859497/qemuarm/x86_64-nativesdk-oesdk-linux/nativesdk-linux-libc-headers/4.10-r0.do_configure.sigdata.3a9a423878d56524e0ee8e42eba1804f /OE/build/oe-core/tmp-glibc/sstate-diff/1499859497/qemux86/x86_64-nativesdk-oesdk-linux/nativesdk-linux-libc-headers/4.10-r0.do_configure.sigdata.401071dbaa88903ece37d35a47965ff2

  OE qemux86@ ~/build/oe-core $ bitbake-diffsigs /OE/build/oe-core/tmp-glibc/sstate-diff/1499859497/qemu*/*sdk*/*/*do_configure.sigdata*
  basehash changed from 39774238b66763c598153132e87a2c1a to aa2d66e770bf533e312536eb0a401c4c
  Variable TARGET_CC_KERNEL_ARCH value changed from '${@bb.utils.contains('TUNE_FEATURES', 'thumb', '-mno-thumb-interwork-marm', '', d)} TUNE_FEATURES{thumb} = Set' to ''
---
 meta/classes/icecc.bbclass | 1 +
 1 file changed, 1 insertion(+)
meta/classes/icecc.bbclass +1 -0
index 8a351cf3b8..77bf61133e 100644
@@ -42,6 +42,7 @@ def icecc_dep_prepend(d):
 
 DEPENDS_prepend += "${@icecc_dep_prepend(d)} "
 
+get_cross_kernel_cc[vardepsexclude] += "KERNEL_CC"
 def get_cross_kernel_cc(bb,d):
     kernel_cc = d.getVar('KERNEL_CC', False)
 
Signature · 1 line
2.14.0
#2 lore raw

PATCH 3/4 insane.bbclass: fix override handling in RDEPENDS QA

In reply to Martin Jansa

From: Gan Yau Wai <[email protected]>

The package_qa_check_rdepends() in insane.bbclass has incorrectly replace its localdata OVERRIDES value with the package name. Fixing it by appending the package name to the existing OVERRIDES value. This resolves RDEPENDS QA error when setting PACKAGECONFIG using a pn- override at local.conf.

Cherry picked from master 60d28dd72daee235150ab6605cbf953f1ea691df

[YOCTO #11374]

---
 meta/classes/insane.bbclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
meta/classes/insane.bbclass +1 -1
index dc1c2f8d41..5a3d017004 100644
@@ -867,7 +867,7 @@ def package_qa_check_rdepends(pkg, pkgdest, skip, taskdeps, packages, d):
 
     if not "-dbg" in pkg and not "packagegroup-" in pkg and not "-image" in pkg:
         localdata = bb.data.createCopy(d)
-        localdata.setVar('OVERRIDES', pkg)
+        localdata.setVar('OVERRIDES', localdata.getVar('OVERRIDES') + ':' + pkg)
 
         # Now check the RDEPENDS
         rdepends = bb.utils.explode_deps(localdata.getVar('RDEPENDS') or "")
Signature · 1 line
2.14.0
#3 lore raw

Re: [PATCH][pyro 3/4] insane.bbclass: fix override handling in RDEPENDS QA

I'm sorry for resending the first 2 patches in this series, but git send-email didn't like the colon in Gan Yau Wai e-mail name - it's inside the quotes for author e-mail, but in Signed-off-by it's parsed without quotes, so the colon is taken as e-mail separator.

For second git send-email tryi, I've updated the commit to remove the colon (from both author and SOB line).

See the error bellow:

(mbox) Adding cc: "Gan, Yau Wai" <[email protected]> from line 'From:
"Gan, Yau Wai" <[email protected]>'
(body) Adding cc: Gan, Yau Wai <[email protected]> from line 'Signed-off-by: Gan, Yau Wai <[email protected]>'
(body) Adding cc: Ross Burton <[email protected]> from line 'Signed-off-by: Ross Burton <[email protected]>'
(body) Adding cc: Martin Jansa <[email protected]> from line 'Signed-off-by: Martin Jansa <[email protected]>'
sendmail: recipient address Gan not accepted by the server
sendmail: server message: 553 5.1.2 The recipient address <Gan> is not a valid RFC-5321 address. w19sm3347498wrb.49 - gsmtp
sendmail: could not send mail (account default from /OE/.msmtprc) Died at /usr/libexec/git-core/git-send-email line 1361.

Quoted 41 lines · Martin Jansa

From: Gan Yau Wai <[email protected]>

The package_qa_check_rdepends() in insane.bbclass has incorrectly replace its localdata OVERRIDES value with the package name. Fixing it by appending the package name to the existing OVERRIDES value. This resolves RDEPENDS QA error when setting PACKAGECONFIG using a pn- override at local.conf.

Cherry picked from master 60d28dd72daee235150ab6605cbf953f1ea691df

[YOCTO #11374]

---
 meta/classes/insane.bbclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
meta/classes/insane.bbclass +0 -0
index dc1c2f8d41..5a3d017004 100644
@@ -867,7 +867,7 @@ def package_qa_check_rdepends(pkg, pkgdest, skip,

taskdeps, packages, d):

if not "-dbg" in pkg and not "packagegroup-" in pkg and not "-image"
in pkg:
localdata = bb.data.createCopy(d)

meta/classes/insane.bbclass +2 -1
-        localdata.setVar('OVERRIDES', pkg)
+        localdata.setVar('OVERRIDES', localdata.getVar('OVERRIDES') + ':'
+ pkg)
 
         # Now check the RDEPENDS
         rdepends = bb.utils.explode_deps(localdata.getVar('RDEPENDS') or

"")
--
2.14.0

#4 lore raw

PATCH 4/4 mesa.inc: drop wrong path in --with-llvm-prefix and export LLVM_CONFIG

In reply to Martin Jansa

* this was added in oe-core/pyro but breaks all builds with llvm from meta-oe as reported in:
http://lists.openembedded.org/pipermail/openembedded-core/2017-April/135050.html

* fix it by partial backport from master:
http://git.openembedded.org/openembedded-core/commit/?id=da29bc17e4dd748f50b054c5e3afaf8d41bf4077
but with different path as llvm-3.3 from meta-oe installs llvm-config in:
${STAGING_BINDIR_CROSS}/llvm-config
while llvm-5.0 from oe-core master (rocko) in:
${STAGING_LIBDIR}/llvm${MESA_LLVM_RELEASE}/llvm-config-host"

---
 meta/recipes-graphics/mesa/mesa.inc | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
meta/recipes-graphics/mesa/mesa.inc +2 -1
index 0348bb2dbb..25cbf631a7 100644
@@ -22,7 +22,8 @@ inherit autotools pkgconfig pythonnative gettext distro_features_check
 
 REQUIRED_DISTRO_FEATURES = "opengl"
 
-EXTRA_OECONF = "--enable-shared-glapi --with-llvm-prefix=${STAGING_BINDIR_NATIVE}"
+export LLVM_CONFIG = "${STAGING_BINDIR_CROSS}/llvm-config"
+EXTRA_OECONF = "--enable-shared-glapi"
 
 PACKAGECONFIG ??= "gbm egl gles dri \
 		${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)} \
Signature · 1 line
2.14.0
#5 lore raw

✗ patchtest: failure for "[pyro] v86d, qemuboot-x86.inc:..." and 3 more

In reply to Martin Jansa

== Series Details ==

Series: "[pyro] v86d, qemuboot-x86.inc:..." and 3 more
Revision: 1
URL : https://patchwork.openembedded.org/series/8201/
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:

* Patch            [pyro, 1/4] v86d, qemuboot-x86.inc: use KERNEL_MODULE_AUTOLOAD+KERNEL_MODULE_PROBECONF for uvesafb instead of fbsetup init script
 Issue             Commit shortlog is too long [test_shortlog_length] 
  Suggested fix    Edit shortlog so that it is 90 characters or less (currently 117 characters)

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] -> ...).

---

Test framework: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest
Test suite:     http://git.yoctoproject.org/cgit/cgit.cgi/patchtest-oe
#6 lore raw
In reply to Martin Jansa
Quoted 11 lines · Martin Jansa

* also add UVESA_MODE variable for easier change of resolution and respect it in QB_KERNEL_CMDLINE_APPEND as well
* don't use init script just to call modprobe
* I wasn't able to test this all the way with runqemu, because runqemu
doesn't work on my system, but I've verified that the right params
appear there and that I can easily change UVESA_MODE from
conf/local.conf, the modules.d and modprobe.d files look OK:
OE qemux86@ ~/build/oe-core/tmp-glibc/deploy/images/qemux86/core-image-sato-qemux86-20170427212613.rootfs

   $ cat etc/modules-load.d/uvesafb.conf
   uvesafb
Quoted 6 lines

OE qemux86@ ~/build/oe-core/tmp-glibc/deploy/images/qemux86/core-image-sato-qemux86-20170427212613.rootfs

   $ cat etc/modprobe.d/uvesafb.conf
   options uvesafb mode_option=1600x1200-32

so I'll be able to drop this KERNEL_MODULE_AUTOLOAD + KERNEL_MODULE_PROBECONF from my DISTRO conf.

All 4 merged to stagging.

thanks,
Armin

Quoted 104 lines
---
  meta/conf/machine/include/qemuboot-x86.inc |  7 +++++-
  meta/recipes-bsp/v86d/v86d/fbsetup         |  3 ---
  meta/recipes-bsp/v86d/v86d/uvesafb.conf    |  2 --
  meta/recipes-bsp/v86d/v86d_0.1.10.bb       | 36 ------------------------------
  4 files changed, 6 insertions(+), 42 deletions(-)

delete mode 100755 meta/recipes-bsp/v86d/v86d/fbsetup delete mode 100644 meta/recipes-bsp/v86d/v86d/uvesafb.conf

meta/conf/machine/include/qemuboot-x86.inc +6 -1
index acd03a1ce8..acf9d55c40 100644
@@ -10,6 +10,11 @@ QB_CPU_KVM_x86-64 = "-cpu core2duo"
 
  QB_AUDIO_DRV = "alsa"
  QB_AUDIO_OPT = "-soundhw ac97,es1370"
-QB_KERNEL_CMDLINE_APPEND = "vga=0 uvesafb.mode_option=640x480-32 oprofile.timer=1 uvesafb.task_timeout=-1"
+QB_KERNEL_CMDLINE_APPEND = "vga=0 uvesafb.mode_option=${UVESA_MODE} oprofile.timer=1 uvesafb.task_timeout=-1"
  # Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy
  QB_OPT_APPEND = "-vga vmware -show-cursor -usb -usbdevice tablet -device virtio-rng-pci"
+
+KERNEL_MODULE_AUTOLOAD += "uvesafb"
+KERNEL_MODULE_PROBECONF += "uvesafb"
+UVESA_MODE ?= "640x480-32"
+module_conf_uvesafb = "options uvesafb mode_option=${UVESA_MODE}"
meta/recipes-bsp/v86d/v86d/fbsetup deleted +0 -3
deleted file mode 100755
index 2a409cc529..0000000000
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-/sbin/modprobe uvesafb
meta/recipes-bsp/v86d/v86d/uvesafb.conf deleted +0 -2
deleted file mode 100644
index 43789755d3..0000000000
@@ -1,2 +0,0 @@
-# Load uvesafb.ko at boot
-uvesafb
meta/recipes-bsp/v86d/v86d_0.1.10.bb +0 -36
index eab466d30d..579a0a27eb 100644
@@ -11,8 +11,6 @@ PR = "r2"
 
  SRC_URI = "http://distfiles.gentoo.org/distfiles/${BP}.tar.bz2 \
             file://Update-x86emu-from-X.org.patch \
-           file://fbsetup \
-           file://uvesafb.conf \
             file://ar-from-env.patch \
             file://aarch64-host.patch \
  "
@@ -23,9 +21,6 @@ SRC_URI[sha256sum] = "634964ae18ef68c8493add2ce150e3b4502badeb0d9194b4bd81241d25
  PACKAGE_ARCH = "${MACHINE_ARCH}"
  COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
 
-INITSCRIPT_NAME = "fbsetup"
-INITSCRIPT_PARAMS = "start 0 S ."
-
  do_configure () {
  	./configure --with-x86emu
  }
@@ -37,35 +32,4 @@ do_compile () {
  do_install () {
  	install -d ${D}${base_sbindir}
  	install v86d ${D}${base_sbindir}/
-
-        # Only install fbsetup script if 'sysvinit' is in DISTRO_FEATURES
-        if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then
-            install -d ${D}${sysconfdir}/init.d/
-            install -m 0755 ${WORKDIR}/fbsetup ${D}${sysconfdir}/init.d/fbsetup
-        fi
-
-        # Install systemd related configuration file
-        if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
-            install -d ${D}${sysconfdir}/modules-load.d
-            install -m 0644 ${WORKDIR}/uvesafb.conf ${D}${sysconfdir}/modules-load.d
-        fi
-}
-
-# As the recipe doesn't inherit systemd.bbclass, we need to set this variable
-# manually to avoid unnecessary postinst/preinst generated.
-python __anonymous() {
-    if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d):
-        d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1")
-}
-
-inherit update-rc.d
-
-PACKAGE_WRITE_DEPS_append = " ${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd-systemctl-native','',d)}"
-pkg_postinst_${PN} () {
-	if ${@bb.utils.contains('DISTRO_FEATURES','systemd sysvinit','true','false',d)}; then
-		if [ -n "$D" ]; then
-			OPTS="--root=$D"
-		fi
-		systemctl $OPTS mask fbsetup.service
-	fi
  }