Skip to contentSkip to conversation

Various metadata tweaks

PATCH Superseded Joshua Lock 3 participants 12 messages Oct 16, 2015 – Oct 20, 2015

v1 of 4 Superseded Latest is v4 →

lore
Share & tools
lore
#0 lore raw

cover Various metadata tweaks

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.

Regards,

Joshua

The following changes since commit 10e5df3503632a6e1c54612055b19f7258c3ae2f:

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 (6):
systemd: 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            | 6 ++++--
 meta/recipes-graphics/wayland/weston_1.8.0.bb       | 6 +++++-
 meta/recipes-graphics/xorg-xserver/xserver-xorg.inc | 8 ++++----
 3 files changed, 13 insertions(+), 7 deletions(-)
Signature · 1 line
2.1.4
#1 lore raw

PATCH 1/6 systemd: build with compatibility libraries

There are recipes in the Core metadata that have optional systemd support but expect the old, separate, libsystemd-foo pkg-config files (not the newer unified libsystemd).

Add a PACKAGECONFIG option to build systemd with the compatibility pc files and default to enabling this option so that we can make use of them in the weston recipe.

---
 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 c2dad58..594c5aa 100644
@@ -58,7 +58,7 @@ LDFLAGS_append_libc-uclibc = " -lrt"
 
 GTKDOC_DOCDIR = "${S}/docs/"
 
-PACKAGECONFIG ??= "xz ldconfig \
+PACKAGECONFIG ??= "xz ldconfig compat \
                    ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \
                    ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xkbcommon', '', d)} \
                    ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)} \
@@ -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

Re: [PATCH 1/6] systemd: build with compatibility libraries

Quoted 3 lines · Joshua Lock

There are recipes in the Core metadata that have optional systemd support but expect the old, separate, libsystemd-foo pkg-config files (not the newer unified libsystemd).

Any size impact? Just wondering as you're changing the default. (Assuming that it was off by default previously?)

Cheers,
Anders

Quoted 13 lines
meta/recipes-core/systemd/systemd_225.bb +2 -1
-PACKAGECONFIG ??= "xz ldconfig \
+PACKAGECONFIG ??= "xz ldconfig compat \
                    ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \
                    ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xkbcommon', '', d)} \
                    ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)} \
@@ -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 · 2 lines
Anders Darander
ChargeStorm AB / eStorm AB
#3 lore raw

Re: [PATCH 1/6] systemd: build with compatibility libraries

Quoted 8 lines · Anders Darander
Quoted 3 lines · Joshua Lock

There are recipes in the Core metadata that have optional systemd support but expect the old, separate, libsystemd-foo pkg-config files (not the newer unified libsystemd).

Any size impact? Just wondering as you're changing the default. (Assuming that it was off by default previously?)

The compat-libs (libsystemd-daemon libsystemd-login libsystemd-journal libsystemd-id128) are packaged separately, so you only see an increase in image size if something pulls them in to your image.

The -dev, -dbg and -ptest package sizes all increase slightly:

joshuagl@owlbear:/srv/build/systemd-size$ buildhistory-diff -a | grep PKGSIZE
packages/i586-poky-linux/systemd/systemd-dbg: PKGSIZE changed from 54364265 to 55148696 (+1%)
packages/i586-poky-linux/systemd/systemd-dev: PKGSIZE changed from 98921 to 105487 (+6%)
packages/i586-poky-linux/systemd/systemd-ptest: PKGSIZE changed from 3156181 to 3156103 (0%)

Regards,

Joshua

Quoted 18 lines

Cheers,
Anders

Quoted 13 lines
meta/recipes-core/systemd/systemd_225.bb +2 -1
-PACKAGECONFIG ??= "xz ldconfig \
+PACKAGECONFIG ??= "xz ldconfig compat \
                     ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \
                     ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xkbcommon', '', d)} \
                     ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)} \
@@ -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"
#4 lore raw

Re: [PATCH 1/6] systemd: build with compatibility libraries

Quoted 7 lines · Joshua Lock
Quoted 5 lines · Anders Darander
Quoted 3 lines · Joshua Lock

There are recipes in the Core metadata that have optional systemd support but expect the old, separate, libsystemd-foo pkg-config files (not the newer unified libsystemd).

Quoted 6 lines
Quoted 2 lines

Any size impact? Just wondering as you're changing the default. (Assuming that it was off by default previously?)

