agherzan / meta-raspberrypi

Yocto/OE BSP layer for the Raspberry Pi boards
https://www.yoctoproject.org/
MIT License
523 stars 408 forks source link

userland: fix installed-vs-shipped in multilib builds #1295

Closed shr-project closed 6 months ago

shr-project commented 6 months ago

Be aware that whole userland repo is marked as ancient and deprecated: https://github.com/raspberrypi/userland/commit/96a7334ae9d5fc9db7ac92e59852377df63f1848 and explicitly says: "If you are using code from here you should rethink your solution."

But even if your build is using vc4graphics in MACHINE_FEATURES to avoid most of userland, this issue with multilib was preventing do_install:append to actually remove those libraries provided by lib32-mesa when building lib32-userland (e.g. to provide virtual/libomxil or as dependency of raspidmx or runtime dependency of omxplayer).

shr-project commented 6 months ago

Our builds are using vc4graphics and normally don't use lib32-userland.

I've verified that for no-multilib builds there is no change in userland packages (other than CMakeLists.txt files in userland-dev):

diff -rq tmp-glibc/work/cortexa72-oe-linux/userland/20230419.*/packages-split
Files tmp-glibc/work/cortexa72-oe-linux/userland/20230419.after/packages-split/userland-dev/usr/src/hello_pi/hello_audio/CMakeLists.txt and tmp-glibc/work/cortexa72-oe-linux/userland/20230419.before/packages-split/userland-dev/usr/src/hel
lo_pi/hello_audio/CMakeLists.txt differ
Files tmp-glibc/work/cortexa72-oe-linux/userland/20230419.after/packages-split/userland-dev/usr/src/hello_pi/hello_dispmanx/CMakeLists.txt and tmp-glibc/work/cortexa72-oe-linux/userland/20230419.before/packages-split/userland-dev/usr/src/
hello_pi/hello_dispmanx/CMakeLists.txt differ
Files tmp-glibc/work/cortexa72-oe-linux/userland/20230419.after/packages-split/userland-dev/usr/src/hello_pi/hello_encode/CMakeLists.txt and tmp-glibc/work/cortexa72-oe-linux/userland/20230419.before/packages-split/userland-dev/usr/src/he
llo_pi/hello_encode/CMakeLists.txt differ
Files tmp-glibc/work/cortexa72-oe-linux/userland/20230419.after/packages-split/userland-dev/usr/src/hello_pi/hello_font/CMakeLists.txt and tmp-glibc/work/cortexa72-oe-linux/userland/20230419.before/packages-split/userland-dev/usr/src/hell
o_pi/hello_font/CMakeLists.txt differ
Files tmp-glibc/work/cortexa72-oe-linux/userland/20230419.after/packages-split/userland-dev/usr/src/hello_pi/hello_jpeg/CMakeLists.txt and tmp-glibc/work/cortexa72-oe-linux/userland/20230419.before/packages-split/userland-dev/usr/src/hell
o_pi/hello_jpeg/CMakeLists.txt differ
Files tmp-glibc/work/cortexa72-oe-linux/userland/20230419.after/packages-split/userland-dev/usr/src/hello_pi/hello_teapot/CMakeLists.txt and tmp-glibc/work/cortexa72-oe-linux/userland/20230419.before/packages-split/userland-dev/usr/src/he
llo_pi/hello_teapot/CMakeLists.txt differ
Files tmp-glibc/work/cortexa72-oe-linux/userland/20230419.after/packages-split/userland-dev/usr/src/hello_pi/hello_tiger/CMakeLists.txt and tmp-glibc/work/cortexa72-oe-linux/userland/20230419.before/packages-split/userland-dev/usr/src/hel
lo_pi/hello_tiger/CMakeLists.txt differ
Files tmp-glibc/work/cortexa72-oe-linux/userland/20230419.after/packages-split/userland-dev/usr/src/hello_pi/hello_triangle/CMakeLists.txt and tmp-glibc/work/cortexa72-oe-linux/userland/20230419.before/packages-split/userland-dev/usr/src/
hello_pi/hello_triangle/CMakeLists.txt differ
Files tmp-glibc/work/cortexa72-oe-linux/userland/20230419.after/packages-split/userland-dev/usr/src/hello_pi/hello_triangle2/CMakeLists.txt and tmp-glibc/work/cortexa72-oe-linux/userland/20230419.before/packages-split/userland-dev/usr/src
/hello_pi/hello_triangle2/CMakeLists.txt differ
Files tmp-glibc/work/cortexa72-oe-linux/userland/20230419.after/packages-split/userland-dev/usr/src/hello_pi/hello_video/CMakeLists.txt and tmp-glibc/work/cortexa72-oe-linux/userland/20230419.before/packages-split/userland-dev/usr/src/hel
lo_pi/hello_video/CMakeLists.txt differ
Files tmp-glibc/work/cortexa72-oe-linux/userland/20230419.after/packages-split/userland-dev/usr/src/hello_pi/hello_videocube/CMakeLists.txt and tmp-glibc/work/cortexa72-oe-linux/userland/20230419.before/packages-split/userland-dev/usr/src
/hello_pi/hello_videocube/CMakeLists.txt differ
Files tmp-glibc/work/cortexa72-oe-linux/userland/20230419.after/packages-split/userland-dev/usr/src/hello_pi/hello_wayland/CMakeLists.txt and tmp-glibc/work/cortexa72-oe-linux/userland/20230419.before/packages-split/userland-dev/usr/src/h
ello_pi/hello_wayland/CMakeLists.txt differ
Files tmp-glibc/work/cortexa72-oe-linux/userland/20230419.after/packages-split/userland-dev/usr/src/hello_pi/hello_world/CMakeLists.txt and tmp-glibc/work/cortexa72-oe-linux/userland/20230419.before/packages-split/userland-dev/usr/src/hel
lo_pi/hello_world/CMakeLists.txt differ
$ buildhistory-diff -p buildhistory
$ buildhistory-diff -p buildhistory -a
packages/cortexa72-oe-linux/userland: SRC_URI changed from "git://github.com/raspberrypi/userland.git;protocol=https;branch=master file://0001-mmal-Do-not-use-Werror.patch file://0001-Allow-applications-to-set-next-resource-handle.patch f
ile://0002-wayland-Add-support-for-the-Wayland-winsys.patch file://0003-wayland-Add-Wayland-example.patch file://0004-wayland-egl-Add-bcm_host-to-dependencies.patch file://0005-interface-remove-faulty-assert-to-make-weston-happy-.patch fi
le://0006-zero-out-wl-buffers-in-egl_surface_free.patch file://0007-initialize-front-back-wayland-buffers.patch file://0008-Remove-RPC_FLUSH.patch file://0009-fix-cmake-dependency-race.patch file://0010-Fix-for-framerate-with-nested-compo
sition.patch file://0011-build-shared-library-for-vchostif.patch file://0012-implement-buffer-wrapping-interface-for-dispmanx.patch file://0013-Implement-triple-buffering-for-wayland.patch file://0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-G
L_RG8_EXT.patch file://0015-EGL-glplatform.h-define-EGL_CAST.patch file://0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch file://0017-khronos-backport-typedef-for-EGL_EXT_image_dma_buf_i.patch file://0018-Add-EGL_IMG_conte
xt_priority-related-defines.patch file://0019-libfdt-Undefine-__wordsize-if-already-defined.patch file://0020-openmaxil-add-pkg-config-file.patch file://0021-cmake-Disable-format-overflow-warning-as-error.patch file://0022-all-host_applic
ations-remove-non-existent-projects.patch file://0023-hello_pi-optionally-build-wayland-specific-app.patch file://0024-userland-Sync-needed-defines-for-weston-build.patch" to "git://github.com/raspberrypi/userland.git;protocol=https;branc
h=master file://0001-mmal-Do-not-use-Werror.patch file://0001-Allow-applications-to-set-next-resource-handle.patch file://0002-wayland-Add-support-for-the-Wayland-winsys.patch file://0003-wayland-Add-Wayland-example.patch file://0004-wayl
and-egl-Add-bcm_host-to-dependencies.patch file://0005-interface-remove-faulty-assert-to-make-weston-happy-.patch file://0006-zero-out-wl-buffers-in-egl_surface_free.patch file://0007-initialize-front-back-wayland-buffers.patch file://000
8-Remove-RPC_FLUSH.patch file://0009-fix-cmake-dependency-race.patch file://0010-Fix-for-framerate-with-nested-composition.patch file://0011-build-shared-library-for-vchostif.patch file://0012-implement-buffer-wrapping-interface-for-dispm
anx.patch file://0013-Implement-triple-buffering-for-wayland.patch file://0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch file://0015-EGL-glplatform.h-define-EGL_CAST.patch file://0016-Allow-multiple-wayland-compositor-state-dat
a-per-pro.patch file://0017-khronos-backport-typedef-for-EGL_EXT_image_dma_buf_i.patch file://0018-Add-EGL_IMG_context_priority-related-defines.patch file://0019-libfdt-Undefine-__wordsize-if-already-defined.patch file://0020-openmaxil-ad
d-pkg-config-file.patch file://0021-cmake-Disable-format-overflow-warning-as-error.patch file://0022-all-host_applications-remove-non-existent-projects.patch file://0023-hello_pi-optionally-build-wayland-specific-app.patch file://0024-use
rland-Sync-needed-defines-for-weston-build.patch file://0025-CMakeLists.txt-.pc-respect-CMAKE_INSTALL_LIBDIR.patch"
packages/cortexa72-oe-linux/userland/userland-dbg: PKGR changed from r0.0 to r0.1
packages/cortexa72-oe-linux/userland/userland-dev: PKGSIZE changed from 34988595 to 34988855 (+0%)
packages/cortexa72-oe-linux/userland/userland-dev: PKGR changed from r0.0 to r0.1
packages/cortexa72-oe-linux/userland/userland-doc: PKGR changed from r0.0 to r0.1
packages/cortexa72-oe-linux/userland/userland-lic: PKGR changed from r0.0 to r0.1
packages/cortexa72-oe-linux/userland/userland-locale: PKGR changed from r0.0 to r0.1
packages/cortexa72-oe-linux/userland/userland-src: PKGR changed from r0.0 to r0.1
packages/cortexa72-oe-linux/userland/userland-staticdev: PKGR changed from r0.0 to r0.1
packages/cortexa72-oe-linux/userland/userland: PKGR changed from r0.0 to r0.1

