Move the GNOME2_ECLASS_GLIB_SCHEMAS conditional from
gnome2_schemas_update straight into the implementation of gnome2.eclass
postinst/postrm.

This variable is set in preinst to indicate whether any files were
installed. However, the updater itself does not use the list in any way
and updates all the schemas anyway.

Therefore, avoid requiring the ebuilds to explicitly define
preinst/postinst when it is known that the package installs schemas,
and instead let gnome2_schemas_update called in postinst/postrm update
schemas unconditionally.
---
 eclass/gnome2-utils.eclass | 5 -----
 eclass/gnome2.eclass       | 8 ++++++--
 2 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/eclass/gnome2-utils.eclass b/eclass/gnome2-utils.eclass
index a89b9885c391..9b4296c11fad 100644
--- a/eclass/gnome2-utils.eclass
+++ b/eclass/gnome2-utils.eclass
@@ -381,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 cb233e747605..d2b45ad560b3 100644
--- a/eclass/gnome2.eclass
+++ b/eclass/gnome2.eclass
@@ -340,7 +340,9 @@ gnome2_pkg_postinst() {
        if [[ -n ${GNOME2_ECLASS_ICONS} ]]; then
                gnome2_icon_cache_update
        fi
-       gnome2_schemas_update
+       if [[ -z ${GNOME2_ECLASS_GLIB_SCHEMAS} ]]; then
+               gnome2_schemas_update
+       fi
        gnome2_scrollkeeper_update
        gnome2_gdk_pixbuf_update
 
@@ -362,7 +364,9 @@ gnome2_pkg_postrm() {
        if [[ -n ${GNOME2_ECLASS_ICONS} ]]; then
                gnome2_icon_cache_update
        fi
-       gnome2_schemas_update
+       if [[ -z ${GNOME2_ECLASS_GLIB_SCHEMAS} ]]; then
+               gnome2_schemas_update
+       fi
        gnome2_scrollkeeper_update
 
        if [[ ${#GNOME2_ECLASS_GIO_MODULES[@]} -gt 0 ]]; then
-- 
2.13.2


Reply via email to