--- /dev/null
+# This class ensures that the upstream version check only
+# accepts even minor versions (i.e. 3.0.x, 3.2.x, 3.4.x, etc.)
+# This scheme is used by Gnome and a number of other projects
+# to signify stable releases vs development releases.
+UPSTREAM_CHECK_REGEX = "(?P<pver>\d+\.(\d*[02468])+(\.\d+)+)"
# Blacklist debian-specific tags
GITTAGREGEX_pn-xf86-video-omapfb = "(?P<pver>\d+(\.\d+)+)(?!-)"
-# GNOME related.
-#
-# GNOME2_STABLE picks stable releases in the 2.x series (so not 2.90 onwards,
-# which were GNOME 3 betas.
-#
-# GNOME_STABLE picks the latest stable release.
-
-GNOME2_STABLE = "(?P<pver>2\.([0-8]*[02468])+(\.\d+)+)"
-GNOME_STABLE = "(?P<pver>\d+\.(\d*[02468])+(\.\d+)+)"
-
-REGEX_pn-glib-2.0 = "${GNOME_STABLE}"
-REGEX_pn-atk = "${GNOME_STABLE}"
-REGEX_pn-at-spi2-core = "${GNOME_STABLE}"
-REGEX_pn-at-spi2-atk = "${GNOME_STABLE}"
-REGEX_pn-gdk-pixbuf = "${GNOME_STABLE}"
-REGEX_pn-pango = "${GNOME_STABLE}"
-REGEX_pn-gtk+ = "${GNOME2_STABLE}"
-REGEX_pn-gtk+3 = "${GNOME_STABLE}"
-REGEX_pn-gtk-engines = "${GNOME2_STABLE}"
-REGEX_pn-gtk-icon-utils-native = "${GNOME2_STABLE}"
-REGEX_pn-glib-networking = "${GNOME_STABLE}"
-REGEX_pn-librsvg = "${GNOME_STABLE}"
-REGEX_pn-libsoup-2.4 = "${GNOME_STABLE}"
-REGEX_pn-vala = "${GNOME_STABLE}"
-REGEX_pn-clutter-1.0 = "${GNOME_STABLE}"
-REGEX_pn-clutter-gtk-1.0 = "${GNOME_STABLE}"
-REGEX_pn-clutter-gst-3.0 = "${GNOME_STABLE}"
-REGEX_pn-cogl-1.0 = "${GNOME_STABLE}"
-REGEX_pn-adwaita-icon-theme = "${GNOME_STABLE}"
-REGEX_pn-vte = "${GNOME_STABLE}"
-REGEX_pn-epiphany = "${GNOME_STABLE}"
-REGEX_pn-webkitgtk = "${GNOME_STABLE}"
-REGEX_pn-p11-kit = "${GNOME_STABLE}"
-REGEX_pn-gnome-desktop3 = "${GNOME_STABLE}"
-
-# not GNOME related but uses same even-minor-release-is-stable logic
-REGEX_pn-dbus = "${GNOME_STABLE}"
-REGEX_pn-dbus-test = "${GNOME_STABLE}"
-
-# same logic applies to gstreamer releases
-REGEX_pn-gstreamer1.0 = "${GNOME_STABLE}"
-REGEX_pn-gstreamer1.0-libav = "${GNOME_STABLE}"
-REGEX_pn-gstreamer1.0-plugins-bad = "${GNOME_STABLE}"
-REGEX_pn-gstreamer1.0-plugins-base = "${GNOME_STABLE}"
-REGEX_pn-gstreamer1.0-plugins-good = "${GNOME_STABLE}"
-REGEX_pn-gstreamer1.0-plugins-ugly = "${GNOME_STABLE}"
-REGEX_pn-gstreamer1.0-rtsp-server = "${GNOME_STABLE}"
-
-# and perl
-REGEX_pn-perl = "${GNOME_STABLE}"
-
# Keep old gcc versions at their major versions
REGEX_pn-gcc-source-4.9.3 = "gcc-(?P<pver>4\.9\.\d+).tar"
REGEX_pn-gcc-source-4.8.4 = "gcc-(?P<pver>4\.8\.\d+).tar"
S="${WORKDIR}/dbus-${PV}"
FILESEXTRAPATHS =. "${FILE_DIRNAME}/dbus:"
-inherit autotools pkgconfig gettext ptest
+inherit autotools pkgconfig gettext ptest upstream-version-is-even
EXTRA_OECONF_X = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '--with-x', '--without-x', d)}"
EXTRA_OECONF_X_class-native = "--without-x"
SRC_URI[md5sum] = "b49890bbabedab3a1c3f4f73c7ff8b2b"
SRC_URI[sha256sum] = "5c4fbf4c64621c96e871da91d2b729a5b00536e116d3c4612a469d924b1b703a"
-inherit useradd autotools pkgconfig gettext update-rc.d
+inherit useradd autotools pkgconfig gettext update-rc.d upstream-version-is-even
INITSCRIPT_NAME = "dbus-1"
INITSCRIPT_PARAMS = "start 02 5 3 2 . stop 20 0 1 6 ."
LEAD_SONAME = "libglib-2.0.*"
FILES_${PN}-utils = "${bindir}/* ${datadir}/glib-2.0/gettext"
-inherit autotools gettext gtk-doc pkgconfig ptest-gnome
+inherit autotools gettext gtk-doc pkgconfig ptest-gnome upstream-version-is-even
S = "${WORKDIR}/glib-${PV}"
EXTRA_OECONF = "--without-gnome-proxy"
-inherit gnomebase gettext
+inherit gnomebase gettext upstream-version-is-even
FILES_${PN} += "${libdir}/gio/modules/libgio*.so ${datadir}/dbus-1/services/"
FILES_${PN}-dbg += "${libdir}/gio/modules/.debug/"
file://Artistic;md5=2e6fd2475335af892494fe1f7327baf3"
SRC_URI = "http://www.cpan.org/src/5.0/${BP}.tar.xz"
+
+inherit upstream-version-is-even
SHRT_VER = "${@d.getVar('PV',1).split('.')[0]}.${@d.getVar('PV',1).split('.')[1]}"
SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/${BPN}/${SHRT_VER}/${BP}.tar.xz"
-inherit autotools pkgconfig
+inherit autotools pkgconfig upstream-version-is-even
FILES_${PN} += "${datadir}/${BPN}-${SHRT_VER}/vapi ${libdir}/${BPN}-${SHRT_VER}/"
FILES_${PN}-doc += "${datadir}/devhelp"
DEPENDS = "libsoup-2.4 webkitgtk gtk+3 iso-codes ca-certificates avahi libnotify gcr libwnck3 \
gsettings-desktop-schemas gnome-desktop3"
-inherit gnomebase gsettings distro_features_check
+inherit gnomebase gsettings distro_features_check upstream-version-is-even
# libwnck3 is x11 only
REQUIRED_DISTRO_FEATURES = "x11"
SRC_URI[md5sum] = "b1590189a2e89fab9f871959c168508c"
SRC_URI[sha256sum] = "4432b74f25538c7d6bcb3ca51adabdd666168955f25812a2568dc9637697f3bc"
-inherit autotools pkgconfig gettext pixbufcache ptest-gnome
+inherit autotools pkgconfig gettext pixbufcache ptest-gnome upstream-version-is-even
LIBV = "2.10.0"
BPN = "gnome-desktop"
-inherit gnome pkgconfig
+inherit gnome pkgconfig upstream-version-is-even
SRC_URI[archive.md5sum] = "ab5bf4cc94ad63639f42adcc1542b1f0"
SRC_URI[archive.sha256sum] = "3a8f196b46eb9dbd3ba2afb8fb5fef6a8825539d449a02181311242e22227bd0"
LICENSE = "LGPL-3.0 | CC-BY-SA-3.0"
LIC_FILES_CHKSUM = "file://COPYING;md5=c84cac88e46fc07647ea07e6c24eeb7c"
-inherit allarch autotools pkgconfig gettext gtk-icon-cache
+inherit allarch autotools pkgconfig gettext gtk-icon-cache upstream-version-is-even
DEPENDS += "intltool-native"
inherit distro_features_check
ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
+# This picks stable releases in the 2.x series (but not 2.90 onwards,
+# which were GNOME 3 betas).
+UPSTREAM_CHECK_REGEX = "(?P<pver>2\.([0-8]*[02468])+(\.\d+)+)"
+
X11DEPENDS = "virtual/libx11 libxext libxcursor libxrandr libxdamage libxrender libxcomposite"
DEPENDS = "glib-2.0 pango atk jpeg libpng gdk-pixbuf-native docbook-utils-native \
cairo gdk-pixbuf"
LICENSE = "LGPLv2 & LGPLv2+ & LGPLv2.1+"
-inherit autotools pkgconfig gtk-doc update-alternatives gtk-immodules-cache gsettings distro_features_check
+inherit autotools pkgconfig gtk-doc update-alternatives gtk-immodules-cache gsettings distro_features_check upstream-version-is-even
ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
# This should be in autotools.bbclass, but until something elses uses it putting
S = "${WORKDIR}/gtk+-${PV}"
-inherit pkgconfig native
+inherit pkgconfig native upstream-version-is-even
PKG_CONFIG_FOR_BUILD = "${STAGING_BINDIR_NATIVE}/pkg-config-native"
inherit distro_features_check
ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
+# This picks stable releases in the 2.x series (but not 2.90 onwards,
+# which were GNOME 3 betas).
+UPSTREAM_CHECK_REGEX = "(?P<pver>2\.([0-8]*[02468])+(\.\d+)+)"
+
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")
DEPENDS = "cairo gdk-pixbuf glib-2.0 libcroco libxml2 pango"
BBCLASSEXTEND = "native"
-inherit autotools pkgconfig gnomebase gtk-doc pixbufcache
+inherit autotools pkgconfig gnomebase gtk-doc pixbufcache upstream-version-is-even
SRC_URI += "file://gtk-option.patch"
HOMEPAGE = "http://www.clutter-project.org/"
LICENSE = "LGPLv2.1+"
-inherit clutter ptest-gnome distro_features_check
+inherit clutter ptest-gnome distro_features_check upstream-version-is-even
# depends on cogl-1.0 which needs opengl
REQUIRED_DISTRO_FEATURES ?= "opengl"
HOMEPAGE = "http://www.clutter-project.org/"
LICENSE = "LGPLv2+"
-inherit clutter distro_features_check
+inherit clutter distro_features_check upstream-version-is-even
# depends on clutter-1.0 which depends on cogl-1.0
REQUIRED_DISTRO_FEATURES ?= "opengl"
HOMEPAGE = "http://www.clutter-project.org/"
LICENSE = "LGPLv2+"
-inherit clutter distro_features_check
+inherit clutter distro_features_check upstream-version-is-even
# depends on clutter-1.0 which depends on cogl-1.0
REQUIRED_DISTRO_FEATURES ?= "opengl"
# depends on gtk+3
HOMEPAGE = "http://wiki.clutter-project.org/wiki/Cogl"
LICENSE = "MIT"
-inherit clutter distro_features_check
+inherit clutter distro_features_check upstream-version-is-even
# cogl-1.0 needs opengl to build
REQUIRED_DISTRO_FEATURES ?= "opengl"
BBCLASSEXTEND = "native"
DEPENDS_class-native = "glib-2.0-native cairo-native harfbuzz-native"
-inherit gnomebase gtk-doc qemu ptest-gnome
+inherit gnomebase gtk-doc qemu ptest-gnome upstream-version-is-even
EXTRA_AUTORECONF = ""
HOMEPAGE = "http://www.gstreamer.net/"
DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base zlib bzip2 xz"
-inherit autotools pkgconfig
+inherit autotools pkgconfig upstream-version-is-even
# CAUTION: Using the system libav is not recommended. Since the libav API is changing all the time,
# compilation errors (and other, more subtle bugs) can happen. It is usually better to rely on the
SECTION = "multimedia"
DEPENDS = "gstreamer1.0"
-inherit autotools pkgconfig
+inherit autotools pkgconfig upstream-version-is-even
GSTREAMER_1_0_DEBUG ?= "--disable-debug"
GSTREAMER_1_0_GIT_BRANCH ?= "master"
S = "${WORKDIR}/${PNREAL}-${PV}"
-inherit autotools pkgconfig
+inherit autotools pkgconfig upstream-version-is-even
LICENSE = "LGPLv2+"
DEPENDS = "glib-2.0 libxml2 bison-native flex-native libcap"
-inherit autotools pkgconfig gettext
+inherit autotools pkgconfig gettext upstream-version-is-even
PACKAGECONFIG[debug] = "--enable-debug,--disable-debug"
PACKAGECONFIG[check] = "--enable-check,--disable-check"
SRC_URI[md5sum] = "df79991848a5096d3a75289ebce547ae"
SRC_URI[sha256sum] = "3d1f0c534935f43fd74df90f2648fcee672d60f1f57a30fa557a77891ae04d20"
-inherit cmake lib_package pkgconfig perlnative pythonnative distro_features_check
+inherit cmake lib_package pkgconfig perlnative pythonnative distro_features_check upstream-version-is-even
# depends on libxt
REQUIRED_DISTRO_FEATURES = "x11"
DEPENDS = "dbus glib-2.0 atk at-spi2-core"
-inherit autotools pkgconfig distro_features_check
+inherit autotools pkgconfig distro_features_check upstream-version-is-even
# The at-spi2-core requires x11 in DISTRO_FEATURES
REQUIRED_DISTRO_FEATURES = "x11"
DEPENDS = "dbus glib-2.0 virtual/libx11 libxi libxtst intltool-native gettext-native"
-inherit autotools gtk-doc pkgconfig distro_features_check
+inherit autotools gtk-doc pkgconfig distro_features_check upstream-version-is-even
# depends on virtual/libx11
REQUIRED_DISTRO_FEATURES = "x11"
DEPENDS = "glib-2.0"
-inherit gnomebase gtk-doc
+inherit gnomebase gtk-doc upstream-version-is-even
SRC_URI[archive.md5sum] = "fd3678f35004b4c92e3da39356996054"
SRC_URI[archive.sha256sum] = "ce6c48d77bf951083029d5a396dd552d836fff3c1715d3a7022e917e46d0c92b"
S = "${WORKDIR}/libsoup-${PV}"
-inherit autotools gettext pkgconfig
+inherit autotools gettext pkgconfig upstream-version-is-even
# glib-networking is needed for SSL, proxies, etc.
RRECOMMENDS_${PN} = "glib-networking"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://COPYING;md5=02933887f609807fbb57aa4237d14a50"
-inherit autotools gettext pkgconfig
+inherit autotools gettext pkgconfig upstream-version-is-even
DEPENDS = "libtasn1 libffi"
DEPENDS = " glib-2.0 gtk+ intltool-native ncurses gobject-introspection-stub"
RDEPENDS_libvte = "vte-termcap"
-inherit gnome gtk-doc distro_features_check
+inherit gnome gtk-doc distro_features_check upstream-version-is-even
ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
EXTRA_OECONF = "--disable-python --disable-introspection"