And without vc4graphics: MACHINE_FEATURES:remove:rpi = "vc4graphics"

this is the diff with and without vc4graphics

$ buildhistory-diff -p buildhistory
Changes to packages/cortexa72-oe-linux/userland (sysroot):
  /sysroot-providers/virtual_egl was added
  /sysroot-providers/virtual_libgles2 was added
  /usr/include/EGL was added
  /usr/include/EGL/eglext_android.h was added
  /usr/include/EGL/eglext_brcm.h was added
  /usr/include/EGL/eglext.h was added
  /usr/include/EGL/eglext_nvidia.h was added
  /usr/include/EGL/egl.h was added
  /usr/include/EGL/eglplatform.h was added
  /usr/include/GLES was added
  /usr/include/GLES2 was added
  /usr/include/GLES2/gl2ext.h was added
  /usr/include/GLES2/gl2.h was added
  /usr/include/GLES2/gl2platform.h was added
  /usr/include/GLES/glext.h was added
  /usr/include/GLES/gl.h was added
  /usr/include/GLES/glplatform.h was added
  /usr/include/KHR was added
  /usr/include/KHR/khrplatform.h was added
  /usr/lib/pkgconfig/egl.pc was added
  /usr/lib/pkgconfig/glesv2.pc was added
  /usr/lib/pkgconfig/vg.pc was added
