classes/meta: Add DISTRO_FEATURES check for gtk+/gtk3+

If you currently do a DISTRO_FEATURES_remove = "x11" with OE-Core, you
see failures due to dependency problems. The work in resolving this was
partially completed a while back. This adds in the markup mainly for
gtk/gtk3+ recipes and means "bitbake world" will work successfully.

Rather than code the gtk/gtk+ specific distro features into each recipe,
a shared variable is used.

(From OE-Core rev: ef967c70182eeccb59c7511d838a7ecb0b2315c1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie 2015-09-28 11:53:35 +01:00
parent 5b629a962d
commit 5bfcd13c07
21 changed files with 57 additions and 12 deletions

View File

@ -47,3 +47,6 @@ DISTRO_VERSION ??= "nodistro.0"
# Missing checksums should raise an error
BB_STRICT_CHECKSUM = "1"
GTK2DISTROFEATURES = "directfb x11"
GTK3DISTROFEATURES = "x11 wayland"

View File

@ -6,7 +6,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1 \
require avahi.inc
inherit python-dir pythonnative
inherit python-dir pythonnative distro_features_check
ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
PACKAGECONFIG ??= "python"
PACKAGECONFIG[python] = "--enable-python,--disable-python,python-native python"

View File

@ -19,7 +19,8 @@ SRC_URI = "git://github.com/connectivity/connman-gnome.git \
S = "${WORKDIR}/git"
inherit autotools-brokensep gtk-icon-cache pkgconfig
inherit autotools-brokensep gtk-icon-cache pkgconfig distro_features_check
ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
RDEPENDS_${PN} = "connman"

View File

@ -26,7 +26,9 @@ S = "${WORKDIR}/${SRCNAME}-${PV}"
EXTRA_OECONF = "--disable-docs --with-python-includes=${STAGING_INCDIR}/../"
inherit autotools pkgconfig distutils-base
inherit autotools pkgconfig distutils-base distro_features_check
ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
do_configure_prepend() {
install -m 0644 ${WORKDIR}/acinclude.m4 ${S}/

View File

@ -5,7 +5,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
DEPENDS = "libsoup-2.4 webkitgtk gtk+3 iso-codes ca-certificates avahi libnotify gcr libwnck3 \
gsettings-desktop-schemas gnome-desktop3"
inherit gnomebase gsettings
inherit gnomebase gsettings distro_features_check
# libwnck3 is x11 only
REQUIRED_DISTRO_FEATURES = "x11"
SRC_URI += "file://0001-yelp.m4-drop-the-check-for-itstool.patch"
SRC_URI[archive.md5sum] = "3296af4532b8019775f4b40d21a341ae"
SRC_URI[archive.sha256sum] = "d527f1770779ec22d955aeb13b148a846a26144e433ff0480c981af80e2390b1"

View File

@ -12,6 +12,9 @@ SRC_URI[archive.sha256sum] = "3a8f196b46eb9dbd3ba2afb8fb5fef6a8825539d449a021813
DEPENDS += "gsettings-desktop-schemas gconf libxrandr virtual/libx11 gtk+3 glib-2.0 gnome-doc-utils gnome-common startup-notification iso-codes"
inherit distro_features_check
REQUIRED_DISTRO_FEATURES = "x11"
EXTRA_OECONF = "--disable-desktop-docs"
PACKAGES =+ "libgnome-desktop3"

View File

@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7"
SECTION = "libs"
inherit distro_features_check
ANY_OF_DISTRO_FEATURES = "directfb x11"
ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
X11DEPENDS = "virtual/libx11 libxext libxcursor libxrandr libxdamage libxrender libxcomposite"
DEPENDS = "glib-2.0 pango atk jpeg libpng gdk-pixbuf-native docbook-utils-native \

View File

@ -10,7 +10,8 @@ DEPENDS = "glib-2.0 cairo pango atk jpeg libpng gdk-pixbuf \
LICENSE = "LGPLv2 & LGPLv2+ & LGPLv2.1+"
inherit autotools pkgconfig gtk-doc update-alternatives gtk-immodules-cache gsettings
inherit autotools pkgconfig gtk-doc update-alternatives gtk-immodules-cache gsettings distro_features_check
ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
# This should be in autotools.bbclass, but until something elses uses it putting
# it here avoids rebuilding everything.

View File

@ -34,6 +34,9 @@ RDEPENDS_${PN}-dev = ""
inherit gnomebase
GNOME_COMPRESS_TYPE="bz2"
inherit distro_features_check
ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
python populate_packages_prepend() {
engines_root = os.path.join(d.getVar('libdir', True), "gtk-2.0/2.10.0/engines")
themes_root = os.path.join(d.getVar('datadir', True), "themes")

View File

@ -13,6 +13,9 @@ S = "${WORKDIR}/git/gtk-theme-torturer"
CFLAGS += "-Wl,-rpath-link,${STAGING_LIBDIR}"
inherit distro_features_check
ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
do_install() {
install -d ${D}${bindir}
install -m 0755 torturer ${D}${bindir}

View File

@ -11,7 +11,8 @@ SECTION = "libs"
PR = "r5"
DEPENDS = "zlib gdk-pixbuf gtk+"
inherit autotools pkgconfig gnomebase gtk-doc
inherit autotools pkgconfig gnomebase gtk-doc distro_features_check
ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
GNOME_COMPRESS_TYPE="bz2"
SRC_URI += "file://glade-cruft.patch file://no-xml2.patch file://python_environment.patch"

View File

@ -13,3 +13,8 @@ PACKAGECONFIG[startup-notification] = "--enable-startup-notification,--disable-s
inherit gnomebase
SRC_URI[archive.md5sum] = "4538672e0d775fadedf10abeb8020047"
SRC_URI[archive.sha256sum] = "f5080076346609b4c36394b879f3a86b92ced3b90a37cb54c8e9a14f00e7921c"
inherit distro_features_check
# libxres means x11 only
REQUIRED_DISTRO_FEATURES = "x11"

View File

@ -23,6 +23,9 @@ S = "${WORKDIR}/${XORG_PN}-${PV}"
inherit autotools pkgconfig
inherit distro_features_check
REQUIRED_DISTRO_FEATURES = "x11"
PROTO_DEPS = "randrproto renderproto fixesproto damageproto xextproto xproto xf86dgaproto xf86miscproto xf86vidmodeproto compositeproto recordproto resourceproto videoproto scrnsaverproto xineramaproto fontsproto kbproto inputproto bigreqsproto xcmiscproto presentproto"
LIB_DEPS = "pixman libxfont xtrans libxau libxext libxdmcp libdrm libxkbfile libpciaccess openssl libgcrypt"
DEPENDS = "${PROTO_DEPS} ${LIB_DEPS} font-util"

View File

@ -2,6 +2,9 @@ require oprofileui.inc
DEPENDS += "gtk+ libglade libxml2 avahi-ui gconf"
inherit distro_features_check
ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
SRCREV = "389e1875af4721d52c7e65cf9cfffb69b0ed6a59"
PV = "0.0+git${SRCPV}"

View File

@ -19,7 +19,8 @@ SRC_URI_append_mips64n32 = " file://rmb-mips.patch"
S = "${WORKDIR}/git"
inherit autotools pkgconfig
inherit autotools pkgconfig distro_features_check
ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
# We do not yet work for aarch64.
#

View File

@ -9,6 +9,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
DEPENDS = "gtk+ libxml2"
RDEPENDS_${PN} = "trace-cmd"
inherit distro_features_check
ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
EXTRA_OEMAKE = "\
'prefix=${prefix}' \
'bindir_relative=${@oe.path.relative(prefix, bindir)}' \

View File

@ -16,7 +16,9 @@ SRCREV = "5386c5b984d40ef5434673ed62204e69aaf52645"
S = "${WORKDIR}/git"
inherit autotools gtk-doc lib_package pkgconfig
inherit autotools gtk-doc lib_package pkgconfig distro_features_check
ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
do_configure_prepend() {
touch ${S}/ChangeLog

View File

@ -8,6 +8,9 @@ SECTION = "x11/base"
DEPENDS = "gtk+"
RDEPENDS_gtk-theme-sato = "gtk-sato-engine"
inherit distro_features_check
ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
PACKAGES += "gtk-theme-sato"
FILES_${PN} = "${libdir}/gtk-2.0/*/engines/*.so "
FILES_${PN}-dev = "${libdir}/gtk-2.0/*/engines/*.la"

View File

@ -15,4 +15,6 @@ SRC_URI = "git://git.yoctoproject.org/${BPN}"
S = "${WORKDIR}/git"
inherit autotools pkgconfig
inherit autotools pkgconfig distro_features_check
ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"

View File

@ -18,7 +18,8 @@ SRC_URI[sha256sum] = "c692f1624a4cbc8d1dd55f3b3f3369fbf5d26f63a916e2c295230b2344
PR = "r1"
inherit autotools pkgconfig gtk-doc
inherit autotools pkgconfig gtk-doc distro_features_check
ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
do_configure[dirs] =+ "${S}/m4"

View File

@ -4,7 +4,8 @@ LICENSE = "LGPLv2.0"
DEPENDS = " glib-2.0 gtk+ intltool-native ncurses gobject-introspection-stub"
RDEPENDS_libvte = "vte-termcap"
inherit gnome gtk-doc
inherit gnome gtk-doc distro_features_check
ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
EXTRA_OECONF = "--disable-python --disable-introspection"