commit:     20a5f7d5c1612ad252ed409fd7b7cf3745dd8e2e
Author:     Gilles Dartiguelongue <eva <AT> gentoo <DOT> org>
AuthorDate: Wed Sep 13 22:16:54 2017 +0000
Commit:     Gilles Dartiguelongue <eva <AT> gentoo <DOT> org>
CommitDate: Wed Sep 13 22:16:54 2017 +0000
URL:        https://gitweb.gentoo.org/proj/gnome.git/commit/?id=20a5f7d5

eclass/*: sync with gentoo repository

 eclass/gnome2-utils.eclass | 33 +++++++++++----------------------
 eclass/gnome2.eclass       | 34 ++++++++++++++++++++++++++--------
 2 files changed, 37 insertions(+), 30 deletions(-)

diff --git a/eclass/gnome2-utils.eclass b/eclass/gnome2-utils.eclass
index 63855da1..9b4296c1 100644
--- a/eclass/gnome2-utils.eclass
+++ b/eclass/gnome2-utils.eclass
@@ -1,6 +1,5 @@
 # Copyright 1999-2015 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Id$
 
 # @ECLASS: gnome2-utils.eclass
 # @MAINTAINER:
@@ -100,12 +99,12 @@ gnome2_environment_reset() {
        export GST_REGISTRY="${T}/registry.xml"
 
        # Ensure we don't rely on dconf/gconf while building, bug #511946
-       export GSETTINGS_BACKEND="memory" 
+       export GSETTINGS_BACKEND="memory"
 
        if has ${EAPI:-0} 6; then
                # Try to cover the packages honoring this variable, bug #508124
                export GST_INSPECT="$(type -P true)"
-               
+
                # Stop relying on random DISPLAY variable values, bug #534312
                unset DISPLAY
        fi
@@ -231,40 +230,35 @@ gnome2_icon_cache_update() {
                return
        fi
 
-       if [[ -z "${GNOME2_ECLASS_ICONS}" ]]; then
-               debug-print "No icon cache to update"
-               return
-       fi
-
        ebegin "Updating icons cache"
 
        local retval=0
        local fails=( )
 
-       for dir in ${GNOME2_ECLASS_ICONS}
+       for dir in "${EROOT%/}"/usr/share/icons/*
        do
-               if [[ -f "${EROOT}${dir}/index.theme" ]] ; then
+               if [[ -f "${dir}/index.theme" ]] ; then
                        local rv=0
 
-                       "${updater}" -qf "${EROOT}${dir}"
+                       "${updater}" -qf "${dir}"
                        rv=$?
 
                        if [[ ! $rv -eq 0 ]] ; then
-                               debug-print "Updating cache failed on 
${EROOT}${dir}"
+                               debug-print "Updating cache failed on ${dir}"
 
                                # Add to the list of failures
-                               fails[$(( ${#fails[@]} + 1 ))]="${EROOT}${dir}"
+                               fails+=( "${dir}" )
 
                                retval=2
                        fi
-               elif [[ $(ls "${EROOT}${dir}") = "icon-theme.cache" ]]; then
+               elif [[ $(ls "${dir}") = "icon-theme.cache" ]]; then
                        # Clear stale cache files after theme uninstallation
-                       rm "${EROOT}${dir}/icon-theme.cache"
+                       rm "${dir}/icon-theme.cache"
                fi
 
-               if [[ -z $(ls "${EROOT}${dir}") ]]; then
+               if [[ -z $(ls "${dir}") ]]; then
                        # Clear empty theme directories after theme 
uninstallation
-                       rmdir "${EROOT}${dir}"
+                       rmdir "${dir}"
                fi
        done
 
@@ -387,11 +381,6 @@ gnome2_schemas_update() {
                return
        fi
 
-       if [[ -z ${GNOME2_ECLASS_GLIB_SCHEMAS} ]]; then
-               debug-print "No GSettings schemas to update"
-               return
-       fi
-
        ebegin "Updating GSettings schemas"
        ${updater} --allow-any-name "$@" 
"${EROOT%/}/usr/share/glib-2.0/schemas" &>/dev/null
        eend $?

diff --git a/eclass/gnome2.eclass b/eclass/gnome2.eclass
index 45d1d633..93a0501e 100644
--- a/eclass/gnome2.eclass
+++ b/eclass/gnome2.eclass
@@ -1,6 +1,5 @@
 # Copyright 1999-2015 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Id$
 
 # @ECLASS: gnome2.eclass
 # @MAINTAINER:
@@ -10,6 +9,13 @@
 # Exports portage base functions used by ebuilds written for packages using the
 # GNOME framework. For additional functions, see gnome2-utils.eclass.
 
+# @ECLASS-VARIABLE: GNOME2_EAUTORECONF
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Run eautoreconf instead of only elibtoolize
+GNOME2_EAUTORECONF=${GNOME2_EAUTORECONF:-""}
+
+[[ ${GNOME2_EAUTORECONF} == 'yes' ]] && inherit autotools
 inherit eutils libtool gnome.org gnome2-utils xdg
 
 case "${EAPI:-0}" in
@@ -62,7 +68,7 @@ if has ${EAPI:-0} 4 5; then
                IUSE="debug"
        fi
 fi
-    
+
 # @ECLASS-VARIABLE: GNOME2_ECLASS_GIO_MODULES
 # @INTERNAL
 # @DESCRIPTION:
@@ -113,9 +119,13 @@ gnome2_src_prepare() {
        # Disable all deprecation warnings
        gnome2_disable_deprecation_warning
 
-       # Run libtoolize
+       # Run libtoolize or eautoreconf, bug #591584
        # https://bugzilla.gnome.org/show_bug.cgi?id=655517
-       elibtoolize ${ELTCONF}
+       if [[ ${GNOME2_EAUTORECONF} == 'yes' ]]; then
+               eautoreconf
+       else
+               elibtoolize ${ELTCONF}
+       fi
 }
 
 # @FUNCTION: gnome2_src_configure
@@ -327,8 +337,12 @@ gnome2_pkg_preinst() {
 gnome2_pkg_postinst() {
        xdg_pkg_postinst
        gnome2_gconf_install
-       gnome2_icon_cache_update
-       gnome2_schemas_update
+       if [[ -n ${GNOME2_ECLASS_ICONS} ]]; then
+               gnome2_icon_cache_update
+       fi
+       if [[ -z ${GNOME2_ECLASS_GLIB_SCHEMAS} ]]; then
+               gnome2_schemas_update
+       fi
        gnome2_scrollkeeper_update
        gnome2_gdk_pixbuf_update
 
@@ -354,8 +368,12 @@ gnome2_pkg_postinst() {
 # Handle scrollkeeper, GSettings, Icons, desktop and mime database updates.
 gnome2_pkg_postrm() {
        xdg_pkg_postrm
-       gnome2_icon_cache_update
-       gnome2_schemas_update
+       if [[ -n ${GNOME2_ECLASS_ICONS} ]]; then
+               gnome2_icon_cache_update
+       fi
+       if [[ -z ${GNOME2_ECLASS_GLIB_SCHEMAS} ]]; then
+               gnome2_schemas_update
+       fi
        gnome2_scrollkeeper_update
 
        if [[ ${#GNOME2_ECLASS_GIO_MODULES[@]} -gt 0 ]]; then

Reply via email to