packages/cortexa72-oe-linux/userland/userland-dev: FILELIST: added "/usr/include/GLES/glplatform.h /usr/include/EGL/eglplatform.h /usr/lib/pkgconfig/glesv2.pc /usr/include/EGL/eglext.h /usr/include/GLES/gl.h /usr/include/GLES2/gl2platform
.h /usr/lib/pkgconfig/vg.pc /usr/include/GLES/glext.h /usr/include/EGL/eglext_nvidia.h /usr/include/EGL/eglext_android.h /usr/include/EGL/eglext_brcm.h /usr/include/GLES2/gl2ext.h /usr/include/GLES2/gl2.h /usr/include/KHR/khrplatform.h /u
sr/lib/pkgconfig/egl.pc /usr/include/EGL/egl.h"
packages/cortexa72-oe-linux/userland/userland-dev: RRECOMMENDS: removed "libegl-mesa-dev"
packages/cortexa72-oe-linux/userland/userland: RPROVIDES: added "libegl1 libegl libglesv2-2 egl libgles2"
packages/cortexa72-oe-linux/userland/userland: RDEPENDS: removed "libegl-mesa"
Changes to packages/cortexa72-oe-linux/wayland (sysroot):
  /usr/lib/libwayland-egl.so.1.22.0 was removed
  /usr/lib/libwayland-egl.so.1 was removed
  /usr/lib/libwayland-egl.so was removed
  /usr/lib/pkgconfig/wayland-egl.pc was removed
packages/cortexa72-oe-linux/wayland/wayland-dev: FILELIST: removed "/usr/lib/libwayland-egl.so /usr/lib/pkgconfig/wayland-egl.pc"
packages/cortexa72-oe-linux/wayland/wayland: FILELIST: removed "/usr/lib/libwayland-egl.so.1.22.0 /usr/lib/libwayland-egl.so.1"
packages/cortexa72-oe-linux/wayland/wayland: PKGSIZE changed from 497698 to 430226 (-14%)

and this change doesn't have any impact again:

