[OE-core] [PATCH 00/27] replace freedesktop.org pkg-config with pkgconf
Maxin B. John
maxin.john at intel.com
Mon Feb 19 08:36:51 UTC 2018
Reasons behind this patch set:
1. pkgconf is actively maintained
2. pkgconf has better cross-compiling support (According to the author of
pkgconf, it was created as he got tired of patching .pc files to add ${pc_sysrootdir})
3. oe-core can drop a number of work-around patches that deals with pkg-config
pkgconf and freedesktop.org pkg-config intentionally have different behaviour
for cross-compile. So, when we use paths relative to inside the sysroot for
installation, pkgconf could break build.
example scenario where pkgconf could break build:
UDEVDIR := $(shell $(PKG_CONFIG) --variable=udevdir udev 2>/dev/null)
$(INSTALL) -D -m 644 test.rules $(DESTDIR)$(UDEVDIR)/rules.d/test.rules
here, freedesktop.org pkg-config, UDEVDIR can be:
"/usr/lib/udev"
For pkgconf, UDEVDIR can be:
"<path-to-build-dir>/tmp/work/i586-poky-linux/bluez5/5.48-r0/recipe-sysroot/lib/udev"
The right thing (TM) to do in this situation is to provide a
configuration option to override those paths. Otherwise, we can
prepend "unset PKG_CONFIG_SYSROOT_DIR" or "PKG_CONFIG_SYSROOT_DIR='/'"
to get the relative path.
We could move the freedesktop.org pkg-config recipe to meta-oe.
[YOCTO #11308]
Maxin B. John (27):
pkgconf: upgrade to version 1.4.2
default-providers.inc: set pkgconf as default pkg-config provider
pkgconfig: remove from oe-core
webkitgtk: remove PKG_CONFIG_SYSROOT_DIR work-around
gstreamer1.0: remove PKG_CONFIG_SYSROOT_DIR work-around
gstreamer1.0-plugins-base: remove PKG_CONFIG_SYSROOT_DIR work-around
libxcb: remove PKG_CONFIG_SYSROOT_DIR work-around
meson: remove PKG_CONFIG_SYSROOT_DIR work-around
libdnf: remove PKG_CONFIG_SYSROOT_DIR work-around
vala: remove PKG_CONFIG_SYSROOT_DIR work-around
gobject-introspection: remove PKG_CONFIG_SYSROOT_DIR work-around
kmod: define bashcompletiondir
util-linux: define bashcompletiondir
systemd: define bashcompletiondir
libinput: fix udev path for pkgconf
pulseaudio: fix udev path for pkgconf
alsa-utils: fix udev path for pkgconf
ofono: specify dbusconfdir
connman: specify dbusconfdir
bluez5: specify udev, dbus and systemd configurations
xf86-input-synaptics: fix installation paths
xf86-input-mouse: fix header-file installation path
xf86-input-libinput: fix header-file installation path
xf86-input-evdev: fix header-file installation path
glib-networking: unset PKG_CONFIG_SYSROOT_DIR for relative path
btrfs-tools: unset PKG_CONFIG_SYSROOT_DIR for relative path
librsvg: unset PKG_CONFIG_SYSROOT_DIR for relative path
meta/conf/distro/include/default-providers.inc | 6 +-
meta/recipes-connectivity/bluez5/bluez5.inc | 8 +-
meta/recipes-connectivity/connman/connman.inc | 1 +
meta/recipes-connectivity/ofono/ofono.inc | 2 +-
...c-unset-PKG_CONFIG_SYSROOT_DIR-for-relati.patch | 31 +++
.../glib-networking/glib-networking_2.54.1.bb | 2 +
meta/recipes-core/systemd/systemd_234.bb | 1 +
meta/recipes-core/util-linux/util-linux.inc | 1 +
...c-unset-PKG_CONFIG_SYSROOT_DIR-for-relati.patch | 31 +++
.../btrfs-tools/btrfs-tools_4.13.3.bb | 1 +
...-sysroot-path-to-introspection-tools-path.patch | 36 ---
meta/recipes-devtools/libdnf/libdnf_0.11.1.bb | 1 -
...rospection-determine-g-ir-scanner-and-g-i.patch | 4 +-
.../pkgconf/pkgconf/pkg-config-esdk.in | 4 +-
.../pkgconf/pkgconf/pkg-config-native.in | 1 -
.../pkgconf/pkgconf/pkg-config-wrapper | 9 -
.../pkgconf/{pkgconf_1.4.0.bb => pkgconf_1.4.2.bb} | 4 +-
...t.m4-Update-AM_GLIB_GNU_GETTEXT-to-match-.patch | 41 ---
.../fix-glib-configure-libtool-usage.patch | 45 ----
.../pkgconfig/pkgconfig/pkg-config-esdk.in | 24 --
.../pkgconfig/pkgconfig/pkg-config-native.in | 7 -
meta/recipes-devtools/pkgconfig/pkgconfig_git.bb | 73 -----
...001-vapigen.m4-use-PKG_CONFIG_SYSROOT_DIR.patch | 38 ---
meta/recipes-devtools/vala/vala_0.38.6.bb | 1 -
...config-paths-with-PKG_CONFIG_SYSROOT_DIR-.patch | 96 -------
.../gobject-introspection_1.54.1.bb | 1 -
.../0001-configure.ac-fix-build-with-pkgconf.patch | 32 +++
meta/recipes-gnome/librsvg/librsvg_2.40.20.bb | 4 +-
meta/recipes-graphics/wayland/libinput_1.9.4.bb | 2 +-
.../xorg-driver/xf86-input-evdev_2.10.5.bb | 1 +
.../xorg-driver/xf86-input-libinput_0.26.0.bb | 2 +
.../xorg-driver/xf86-input-mouse_1.9.2.bb | 2 +
.../xorg-driver/xf86-input-synaptics_1.9.0.bb | 2 +
.../xorg-lib/libxcb/xcbincludedir.patch | 28 --
meta/recipes-graphics/xorg-lib/libxcb_1.12.bb | 1 -
meta/recipes-kernel/kmod/kmod_git.bb | 2 +
meta/recipes-multimedia/alsa/alsa-utils_1.1.5.bb | 5 +-
...on.m4-prefix-pkgconfig-paths-with-PKG_CON.patch | 42 ---
.../gstreamer/gstreamer1.0-plugins-bad_1.12.4.bb | 1 -
.../gstreamer/gstreamer1.0-plugins-base.inc | 1 -
...-prefix-calls-to-pkg-config-with-PKG_CONF.patch | 298 ---------------------
.../gstreamer/gstreamer1.0-plugins-base_1.12.4.bb | 1 -
.../gstreamer/gstreamer1.0-plugins-good_1.12.4.bb | 1 -
.../gstreamer/gstreamer1.0-plugins-ugly_1.12.4.bb | 1 -
.../gstreamer/gstreamer1.0-rtsp-server.inc | 1 -
meta/recipes-multimedia/gstreamer/gstreamer1.0.inc | 1 -
meta/recipes-multimedia/pulseaudio/pulseaudio.inc | 2 +-
...Introspection.cmake-prefix-variables-obta.patch | 27 --
meta/recipes-sato/webkit/webkitgtk_2.18.6.bb | 1 -
49 files changed, 132 insertions(+), 795 deletions(-)
create mode 100644 meta/recipes-core/glib-networking/glib-networking/0001-configure.ac-unset-PKG_CONFIG_SYSROOT_DIR-for-relati.patch
create mode 100644 meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-configure.ac-unset-PKG_CONFIG_SYSROOT_DIR-for-relati.patch
delete mode 100644 meta/recipes-devtools/libdnf/libdnf/0002-Prefix-sysroot-path-to-introspection-tools-path.patch
rename meta/recipes-devtools/pkgconf/{pkgconf_1.4.0.bb => pkgconf_1.4.2.bb} (95%)
delete mode 100644 meta/recipes-devtools/pkgconfig/pkgconfig/0001-glib-gettext.m4-Update-AM_GLIB_GNU_GETTEXT-to-match-.patch
delete mode 100644 meta/recipes-devtools/pkgconfig/pkgconfig/fix-glib-configure-libtool-usage.patch
delete mode 100644 meta/recipes-devtools/pkgconfig/pkgconfig/pkg-config-esdk.in
delete mode 100644 meta/recipes-devtools/pkgconfig/pkgconfig/pkg-config-native.in
delete mode 100644 meta/recipes-devtools/pkgconfig/pkgconfig_git.bb
delete mode 100644 meta/recipes-devtools/vala/vala/0001-vapigen.m4-use-PKG_CONFIG_SYSROOT_DIR.patch
delete mode 100644 meta/recipes-gnome/gobject-introspection/gobject-introspection/0005-Prefix-pkg-config-paths-with-PKG_CONFIG_SYSROOT_DIR-.patch
create mode 100644 meta/recipes-gnome/librsvg/librsvg/0001-configure.ac-fix-build-with-pkgconf.patch
delete mode 100644 meta/recipes-graphics/xorg-lib/libxcb/xcbincludedir.patch
delete mode 100644 meta/recipes-multimedia/gstreamer/files/0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch
delete mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-Makefile.am-prefix-calls-to-pkg-config-with-PKG_CONF.patch
delete mode 100644 meta/recipes-sato/webkit/webkitgtk/0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch
--
2.4.0
More information about the Openembedded-core
mailing list