The compat-libs (libsystemd-daemon libsystemd-login libsystemd-journal libsystemd-id128) are packaged separately, so you only see an increase in image size if something pulls them in to your image.

Thanks!

Quoted 1 line

The -dev, -dbg and -ptest package sizes all increase slightly:

Ok. I'm personally less worried about those.

Cheers,
Anders

Signature · 2 lines
Anders Darander
ChargeStorm AB / eStorm AB
#5 lore raw

Re: [PATCH 1/6] systemd: build with compatibility libraries

In reply to Joshua Lock
Quoted 30 lines · Joshua Lock

There are recipes in the Core metadata that have optional systemd support but expect the old, separate, libsystemd-foo pkg-config files (not the newer unified libsystemd).

Add a PACKAGECONFIG option to build systemd with the compatibility pc files and default to enabling this option so that we can make use of them in the weston recipe.

---
meta/recipes-core/systemd/systemd_225.bb | 3 ++-

1 file changed, 2 insertions(+), 1 deletion(-)
meta/recipes-core/systemd/systemd_225.bb +0 -0
index c2dad58..594c5aa 100644
@@ -58,7 +58,7 @@ LDFLAGS_append_libc-uclibc = " -lrt"
 

GTKDOC_DOCDIR = "${S}/docs/"

meta/recipes-core/systemd/systemd_225.bb +1 -1
-PACKAGECONFIG ??= "xz ldconfig \
+PACKAGECONFIG ??= "xz ldconfig compat \
                   ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \
                   ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xkbcommon', '', d)} \
                   ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)} \
@@ -89,6 +89,7 @@ PACKAGECONFIG[ldconfig] = "--enable-ldconfig,--disable-ldconfig,,"
Quoted 4 lines

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”

I would rather expect this to not be there in first place, if its needed for some, then lets not enable it by default what would it take to fix weston ?

Quoted 11 lines

CACHED_CONFIGUREVARS += "ac_cv_path_KILL=${base_bindir}/kill" CACHED_CONFIGUREVARS += "ac_cv_path_KMOD=${base_bindir}/kmod" --
2.1.4

--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

#6 lore raw

Re: [PATCH 1/6] systemd: build with compatibility libraries

Quoted 24 lines · Khem Raj
Quoted 24 lines · Joshua Lock

There are recipes in the Core metadata that have optional systemd support but expect the old, separate, libsystemd-foo pkg-config files (not the newer unified libsystemd).

Add a PACKAGECONFIG option to build systemd with the compatibility pc files and default to enabling this option so that we can make use of them in the weston recipe.

---
meta/recipes-core/systemd/systemd_225.bb | 3 ++-

1 file changed, 2 insertions(+), 1 deletion(-)
meta/recipes-core/systemd/systemd_225.bb +0 -0
index c2dad58..594c5aa 100644
@@ -58,7 +58,7 @@ LDFLAGS_append_libc-uclibc = " -lrt"
 

GTKDOC_DOCDIR = "${S}/docs/"

Quoted 13 lines
Quoted 10 lines
meta/recipes-core/systemd/systemd_225.bb +1 -1
-PACKAGECONFIG ??= "xz ldconfig \
+PACKAGECONFIG ??= "xz ldconfig compat \
                    ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \
                    ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xkbcommon', '', d)} \
                    ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)} \
@@ -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”

I would rather expect this to not be there in first place, if its needed for some, then lets not enable it by default what would it take to fix weston ?

Very little effort, it seems - the backport for Weston is trivial.

I'll prepare a v2 series where this PACKAGECONFIG is added but not enabled by default and add an extra change to backport the weston configure.ac update for the new libsystemd pkg-config.

Regards,

Joshua

#7 lore raw

PATCH 2/6 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 342c604..9e057c5 100644
@@ -39,6 +39,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 +68,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
#8 lore raw

PATCH 3/6 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 594c5aa..74a93a4 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
#9 lore raw

PATCH 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
index 9e057c5..7829c53 100644
@@ -22,7 +22,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 \
@@ -70,6 +69,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 5/6 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 6/6 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=9d03cad1446c27b397c198cf6247e71e46bc9e6d
2. http://cgit.freedesktop.org/xorg/xserver/commit/?id=19d03d4f49e08442f58cf02240e3e6bab04633d2

---
 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