OE raspberrypi4-64@ /OE/build/oe-core $ buildhistory-diff -p buildhistory
OE raspberrypi4-64@ /OE/build/oe-core $ buildhistory-diff -p buildhistory -a
packages/cortexa72-oe-linux/userland: SRC_URI changed from "git://github.com/raspberrypi/userland.git;protocol=https;branch=master file://0001-mmal-Do-not-use-Werror.patch file://0001-Allow-applications-to-set-next-resource-handle.patch f
ile://0002-wayland-Add-support-for-the-Wayland-winsys.patch file://0003-wayland-Add-Wayland-example.patch file://0004-wayland-egl-Add-bcm_host-to-dependencies.patch file://0005-interface-remove-faulty-assert-to-make-weston-happy-.patch fi
le://0006-zero-out-wl-buffers-in-egl_surface_free.patch file://0007-initialize-front-back-wayland-buffers.patch file://0008-Remove-RPC_FLUSH.patch file://0009-fix-cmake-dependency-race.patch file://0010-Fix-for-framerate-with-nested-compo
sition.patch file://0011-build-shared-library-for-vchostif.patch file://0012-implement-buffer-wrapping-interface-for-dispmanx.patch file://0013-Implement-triple-buffering-for-wayland.patch file://0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-G
L_RG8_EXT.patch file://0015-EGL-glplatform.h-define-EGL_CAST.patch file://0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch file://0017-khronos-backport-typedef-for-EGL_EXT_image_dma_buf_i.patch file://0018-Add-EGL_IMG_conte
xt_priority-related-defines.patch file://0019-libfdt-Undefine-__wordsize-if-already-defined.patch file://0020-openmaxil-add-pkg-config-file.patch file://0021-cmake-Disable-format-overflow-warning-as-error.patch file://0022-all-host_applic
ations-remove-non-existent-projects.patch file://0023-hello_pi-optionally-build-wayland-specific-app.patch file://0024-userland-Sync-needed-defines-for-weston-build.patch" to "git://github.com/raspberrypi/userland.git;protocol=https;branc
h=master file://0001-mmal-Do-not-use-Werror.patch file://0001-Allow-applications-to-set-next-resource-handle.patch file://0002-wayland-Add-support-for-the-Wayland-winsys.patch file://0003-wayland-Add-Wayland-example.patch file://0004-wayl
and-egl-Add-bcm_host-to-dependencies.patch file://0005-interface-remove-faulty-assert-to-make-weston-happy-.patch file://0006-zero-out-wl-buffers-in-egl_surface_free.patch file://0007-initialize-front-back-wayland-buffers.patch file://000
8-Remove-RPC_FLUSH.patch file://0009-fix-cmake-dependency-race.patch file://0010-Fix-for-framerate-with-nested-composition.patch file://0011-build-shared-library-for-vchostif.patch file://0012-implement-buffer-wrapping-interface-for-dispm
anx.patch file://0013-Implement-triple-buffering-for-wayland.patch file://0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch file://0015-EGL-glplatform.h-define-EGL_CAST.patch file://0016-Allow-multiple-wayland-compositor-state-dat
a-per-pro.patch file://0017-khronos-backport-typedef-for-EGL_EXT_image_dma_buf_i.patch file://0018-Add-EGL_IMG_context_priority-related-defines.patch file://0019-libfdt-Undefine-__wordsize-if-already-defined.patch file://0020-openmaxil-ad
d-pkg-config-file.patch file://0021-cmake-Disable-format-overflow-warning-as-error.patch file://0022-all-host_applications-remove-non-existent-projects.patch file://0023-hello_pi-optionally-build-wayland-specific-app.patch file://0024-use
rland-Sync-needed-defines-for-weston-build.patch file://0025-CMakeLists.txt-.pc-respect-CMAKE_INSTALL_LIBDIR.patch"
packages/cortexa72-oe-linux/userland/userland-dbg: PKGR changed from r0.2 to r0.3
packages/cortexa72-oe-linux/userland/userland-dev: PKGR changed from r0.2 to r0.3
packages/cortexa72-oe-linux/userland/userland-dev: PKGSIZE changed from 35228360 to 35228620 (+0%)
packages/cortexa72-oe-linux/userland/userland-doc: PKGR changed from r0.2 to r0.3
packages/cortexa72-oe-linux/userland/userland-lic: PKGR changed from r0.2 to r0.3
packages/cortexa72-oe-linux/userland/userland-locale: PKGR changed from r0.2 to r0.3
packages/cortexa72-oe-linux/userland/userland-src: PKGR changed from r0.2 to r0.3
packages/cortexa72-oe-linux/userland/userland-staticdev: PKGR changed from r0.2 to r0.3
packages/cortexa72-oe-linux/userland/userland: PKGR changed from r0.2 to r0.3

