Various metadata tweaks v4
v4 cover Various metadata tweaks v4
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 v3:
* Only submit the 6 patches I created, sorry about the spam
Changes since v2:
* Backport weston patch to make enabling/disabling of systemd-login explicit
* Mention the change in default behaviour regarding systemds dbus-related tests
Regards,
Joshua
The following changes since commit 73f8a0bf3b99d480bf97e266da0fb048714b4caf:
build-appliance-image: Update to jethro head revision (2015-10-21 23:13:03 +0100)
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 (6):
systemd: add PACKAGECONFIG to build with compatibility libraries
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 +- .../weston/explicit-enable-disable-systemd.patch | 70 ++++++++++++++++++++++ .../wayland/weston/libsystemd.patch | 53 ++++++++++++++++ meta/recipes-graphics/wayland/weston_1.8.0.bb | 8 ++- .../recipes-graphics/xorg-xserver/xserver-xorg.inc | 8 +-- 5 files changed, 137 insertions(+), 6 deletions(-) create mode 100644 meta/recipes-graphics/wayland/weston/explicit-enable-disable-systemd.patch create mode 100644 meta/recipes-graphics/wayland/weston/libsystemd.patch
Signature · 1 line
2.1.4
PATCH v4 1/6 systemd: add PACKAGECONFIG 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 v4 2/6 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.
We add additional patches to weston, backported from Weston git, to support the newer single libsystemd pkg-config file and to make the enabling of systemd-login support explicit.
--- .../weston/explicit-enable-disable-systemd.patch | 70 ++++++++++++++++++++++ .../wayland/weston/libsystemd.patch | 53 ++++++++++++++++ meta/recipes-graphics/wayland/weston_1.8.0.bb | 5 ++ 3 files changed, 128 insertions(+) create mode 100644 meta/recipes-graphics/wayland/weston/explicit-enable-disable-systemd.patch create mode 100644 meta/recipes-graphics/wayland/weston/libsystemd.patch
meta/recipes-graphics/wayland/weston/explicit-enable-disable-systemd.patch new file +70 -0
@@ -0,0 +1,70 @@ +From 8e1efcd40b3bad81c83744e2e120d70c2b567ef2 Mon Sep 17 00:00:00 2001 +From: Frederico Cadete <[email protected]> +Date: Mon, 28 Sep 2015 00:30:10 +0200 +Subject: configure.ac: add explicit enable/disable for systemd-login support + +Otherwise, auto-enable depending on whether the system has the necessary +libraries. + +[Updated help text as per pq suggestion -- bwh] + +Reviewed-by: Bryce Harrington <[email protected]> +Reviewed-by: Pekka Paalanen <[email protected]> +Tested-by: Pekka Paalanen <[email protected]> + +Upstream-Status: Backport +Backported from Weston git: +http://cgit.freedesktop.org/wayland/weston/commit/?id=8e1efc + +Signed-off-by: Joshua Lock <[email protected]> + +diff --git a/configure.ac b/configure.ac +index a9cd429..67e80d0 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -380,18 +380,30 @@ 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 >= 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]) +- ]) ++AC_ARG_ENABLE(systemd-login, ++ AS_HELP_STRING([--enable-systemd-login], ++ [Enable logind support]),, ++ enable_systemd_login=auto) ++if test x$enable_systemd_login != xno; then ++ 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]) ++ ]) ++else ++ have_systemd_login=no ++fi ++ ++if test "x$have_systemd_login" = "xno" -a "x$enable_systemd_login" = "xyes"; then ++ AC_MSG_ERROR([systemd-login support explicitly enabled, but can't find libsystemd>=209 or libsystemd-login]) ++fi + + AS_IF([test "x$have_systemd_login" = "xyes"], + [AC_DEFINE([HAVE_SYSTEMD_LOGIN], [1], [Have systemd-login])]) +-- +cgit v0.10.2 +
meta/recipes-graphics/wayland/weston/libsystemd.patch new file +53 -0
53 lines not on this page · raw message
meta/recipes-graphics/wayland/weston_1.8.0.bb +5 -0
@@ -12,6 +12,8 @@ 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 \ + file://explicit-enable-disable-systemd.patch \ " SRC_URI[md5sum] = "24cb8a7ed0535b4fc3642643988dab36" SRC_URI[sha256sum] = "8963e69f328e815cec42c58046c4af721476c7541bb7d9edc71740fada5ad312"
@@ -39,6 +41,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
@@ -67,6 +70,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] = "--enable-systemd-login,--disable-systemd-login,systemd dbus" do_install_append() { # Weston doesn't need the .la files to load modules, so wipe them
Signature · 1 line
2.1.4
PATCH v4 3/6 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.
This changes the default behaviour to no longer build dbus related tests without explicitly enabling the PACKAGECONFIG.
--- 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
PATCH v4 4/6 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
@@ -24,7 +24,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 \
@@ -72,6 +71,8 @@ PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp" PACKAGECONFIG[libunwind] = "--enable-libunwind,--disable-libunwind,libunwind" # Weston with systemd-login support PACKAGECONFIG[systemd] = "--enable-systemd-login,--disable-systemd-login,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 v4 5/6 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 v4 6/6 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