Various metadata tweaks v2
v2 cover Various metadata tweaks v2
The following series are some tidy ups and changes made whilst porting a distro with systemd and a Weston + Xwayland userland to Jethro.
Please consider them for inclusion.
Changes since v1:
* Backport weston patch to use libsystemd.pc
* Don't enable systemd compat PACKAGECONFIG by default
Regards,
Joshua
lib/oe/image.py: Fix dependency handling for compressed types (2015-10-14 18:08:22 +0300)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib joshuagl/cleanup
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=joshuagl/cleanup
Joshua Lock (7):
systemd: add PACKAEGCONFIG to build with compatibility libraries
weston: backport support for single libsystemd.pc
weston: add PACKAGECONFIG to build with systemd-login support
systemd: make dbus an optional build time dependency
weston: add a PACKAGECONFIG option for xwayland support
xserver-xorg: add Xwayland RRECOMMENDS
xserver-xorg: drop empty ${PN}-security-policy package
meta/recipes-core/systemd/systemd_225.bb | 4 +- .../wayland/weston/libsystemd.patch | 53 ++++++++++++++++++++++ meta/recipes-graphics/wayland/weston_1.8.0.bb | 7 ++- .../recipes-graphics/xorg-xserver/xserver-xorg.inc | 8 ++-- 4 files changed, 66 insertions(+), 6 deletions(-) create mode 100644 meta/recipes-graphics/wayland/weston/libsystemd.patch
Signature · 1 line
2.1.4
PATCH v2 1/7 systemd: add PACKAEGCONFIG to build with compatibility libraries
Systemd < 209 shipped separate pc files for various interfaces, these can still be generated for compatibility with code using the older interfaces.
Add a PACKAGECONFIG option to build systemd with the compatibility pc files.
FIX: systemd-compat
--- meta/recipes-core/systemd/systemd_225.bb | 1 + 1 file changed, 1 insertion(+)
meta/recipes-core/systemd/systemd_225.bb +1 -0
@@ -89,6 +89,7 @@ PACKAGECONFIG[ldconfig] = "--enable-ldconfig,--disable-ldconfig,," PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux" PACKAGECONFIG[valgrind] = "ac_cv_header_valgrind_memcheck_h=yes ac_cv_header_valgrind_valgrind_h=yes ,ac_cv_header_valgrind_memcheck_h=no ac_cv_header_valgrind_valgrind_h=no ,valgrind" PACKAGECONFIG[qrencode] = "--enable-qrencode,--disable-qrencode,qrencode" +PACKAGECONFIG[compat] = "--enable-compat-libs,--disable-compat-libs" CACHED_CONFIGUREVARS += "ac_cv_path_KILL=${base_bindir}/kill" CACHED_CONFIGUREVARS += "ac_cv_path_KMOD=${base_bindir}/kmod"
Signature · 1 line
2.1.4
PATCH v2 2/7 weston: backport support for single libsystemd.pc
In reply to Joshua Locksystemd > 209 ships only a single libsystemd pkg-config file by default, backport a patch from upstream Weston git to check this pkg-config file in addition to the old libsystemd-login.
--- .../wayland/weston/libsystemd.patch | 53 ++++++++++++++++++++++ meta/recipes-graphics/wayland/weston_1.8.0.bb | 1 + 2 files changed, 54 insertions(+) create mode 100644 meta/recipes-graphics/wayland/weston/libsystemd.patch
meta/recipes-graphics/wayland/weston/libsystemd.patch new file +53 -0
@@ -0,0 +1,53 @@ +From 5eb025a867b42f8bc7bc73279eac8de58e51a13e Mon Sep 17 00:00:00 2001 +From: Frederico Cadete <[email protected]> +Date: Mon, 28 Sep 2015 00:30:09 +0200 +Subject: configure.ac: add support for new versions of systemd + +Starting from systemd version 209, a single libsystemd.pc is provided. +For previous versions, fall back on libsystemd-login.pc. + +Signed-off-by: Frederico Cadete <[email protected]> +Reviewed-by: Bryce Harrington <[email protected]> +Reviewed-by: Derek Foreman <[email protected]> + +Upstream-Status: Backport +Backported from Weston git: +http://cgit.freedesktop.org/wayland/weston/commit/?id=5eb025 + +Signed-off-by: Joshua Lock <[email protected]> + +diff --git a/configure.ac b/configure.ac +index 045291c..a9cd429 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -380,14 +380,23 @@ AC_ARG_ENABLE(resize-optimization, + AS_IF([test "x$enable_resize_optimization" = "xyes"], + [AC_DEFINE([USE_RESIZE_POOL], [1], [Use resize memory pool as a performance optimization])]) + +-PKG_CHECK_MODULES(SYSTEMD_LOGIN, [libsystemd-login >= 198], +- [have_systemd_login=yes], [have_systemd_login=no]) ++PKG_CHECK_MODULES(SYSTEMD_LOGIN, ++ [libsystemd >= 209], ++ [have_systemd_login_209=yes;have_systemd_login=yes], ++ [have_systemd_login_209=no;have_systemd_login=no]) ++ ++# Older versions of systemd package systemd-login separately. Fall back on that ++AS_IF([test x$have_systemd_login != xyes],[ ++ PKG_CHECK_MODULES(SYSTEMD_LOGIN, ++ [libsystemd-login >= 198], ++ [have_systemd_login=yes], ++ [have_systemd_login=no]) ++ ]) ++ + AS_IF([test "x$have_systemd_login" = "xyes"], + [AC_DEFINE([HAVE_SYSTEMD_LOGIN], [1], [Have systemd-login])]) + AM_CONDITIONAL(HAVE_SYSTEMD_LOGIN, test "x$have_systemd_login" = "xyes") + +-PKG_CHECK_MODULES(SYSTEMD_LOGIN_209, [libsystemd-login >= 209], +- [have_systemd_login_209=yes], [have_systemd_login_209=no]) + AS_IF([test "x$have_systemd_login_209" = "xyes"], + [AC_DEFINE([HAVE_SYSTEMD_LOGIN_209], [1], [Have systemd-login >= 209])]) + +-- +cgit v0.10.2 +
meta/recipes-graphics/wayland/weston_1.8.0.bb +1 -0
@@ -12,6 +12,7 @@ SRC_URI = "http://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \ file://make-libwebp-explicitly-configurable.patch \ file://0001-make-error-portable.patch \ file://parallelmake.patch \ + file://libsystemd.patch \ " SRC_URI[md5sum] = "24cb8a7ed0535b4fc3642643988dab36" SRC_URI[sha256sum] = "8963e69f328e815cec42c58046c4af721476c7541bb7d9edc71740fada5ad312"
Signature · 1 line
2.1.4
PATCH v2 3/7 weston: add PACKAGECONFIG to build with systemd-login support
In reply to Joshua LockAutomatically enable this support for distributions which have systemd in DISTRO_FEATURES.
--- meta/recipes-graphics/wayland/weston_1.8.0.bb | 3 +++ 1 file changed, 3 insertions(+)
meta/recipes-graphics/wayland/weston_1.8.0.bb +3 -0
@@ -40,6 +40,7 @@ EXTRA_OECONF_append_qemux86-64 = "\ PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms fbdev wayland egl', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'launch', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \ " # # Compositor choices
@@ -68,6 +69,8 @@ PACKAGECONFIG[lcms] = "--enable-lcms,--disable-lcms,lcms" PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp" # Weston with unwinding support PACKAGECONFIG[libunwind] = "--enable-libunwind,--disable-libunwind,libunwind" +# Weston with systemd-login support +PACKAGECONFIG[systemd] = ",,systemd dbus" do_install_append() { # Weston doesn't need the .la files to load modules, so wipe them
Signature · 1 line
2.1.4
Re: [PATCH v2 3/7] weston: add PACKAGECONFIG to build with systemd-login support
meta/recipes-graphics/wayland/weston_1.8.0.bb PACKAGECONFIG[lcms] = "--enable-lcms,--disable-lcms,lcms" · line 73
Quoted 3 lines · Joshua Lock
meta/recipes-graphics/wayland/weston_1.8.0.bb +2
-0+# Weston with systemd-login support +PACKAGECONFIG[systemd] = ",,systemd dbus"
This means it is impossible to have a distro with systemd present but have the systemd feature disabled which isn't ideal. Adding configure options would be awesome.
Ross
Re: [PATCH v2 3/7] weston: add PACKAGECONFIG to build with systemd-login support
Quoted 11 lines · Ross
On 20 October 2015 at 10:47, Joshua Lock <[email protected] <mailto:[email protected]>> wrote:
+# Weston with systemd-login support
+PACKAGECONFIG[systemd] = ",,systemd dbus"This means it is impossible to have a distro with systemd present but have the systemd feature disabled which isn't ideal. Adding configure options would be awesome.
Indeed, I realised the same after I'd sent a patch. I'll submit a v3 series which includes a resolution for this issue (with another backported patch).
Regards,
Joshua
PATCH v2 4/7 systemd: make dbus an optional build time dependency
In reply to Joshua LockThe dbus buildtime dependency is only required in order to build dbus related tests in modern systemd, make this a PACKAGECONFIG option.
--- meta/recipes-core/systemd/systemd_225.bb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
meta/recipes-core/systemd/systemd_225.bb +2 -1
@@ -18,7 +18,7 @@ PROVIDES = "udev" PE = "1" -DEPENDS = "kmod docbook-sgml-dtd-4.1-native intltool-native gperf-native acl readline dbus libcap libcgroup qemu-native util-linux" +DEPENDS = "kmod docbook-sgml-dtd-4.1-native intltool-native gperf-native acl readline libcap libcgroup qemu-native util-linux" SECTION = "base/shell"
@@ -90,6 +90,7 @@ PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux" PACKAGECONFIG[valgrind] = "ac_cv_header_valgrind_memcheck_h=yes ac_cv_header_valgrind_valgrind_h=yes ,ac_cv_header_valgrind_memcheck_h=no ac_cv_header_valgrind_valgrind_h=no ,valgrind" PACKAGECONFIG[qrencode] = "--enable-qrencode,--disable-qrencode,qrencode" PACKAGECONFIG[compat] = "--enable-compat-libs,--disable-compat-libs" +PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus" CACHED_CONFIGUREVARS += "ac_cv_path_KILL=${base_bindir}/kill" CACHED_CONFIGUREVARS += "ac_cv_path_KMOD=${base_bindir}/kmod"
Signature · 1 line
2.1.4
Re: [PATCH v2 4/7] systemd: make dbus an optional build time dependency
Quoted 2 lines · Joshua Lock
+PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus"
This also disables the code by default which is a change from the previous behaviour, which needs to be documented at least. Also as they're for the test suite, should we enable dbus by default if ptest is enabled?
Ross
Re: [PATCH v2 4/7] systemd: make dbus an optional build time dependency
Quoted 11 lines · Ross
On 20 October 2015 at 10:47, Joshua Lock <[email protected] <mailto:[email protected]>> wrote:
+PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus"
This also disables the code by default which is a change from the previous behaviour, which needs to be documented at least. Also as they're for the test suite, should we enable dbus by default if ptest is enabled?
Indeed, I'll submit a v3 which mentions this in the commit message.
Selfishly I'd rather we didn't enable it by default where ptest is enabled.
We'd like to push changes to build d-bus with systemd support by default and to have dbus in the default DEPENDS would cause a dependency loop.
Of course if the feeling is that systemd with dbus tests in ptest is a more useful default than dbus with systemd support, I can submit that change.
Cheers,
Joshua
PATCH v2 5/7 weston: add a PACKAGECONFIG option for xwayland support
In reply to Joshua Lock--- meta/recipes-graphics/wayland/weston_1.8.0.bb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
meta/recipes-graphics/wayland/weston_1.8.0.bb +2 -1
@@ -23,7 +23,6 @@ DEPENDS = "libxkbcommon gdk-pixbuf pixman cairo glib-2.0 jpeg" DEPENDS += "wayland libinput virtual/egl pango" EXTRA_OECONF = "--enable-setuid-install \ - --disable-xwayland \ --enable-simple-clients \ --enable-clients \ --enable-demo-clients-install \
@@ -71,6 +70,8 @@ PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp" PACKAGECONFIG[libunwind] = "--enable-libunwind,--disable-libunwind,libunwind" # Weston with systemd-login support PACKAGECONFIG[systemd] = ",,systemd dbus" +# Weston with Xwayland support +PACKAGECONFIG[xwayland] = "--enable-xwayland,--disable-xwayland,libxcb libxcursor cairo" do_install_append() { # Weston doesn't need the .la files to load modules, so wipe them
Signature · 1 line
2.1.4
PATCH v2 6/7 xserver-xorg: add Xwayland RRECOMMENDS
In reply to Joshua LockXwayland has the same runtime dependencies as the standard xserver so set RRECOMMENDS the same way.
--- meta/recipes-graphics/xorg-xserver/xserver-xorg.inc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
meta/recipes-graphics/xorg-xserver/xserver-xorg.inc +3 -1
@@ -72,7 +72,9 @@ PACKAGES =+ "${PN}-security-policy \ SUMMARY_xf86-video-modesetting = "X.Org X server -- modesetting display driver" INSANE_SKIP_xf86-video-modesetting = "xorg-driver-abi" -RRECOMMENDS_${PN} += "${PN}-security-policy xkeyboard-config rgb xserver-xf86-config xkbcomp" +XSERVER_RRECOMMENDS = "${PN}-security-policy xkeyboard-config rgb xserver-xf86-config xkbcomp" +RRECOMMENDS_${PN} += "${XSERVER_RRECOMMENDS}" +RRECOMMENDS_${PN}-xwayland += "${XSERVER_RRECOMMENDS}" RDEPENDS_${PN}-xvfb += "xkeyboard-config" RDEPENDS_${PN}-module-exa = "${PN} (= ${EXTENDPKGV})"
Signature · 1 line
2.1.4
PATCH v2 7/7 xserver-xorg: drop empty ${PN}-security-policy package
In reply to Joshua LockThe SecurityPolicy hasn't been included since 2007[1] and the last remnants were removed from the code base in 2010[2].
1. http://cgit.freedesktop.org/xorg/xserver/commit/?id=9d03ca
2. http://cgit.freedesktop.org/xorg/xserver/commit/?id=19d03d
--- meta/recipes-graphics/xorg-xserver/xserver-xorg.inc | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)
meta/recipes-graphics/xorg-xserver/xserver-xorg.inc +2 -4
@@ -44,8 +44,7 @@ DEPENDS = "${PROTO_DEPS} ${LIB_DEPS} font-util" # libextmod.so # libdbe.so -PACKAGES =+ "${PN}-security-policy \ - ${PN}-sdl \ +PACKAGES =+ "${PN}-sdl \ ${PN}-fbdev \ ${PN}-xvfb \ ${PN}-utils \
@@ -72,7 +71,7 @@ PACKAGES =+ "${PN}-security-policy \ SUMMARY_xf86-video-modesetting = "X.Org X server -- modesetting display driver" INSANE_SKIP_xf86-video-modesetting = "xorg-driver-abi" -XSERVER_RRECOMMENDS = "${PN}-security-policy xkeyboard-config rgb xserver-xf86-config xkbcomp" +XSERVER_RRECOMMENDS = "xkeyboard-config rgb xserver-xf86-config xkbcomp" RRECOMMENDS_${PN} += "${XSERVER_RRECOMMENDS}" RRECOMMENDS_${PN}-xwayland += "${XSERVER_RRECOMMENDS}" RDEPENDS_${PN}-xvfb += "xkeyboard-config"
@@ -85,7 +84,6 @@ FILES_${PN}-dbg += "${libdir}/xorg/modules/.debug \ ${libdir}/xorg/modules/*/.debug \ ${libdir}/xorg/modules/*/*/.debug \ " -FILES_${PN}-security-policy += "${libdir}/xserver/SecurityPolicy" FILES_${PN}-sdl = "${bindir}/Xsdl" FILES_${PN}-fbdev = "${bindir}/Xfbdev" FILES_${PN}-xvfb = "${bindir}/Xvfb"
Signature · 1 line
2.1.4