So the only change is for multilib (or other non-standard libdir builds) where it caused installed-vs-shipped QA issue before and kept all libraries (when building with vc4graphics) and now it works correctly (or at least as well as non-multilib case does).

shr-project commented 6 months ago

With

ERROR_QA:remove:pn-lib32-userland = "installed-vs-shipped"

it shows even more errors :)

ERROR: lib32-userland-20230419-r0 do_package_qa: QA Issue: /usr/bin/mmal_vc_diag contained in package lib32-userland requires libcontainers.so, but no providers found in RDEPENDS:lib32-userland? [file-rdeps]
ERROR: lib32-userland-20230419-r0 do_package_qa: QA Issue: /usr/bin/vcsmem contained in package lib32-userland requires libvcos.so, but no providers found in RDEPENDS:lib32-userland? [file-rdeps]
ERROR: lib32-userland-20230419-r0 do_package_qa: QA Issue: /usr/bin/dtoverlay contained in package lib32-userland requires libdtovl.so, but no providers found in RDEPENDS:lib32-userland? [file-rdeps]
ERROR: lib32-userland-20230419-r0 do_package_qa: QA Issue: /usr/bin/mmal_vc_diag contained in package lib32-userland requires libmmal.so, but no providers found in RDEPENDS:lib32-userland? [file-rdeps]
ERROR: lib32-userland-20230419-r0 do_package_qa: QA Issue: /usr/bin/mmal_vc_diag contained in package lib32-userland requires libdebug_sym.so, but no providers found in RDEPENDS:lib32-userland? [file-rdeps]
ERROR: lib32-userland-20230419-r0 do_package_qa: QA Issue: /usr/bin/mmal_vc_diag contained in package lib32-userland requires libmmal_components.so, but no providers found in RDEPENDS:lib32-userland? [file-rdeps]
ERROR: lib32-userland-20230419-r0 do_package_qa: QA Issue: /usr/bin/raspiyuv contained in package lib32-userland requires libmmal_core.so, but no providers found in RDEPENDS:lib32-userland? [file-rdeps]
ERROR: lib32-userland-20230419-r0 do_package_qa: QA Issue: /usr/bin/raspiyuv contained in package lib32-userland requires libmmal_vc_client.so, but no providers found in RDEPENDS:lib32-userland? [file-rdeps]
ERROR: lib32-userland-20230419-r0 do_package_qa: QA Issue: /usr/bin/vcsmem contained in package lib32-userland requires libvchiq_arm.so, but no providers found in RDEPENDS:lib32-userland? [file-rdeps]
ERROR: lib32-userland-20230419-r0 do_package_qa: QA Issue: /usr/bin/vcsmem contained in package lib32-userland requires libvcsm.so, but no providers found in RDEPENDS:lib32-userland? [file-rdeps]
ERROR: lib32-userland-20230419-r0 do_package_qa: QA Issue: /usr/bin/raspiyuv contained in package lib32-userland requires libmmal_util.so, but no providers found in RDEPENDS:lib32-userland? [file-rdeps]
ERROR: lib32-userland-20230419-r0 do_package_qa: QA Issue: /usr/bin/raspistill contained in package lib32-userland requires libbrcmGLESv2.so, but no providers found in RDEPENDS:lib32-userland? [file-rdeps]
ERROR: lib32-userland-20230419-r0 do_package_qa: QA Issue: /usr/bin/raspistill contained in package lib32-userland requires libbrcmEGL.so, but no providers found in RDEPENDS:lib32-userland? [file-rdeps]
ERROR: lib32-userland-20230419-r0 do_package_qa: QA Issue: /usr/bin/tvservice contained in package lib32-userland requires libbcm_host.so, but no providers found in RDEPENDS:lib32-userland? [file-rdeps]
ERROR: lib32-userland-20230419-r0 do_package_qa: QA Issue: /usr/bin/vcsmem contained in package lib32-userland requires libvchostif.so, but no providers found in RDEPENDS:lib32-userland? [file-rdeps]
ERROR: lib32-userland-20230419-r0 do_package_qa: QA Issue: lib32-userland-dbg: found library in wrong location: /usr/lib/.debug/libGLESv2.so.2.0.0
lib32-userland-dbg: found library in wrong location: /usr/lib/.debug/libcontainers.so
lib32-userland-dbg: found library in wrong location: /usr/lib/.debug/libbrcmEGL.so
lib32-userland-dbg: found library in wrong location: /usr/lib/.debug/libopenmaxil.so
lib32-userland-dbg: found library in wrong location: /usr/lib/.debug/libEGL.so.1.0.0
lib32-userland-dbg: found library in wrong location: /usr/lib/.debug/libmmal.so
lib32-userland-dbg: found library in wrong location: /usr/lib/.debug/libmmal_util.so
lib32-userland-dbg: found library in wrong location: /usr/lib/.debug/libbcm_host.so
lib32-userland-dbg: found library in wrong location: /usr/lib/.debug/libbrcmOpenVG.so
lib32-userland-dbg: found library in wrong location: /usr/lib/.debug/libmmal_core.so
lib32-userland-dbg: found library in wrong location: /usr/lib/.debug/libvchiq_arm.so
lib32-userland-dbg: found library in wrong location: /usr/lib/.debug/libvchostif.so
lib32-userland-dbg: found library in wrong location: /usr/lib/.debug/libOpenVG.so
lib32-userland-dbg: found library in wrong location: /usr/lib/.debug/libvcsm.so
lib32-userland-dbg: found library in wrong location: /usr/lib/.debug/libmmal_components.so
lib32-userland-dbg: found library in wrong location: /usr/lib/.debug/libWFC.so
lib32-userland-dbg: found library in wrong location: /usr/lib/.debug/libmmal_vc_client.so
lib32-userland-dbg: found library in wrong location: /usr/lib/.debug/libbrcmGLESv2.so
lib32-userland-dbg: found library in wrong location: /usr/lib/.debug/libdtovl.so
lib32-userland-dbg: found library in wrong location: /usr/lib/.debug/libdebug_sym.so
lib32-userland-dbg: found library in wrong location: /usr/lib/.debug/libbrcmWFC.so
lib32-userland-dbg: found library in wrong location: /usr/lib/.debug/libvcos.so
lib32-userland-dbg: found library in wrong location: /usr/lib/.debug/libwayland-egl.so [libdir]
ERROR: lib32-userland-20230419-r0 do_package_qa: Fatal QA errors were found, failing task.
ERROR: Logfile of failure stored in: lib32-userland/20230419/temp/log.do_package_qa.592466
ERROR: Task (virtual:multilib:lib32:meta-raspberrypi/recipes-graphics/userland/userland_git.bb:do_package_qa) failed with exit code '1'

