Skip to contentSkip to conversation

Various metadata tweaks v2

PATCH Superseded Joshua Lock 2 participants 12 messages Oct 20, 2015 – Oct 22, 2015

v2 of 4 Superseded Latest is v4 →

lore
Share & tools
lore
#0 lore raw

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
#1 lore raw

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
index c2dad58..9388046 100644
@@ -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
#2 lore raw

PATCH v2 2/7 weston: backport support for single libsystemd.pc

In reply to Joshua Lock

systemd > 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
new file mode 100644
index 0000000..2d28d56
@@ -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
index 342c604..a2b1c8c 100644
@@ -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
#3 lore raw

PATCH v2 3/7 weston: add PACKAGECONFIG to build with systemd-login support

In reply to Joshua Lock

Automatically 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
index a2b1c8c..4f1269f 100644
@@ -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
#4 lore raw

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

#5 lore raw

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

#6 lore raw

PATCH v2 4/7 systemd: make dbus an optional build time dependency

In reply to Joshua Lock

The 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
index 9388046..ac3e9b8 100644
@@ -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
#7 lore raw

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

#8 lore raw

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

#9 lore raw

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
index 4f1269f..db68ccc 100644
@@ -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
#10 lore raw

PATCH v2 6/7 xserver-xorg: add Xwayland RRECOMMENDS

In reply to Joshua Lock

Xwayland 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
index 9881c94..30b3485 100644
@@ -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
#11 lore raw

PATCH v2 7/7 xserver-xorg: drop empty ${PN}-security-policy package

In reply to Joshua Lock

The 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
index 30b3485..91df2b7 100644
@@ -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