Various metadata tweaks
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
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
@@ -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
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
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,
AndersQuoted 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"
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
Re: [PATCH 1/6] systemd: build with compatibility libraries
In reply to Joshua LockQuoted 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.
Signed-off-by Joshua Lock <[email protected]>---
meta/recipes-core/systemd/systemd_225.bb | 3 ++-1 file changed, 2 insertions(+), 1 deletion(-)meta/recipes-core/systemd/systemd_225.bb +0
-0@@ -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
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.
Signed-off-by Joshua Lock <[email protected]>---
meta/recipes-core/systemd/systemd_225.bb | 3 ++-1 file changed, 2 insertions(+), 1 deletion(-)meta/recipes-core/systemd/systemd_225.bb +0
-0@@ -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
PATCH 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.
--- 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
@@ -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
PATCH 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.
--- 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 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
@@ -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
PATCH 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 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=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
@@ -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