and after ERROR_QA:remove:pn-lib32-userland = "installed-vs-shipped libdir file-rdeps" I can build it to compare with buildhistory-diff against the version with this PR applied:

$ buildhistory-diff -p buildhistory
packages/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-userland/lib32-userland-dbg: PKGR changed from r0.1 to r0.0
packages/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-userland/lib32-userland-dbg: PKGSIZE changed from 8317392 to 7166996 (-14%)
packages/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-userland/lib32-userland-dev: PKGR changed from r0.1 to r0.0
packages/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-userland/lib32-userland-dev: RRECOMMENDS: removed "lib32-userland (['= 20230419-r0.1'])", added "lib32-userland (['= 20230419-r0.0'])"
packages/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-userland/lib32-userland-dev: FILELIST: added "/usr/lib32/pkgconfig/brcmglesv2.pc /usr/lib32/pkgconfig/mmal.pc /usr/lib32/pkgconfig/bcm_host.pc /usr/lib32/pkgconfig/brcmvg.pc /usr/lib32/pkgconfig/brcmegl.pc /usr/lib32/pkgconfig/vcsm.pc /usr/lib32/pkgconfig/openmaxil.pc"
packages/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-userland/lib32-userland-doc: PKGR changed from r0.1 to r0.0
packages/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-userland/lib32-userland-locale: PKGR changed from r0.1 to r0.0
packages/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-userland/lib32-userland-src: PKGR changed from r0.1 to r0.0
packages/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-userland/lib32-userland-staticdev: PKGR changed from r0.1 to r0.0
packages/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-userland/lib32-userland-staticdev: PKGSIZE changed from 0 to 2648440 (+100%)
packages/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-userland/lib32-userland-staticdev: FILELIST: added "/usr/lib32/libdebug_sym_static.a /usr/lib32/libkhrn_static.a /usr/lib32/libvcilcs.a /usr/lib32/libkhrn_client.a"
packages/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-userland/lib32-userland-staticdev: RDEPENDS: removed "lib32-userland-dev (['= 20230419-r0.1'])", added "lib32-userland-dev (['= 20230419-r0.0'])"
packages/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-userland/lib32-userland: PKGR changed from r0.1 to r0.0
packages/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-userland/lib32-userland: PKGSIZE changed from 513567 to 1675807 (+226%)
packages/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-userland/lib32-userland: FILELIST: added "/usr/lib32/libvchiq_arm.so /usr/lib32/plugins/reader_asf.so /usr/lib32/libvcos.so /usr/lib32/plugins/reader_mp4.so /usr/lib32/plugins/reader_qsynth.so /usr/lib32/libcontainers.so /usr/lib32/plugins/reader_wav.so /usr/lib32/plugins/writer_dummy.so /usr/lib32/plugins/writer_raw_video.so /usr/lib32/libmmal_core.so /usr/lib32/plugins/reader_binary.so /usr/lib32/libbcm_host.so /usr/lib32/plugins/reader_rv9.so /usr/lib32/libbrcmGLESv2.so /usr/lib32/plugins/reader_rtp.so /usr/lib32/libbrcmEGL.so /usr/lib32/libOpenVG.so /usr/lib32/plugins/reader_mpga.so /usr/lib32/libopenmaxil.so /usr/lib32/libmmal_vc_client.so /usr/lib32/plugins/writer_asf.so /usr/lib32/libmmal_util.so /usr/lib32/plugins/reader_rtsp.so /usr/lib32/libdebug_sym.so /usr/lib32/libmmal.so /usr/lib32/libmmal_components.so /usr/lib32/libbrcmOpenVG.so /usr/lib32/plugins/reader_simple.so /usr/lib32/libbrcmWFC.so /usr/lib32/plugins/reader_rcv.so /usr/lib32/libdtovl.so /usr/lib32/plugins/reader_flv.so /usr/lib32/plugins/writer_avi.so /usr/lib32/plugins/writer_mp4.so /usr/lib32/plugins/reader_raw_video.so /usr/lib32/libWFC.so /usr/lib32/libvchostif.so /usr/lib32/plugins/reader_avi.so /usr/lib32/plugins/reader_metadata_id3.so /usr/lib32/plugins/writer_simple.so /usr/lib32/plugins/reader_ps.so /usr/lib32/plugins/writer_binary.so /usr/lib32/libvcsm.so /usr/lib32/plugins/reader_mkv.so"
Changes to packages/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-userland (sysroot):
  /usr/lib32 was added
  /usr/lib32/libbcm_host.so was added
  /usr/lib32/libbrcmEGL.so was added
  /usr/lib32/libbrcmGLESv2.so was added
  /usr/lib32/libbrcmOpenVG.so was added
  /usr/lib32/libbrcmWFC.so was added
  /usr/lib32/libcontainers.so was added
  /usr/lib32/libdebug_sym.so was added
  /usr/lib32/libdebug_sym_static.a was added
  /usr/lib32/libdtovl.so was added
  /usr/lib32/libkhrn_client.a was added
  /usr/lib32/libkhrn_static.a was added
  /usr/lib32/libmmal_components.so was added
  /usr/lib32/libmmal_core.so was added
  /usr/lib32/libmmal.so was added
  /usr/lib32/libmmal_util.so was added
  /usr/lib32/libmmal_vc_client.so was added
  /usr/lib32/libopenmaxil.so was added
  /usr/lib32/libOpenVG.so was added
  /usr/lib32/libvchiq_arm.so was added
  /usr/lib32/libvchostif.so was added
  /usr/lib32/libvcilcs.a was added
  /usr/lib32/libvcos.so was added
  /usr/lib32/libvcsm.so was added
  /usr/lib32/libWFC.so was added
  /usr/lib32/pkgconfig was added
  /usr/lib32/pkgconfig/bcm_host.pc was added
  /usr/lib32/pkgconfig/brcmegl.pc was added
  /usr/lib32/pkgconfig/brcmglesv2.pc was added
  /usr/lib32/pkgconfig/brcmvg.pc was added
  /usr/lib32/pkgconfig/mmal.pc was added
  /usr/lib32/pkgconfig/openmaxil.pc was added
  /usr/lib32/pkgconfig/vcsm.pc was added
  /usr/lib32/plugins was added
  /usr/lib32/plugins/reader_asf.so was added
  /usr/lib32/plugins/reader_avi.so was added
  /usr/lib32/plugins/reader_binary.so was added
  /usr/lib32/plugins/reader_flv.so was added
  /usr/lib32/plugins/reader_metadata_id3.so was added
  /usr/lib32/plugins/reader_mkv.so was added
  /usr/lib32/plugins/reader_mp4.so was added
  /usr/lib32/plugins/reader_mpga.so was added
  /usr/lib32/plugins/reader_ps.so was added
  /usr/lib32/plugins/reader_qsynth.so was added
  /usr/lib32/plugins/reader_raw_video.so was added
  /usr/lib32/plugins/reader_rcv.so was added
  /usr/lib32/plugins/reader_rtp.so was added
  /usr/lib32/plugins/reader_rtsp.so was added
  /usr/lib32/plugins/reader_rv9.so was added
  /usr/lib32/plugins/reader_simple.so was added
  /usr/lib32/plugins/reader_wav.so was added
  /usr/lib32/plugins/writer_asf.so was added
  /usr/lib32/plugins/writer_avi.so was added
  /usr/lib32/plugins/writer_binary.so was added
  /usr/lib32/plugins/writer_dummy.so was added
  /usr/lib32/plugins/writer_mp4.so was added
  /usr/lib32/plugins/writer_raw_video.so was added
  /usr/lib32/plugins/writer_simple.so was added
  /usr/lib was removed
  /usr/lib/libbcm_host.so was removed
  /usr/lib/libbrcmEGL.so was removed
  /usr/lib/libbrcmGLESv2.so was removed
  /usr/lib/libbrcmOpenVG.so was removed
  /usr/lib/libbrcmWFC.so was removed
  /usr/lib/libcontainers.so was removed
  /usr/lib/libdebug_sym.so was removed
  /usr/lib/libdebug_sym_static.a was removed
  /usr/lib/libdtovl.so was removed
  /usr/lib/libEGL.so.1.0.0 was removed
  /usr/lib/libEGL.so.1 was removed
  /usr/lib/libEGL.so was removed
  /usr/lib/libEGL_static.a was removed
  /usr/lib/libGLESv2.so.2.0.0 was removed
  /usr/lib/libGLESv2.so.2 was removed
  /usr/lib/libGLESv2.so was removed
  /usr/lib/libGLESv2_static.a was removed
  /usr/lib/libkhrn_client.a was removed
  /usr/lib/libkhrn_static.a was removed
  /usr/lib/libmmal_components.so was removed
  /usr/lib/libmmal_core.so was removed
  /usr/lib/libmmal.so was removed
  /usr/lib/libmmal_util.so was removed
  /usr/lib/libmmal_vc_client.so was removed
  /usr/lib/libopenmaxil.so was removed
  /usr/lib/libOpenVG.so was removed
  /usr/lib/libvchiq_arm.so was removed
  /usr/lib/libvchostif.so was removed
  /usr/lib/libvcilcs.a was removed
  /usr/lib/libvcos.so was removed
  /usr/lib/libvcsm.so was removed
  /usr/lib/libwayland-egl.so was removed
  /usr/lib/libWFC.so was removed
  /usr/lib/pkgconfig was removed
  /usr/lib/pkgconfig/bcm_host.pc was removed
  /usr/lib/pkgconfig/brcmegl.pc was removed
  /usr/lib/pkgconfig/brcmglesv2.pc was removed
  /usr/lib/pkgconfig/brcmvg.pc was removed
  /usr/lib/pkgconfig/mmal.pc was removed
  /usr/lib/pkgconfig/openmaxil.pc was removed
  /usr/lib/pkgconfig/vcsm.pc was removed
  /usr/lib/pkgconfig/wayland-egl.pc was removed
  /usr/lib/plugins was removed
  /usr/lib/plugins/reader_asf.so was removed
  /usr/lib/plugins/reader_avi.so was removed
  /usr/lib/plugins/reader_binary.so was removed
  /usr/lib/plugins/reader_flv.so was removed
  /usr/lib/plugins/reader_metadata_id3.so was removed
  /usr/lib/plugins/reader_mkv.so was removed
  /usr/lib/plugins/reader_mp4.so was removed
  /usr/lib/plugins/reader_mpga.so was removed
  /usr/lib/plugins/reader_ps.so was removed
  /usr/lib/plugins/reader_qsynth.so was removed
  /usr/lib/plugins/reader_raw_video.so was removed
  /usr/lib/plugins/reader_rcv.so was removed
  /usr/lib/plugins/reader_rtp.so was removed
  /usr/lib/plugins/reader_rtsp.so was removed
  /usr/lib/plugins/reader_rv9.so was removed
  /usr/lib/plugins/reader_simple.so was removed
  /usr/lib/plugins/reader_wav.so was removed
  /usr/lib/plugins/writer_asf.so was removed
  /usr/lib/plugins/writer_avi.so was removed
  /usr/lib/plugins/writer_binary.so was removed
  /usr/lib/plugins/writer_dummy.so was removed
  /usr/lib/plugins/writer_mp4.so was removed
  /usr/lib/plugins/writer_raw_video.so was removed
  /usr/lib/plugins/writer_simple.so was removed
packages/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-userland/lib32-userland: pkg_postinst added:
  @@ -0,0 +1,5 @@
  +#!/bin/sh
  +set -e
  +if [ x"$D" = "x" ]; then
  + if [ -x /sbin/ldconfig ]; then /sbin/ldconfig ; fi
  +fi
  --

I didn't do any runtime testing.

agherzan commented 6 months ago

And yes, we should start considering completely dropping userland.