/[gentoo-x86]/eclass/gnome2-utils.eclass
Gentoo

Diff of /eclass/gnome2-utils.eclass

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.13 Revision 1.16
1# Copyright 1999-2006 Gentoo Foundation 1# Copyright 1999-2006 Gentoo Foundation
2# Distributed under the terms of the GNU General Public License v2 2# Distributed under the terms of the GNU General Public License v2
3# $Header: /var/cvsroot/gentoo-x86/eclass/gnome2-utils.eclass,v 1.13 2008/10/22 21:04:53 eva Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/gnome2-utils.eclass,v 1.16 2010/12/07 06:23:34 eva Exp $
4 4
5# 5#
6# gnome2-utils.eclass 6# gnome2-utils.eclass
7# 7#
8# Set of auxiliary functions used to perform actions commonly needed by packages 8# Set of auxiliary functions used to perform actions commonly needed by packages
12# 12#
13 13
14 14
15 15
16# Path to gconftool-2 16# Path to gconftool-2
17: ${GCONFTOOL_BIN:="${ROOT}usr/bin/gconftool-2"} 17: ${GCONFTOOL_BIN:="/usr/bin/gconftool-2"}
18 18
19# Directory where scrollkeeper-update should do its work 19# Directory where scrollkeeper-update should do its work
20: ${SCROLLKEEPER_DIR:="${ROOT}var/lib/scrollkeeper"} 20: ${SCROLLKEEPER_DIR:="/var/lib/scrollkeeper"}
21 21
22# Path to scrollkeeper-update 22# Path to scrollkeeper-update
23: ${SCROLLKEEPER_UPDATE_BIN:="${ROOT}usr/bin/scrollkeeper-update"} 23: ${SCROLLKEEPER_UPDATE_BIN:="/usr/bin/scrollkeeper-update"}
24
25# Path to gtk-update-icon-cache
26: ${GTK_UPDATE_ICON_CACHE:="/usr/bin/gtk-update-icon-cache"}
27
28# Path to glib-compile-schemas
29: ${GLIB_COMPILE_SCHEMAS:="/usr/bin/glib-compile-schemas"}
24 30
25 31
26 32
27DEPEND=">=sys-apps/sed-4" 33DEPEND=">=sys-apps/sed-4"
28 34
38 44
39 45
40# Applies any schema files installed by the current ebuild to Gconf's database 46# Applies any schema files installed by the current ebuild to Gconf's database
41# using gconftool-2 47# using gconftool-2
42gnome2_gconf_install() { 48gnome2_gconf_install() {
49 local updater="${ROOT}${GCONFTOOL_BIN}"
43 local F 50 local F
44 51
45 if [[ ! -x "${GCONFTOOL_BIN}" ]]; then 52 if [[ ! -x "${updater}" ]]; then
46 return 53 return
47 fi 54 fi
48 55
49 if [[ -z "${GNOME2_ECLASS_SCHEMAS}" ]]; then 56 if [[ -z "${GNOME2_ECLASS_SCHEMAS}" ]]; then
50 einfo "No GNOME 2 GConf schemas found" 57 einfo "No GNOME 2 GConf schemas found"
51 return 58 return
52 fi 59 fi
53 60
54 # We are ready to install the GCONF Scheme now 61 # We are ready to install the GCONF Scheme now
55 unset GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL 62 unset GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL
56 export GCONF_CONFIG_SOURCE="$("${GCONFTOOL_BIN}" --get-default-source | sed "s;:/;:${ROOT};")" 63 export GCONF_CONFIG_SOURCE="$("${updater}" --get-default-source | sed "s;:/;:${ROOT};")"
57 64
58 einfo "Installing GNOME 2 GConf schemas" 65 einfo "Installing GNOME 2 GConf schemas"
59 66
60 for F in ${GNOME2_ECLASS_SCHEMAS}; do 67 for F in ${GNOME2_ECLASS_SCHEMAS}; do
61 if [[ -e "${ROOT}${F}" ]]; then 68 if [[ -e "${ROOT}${F}" ]]; then
62 # echo "DEBUG::gconf install ${F}" 69 # echo "DEBUG::gconf install ${F}"
63 "${GCONFTOOL_BIN}" --makefile-install-rule "${ROOT}${F}" 1>/dev/null 70 "${updater}" --makefile-install-rule "${ROOT}${F}" 1>/dev/null
64 fi 71 fi
65 done 72 done
66 73
67 # have gconf reload the new schemas 74 # have gconf reload the new schemas
68 pids=$(pgrep -x gconfd-2) 75 pids=$(pgrep -x gconfd-2)
75 82
76 83
77# Removes schema files previously installed by the current ebuild from Gconf's 84# Removes schema files previously installed by the current ebuild from Gconf's
78# database. 85# database.
79gnome2_gconf_uninstall() { 86gnome2_gconf_uninstall() {
87 local updater="${ROOT}${GCONFTOOL_BIN}"
80 local F 88 local F
81 89
82 if [[ ! -x "${GCONFTOOL_BIN}" ]]; then 90 if [[ ! -x "${updater}" ]]; then
83 return 91 return
84 fi 92 fi
85 93
86 if [[ -z "${GNOME2_ECLASS_SCHEMAS}" ]]; then 94 if [[ -z "${GNOME2_ECLASS_SCHEMAS}" ]]; then
87 einfo "No GNOME 2 GConf schemas found" 95 einfo "No GNOME 2 GConf schemas found"
88 return 96 return
89 fi 97 fi
90 98
91 unset GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL 99 unset GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL
92 export GCONF_CONFIG_SOURCE="$("${GCONFTOOL_BIN}" --get-default-source | sed "s;:/;:${ROOT};")" 100 export GCONF_CONFIG_SOURCE="$("${updater}" --get-default-source | sed "s;:/;:${ROOT};")"
93 101
94 einfo "Uninstalling GNOME 2 GConf schemas" 102 einfo "Uninstalling GNOME 2 GConf schemas"
95 103
96 for F in ${GNOME2_ECLASS_SCHEMAS}; do 104 for F in ${GNOME2_ECLASS_SCHEMAS}; do
97 if [[ -e "${ROOT}${F}" ]]; then 105 if [[ -e "${ROOT}${F}" ]]; then
98 # echo "DEBUG::gconf uninstall ${F}" 106 # echo "DEBUG::gconf uninstall ${F}"
99 "${GCONFTOOL_BIN}" --makefile-uninstall-rule "${ROOT}${F}" 1>/dev/null 107 "${updater}" --makefile-uninstall-rule "${ROOT}${F}" 1>/dev/null
100 fi 108 fi
101 done 109 done
102 110
103 # have gconf reload the new schemas 111 # have gconf reload the new schemas
104 pids=$(pgrep -x gconfd-2) 112 pids=$(pgrep -x gconfd-2)
121 129
122 130
123# Updates Gtk+ icon cache files under /usr/share/icons if the current ebuild 131# Updates Gtk+ icon cache files under /usr/share/icons if the current ebuild
124# have installed anything under that location. 132# have installed anything under that location.
125gnome2_icon_cache_update() { 133gnome2_icon_cache_update() {
126 local updater="$(type -p gtk-update-icon-cache 2> /dev/null)" 134 local updater="${ROOT}${GTK_UPDATE_ICON_CACHE}"
127 135
128 if [[ ! -x "${updater}" ]] ; then 136 if [[ ! -x "${updater}" ]] ; then
129 debug-print "${updater} is not executable" 137 debug-print "${updater} is not executable"
130 return 138 return
131 fi 139 fi
214} 222}
215 223
216 224
217# Updates the global scrollkeeper database. 225# Updates the global scrollkeeper database.
218gnome2_scrollkeeper_update() { 226gnome2_scrollkeeper_update() {
219 if [[ -x "${SCROLLKEEPER_UPDATE_BIN}" ]]; then 227 if [[ -x "${ROOT}${SCROLLKEEPER_UPDATE_BIN}" ]]; then
220 einfo "Updating scrollkeeper database ..." 228 einfo "Updating scrollkeeper database ..."
221 "${SCROLLKEEPER_UPDATE_BIN}" -q -p "${SCROLLKEEPER_DIR}" 229 "${ROOT}${SCROLLKEEPER_UPDATE_BIN}" -q -p "${ROOT}${SCROLLKEEPER_DIR}"
222 fi 230 fi
223} 231}
232
233gnome2_schemas_savelist() {
234 pushd "${D}" &>/dev/null
235 export GNOME2_ECLASS_GLIB_SCHEMAS=$(find 'usr/share/glib-2.0/schemas' -name '*.gschema.xml' 2>/dev/null)
236 popd &>/dev/null
237}
238
239gnome2_schemas_update() {
240 local updater="${ROOT}${GLIB_COMPILE_SCHEMAS}"
241
242 if [[ ! -x ${updater} ]]; then
243 debug-print "${updater} is not executable"
244 return
245 fi
246
247 if [[ -z ${GNOME2_ECLASS_GLIB_SCHEMAS} ]]; then
248 debug-print "no schemas to update"
249 return
250 fi
251
252 ebegin "Updating GSettings schemas"
253 ${updater} --allow-any-name "$@" "${ROOT%/}/usr/share/glib-2.0/schemas" &>/dev/null
254 eend $?
255}

Legend:
Removed from v.1.13  
changed lines
  Added in v.1.16

  ViewVC Help
Powered by ViewVC 1.1.20