/[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.26 Revision 1.27
1# Copyright 1999-2012 Gentoo Foundation 1# Copyright 1999-2012 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.26 2012/04/08 02:29:44 tetromino Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/gnome2-utils.eclass,v 1.27 2012/05/02 21:05:38 eva Exp $
4 4
5# @ECLASS: gnome2-utils.eclass 5# @ECLASS: gnome2-utils.eclass
6# @MAINTAINER: 6# @MAINTAINER:
7# gnome@gentoo.org 7# gnome@gentoo.org
8# @BLURB: Auxiliary functions commonly used by Gnome packages. 8# @BLURB: Auxiliary functions commonly used by Gnome packages.
60# @INTERNAL 60# @INTERNAL
61# @DEFAULT_UNSET 61# @DEFAULT_UNSET
62# @DESCRIPTION: 62# @DESCRIPTION:
63# List of icons provided by the package 63# List of icons provided by the package
64 64
65# @ECLASS-VARIABLE: GNOME2_ECLASS_SCROLLS
66# @INTERNAL
67# @DEFAULT_UNSET
68# @DESCRIPTION:
69# List of scrolls (documentation files) provided by the package
70
65# @ECLASS-VARIABLE: GNOME2_ECLASS_GLIB_SCHEMAS 71# @ECLASS-VARIABLE: GNOME2_ECLASS_GLIB_SCHEMAS
66# @INTERNAL 72# @INTERNAL
67# @DEFAULT_UNSET 73# @DEFAULT_UNSET
68# @DESCRIPTION: 74# @DESCRIPTION:
69# List of GSettings schemas provided by the package 75# List of GSettings schemas provided by the package
70
71 76
72DEPEND=">=sys-apps/sed-4" 77DEPEND=">=sys-apps/sed-4"
73 78
74 79
75# @FUNCTION: gnome2_environment_reset 80# @FUNCTION: gnome2_environment_reset
272 277
273 if [[ -f ${S}/omf.make ]] ; then 278 if [[ -f ${S}/omf.make ]] ; then
274 omf_makefiles="${omf_makefiles} ${S}/omf.make" 279 omf_makefiles="${omf_makefiles} ${S}/omf.make"
275 fi 280 fi
276 281
282 if [[ -f ${S}/gnome-doc-utils.make ]] ; then
283 omf_makefiles="${omf_makefiles} ${S}/gnome-doc-utils.make"
284 fi
285
277 # testing fixing of all makefiles found 286 # testing fixing of all makefiles found
278 # The sort is important to ensure .am is listed before the respective .in for 287 # The sort is important to ensure .am is listed before the respective .in for
279 # maintainer mode regeneration not kicking in due to .am being newer than .in 288 # maintainer mode regeneration not kicking in due to .am being newer than .in
280 for filename in $(find ./ -name "Makefile.in" -o -name "Makefile.am" |sort) ; do 289 for filename in $(find "${S}" -name "Makefile.in" -o -name "Makefile.am" |sort) ; do
281 omf_makefiles="${omf_makefiles} ${filename}" 290 omf_makefiles="${omf_makefiles} ${filename}"
282 done 291 done
283 292
284 ebegin "Fixing OMF Makefiles" 293 ebegin "Fixing OMF Makefiles"
285 294
286 local retval=0 295 local retval=0
287 local fails=( ) 296 local fails=( )
288 297
289 for omf in ${omf_makefiles} ; do 298 for omf in ${omf_makefiles} ; do
290 local rv=0
291
292 sed -i -e 's:scrollkeeper-update:true:' "${omf}" 299 sed -i -e 's:scrollkeeper-update:true:' "${omf}"
293 retval=$? 300 retval=$?
294 301
295 if [[ ! $rv -eq 0 ]] ; then 302 if [[ $retval -ne 0 ]] ; then
296 debug-print "updating of ${omf} failed" 303 debug-print "updating of ${omf} failed"
297 304
298 # Add to the list of failures 305 # Add to the list of failures
299 fails[$(( ${#fails[@]} + 1 ))]=$omf 306 fails[$(( ${#fails[@]} + 1 ))]=$omf
300 307
305 eend $retval 312 eend $retval
306 313
307 for f in "${fails[@]}" ; do 314 for f in "${fails[@]}" ; do
308 eerror "Failed to update OMF Makefile $f" 315 eerror "Failed to update OMF Makefile $f"
309 done 316 done
317}
318
319# @FUNCTION: gnome2_scrollkeeper_savelist
320# @DESCRIPTION:
321# Find the scrolls that are about to be installed and save their location
322# in the GNOME2_ECLASS_SCROLLS environment variable.
323# This function should be called from pkg_preinst.
324gnome2_scrollkeeper_savelist() {
325 has ${EAPI:-0} 0 1 2 && ! use prefix && ED="${D}"
326 pushd "${ED}" &> /dev/null
327 export GNOME2_ECLASS_SCROLLS=$(find 'usr/share/omf' -type f -name "*.omf" 2> /dev/null)
328 popd &> /dev/null
310} 329}
311 330
312# @FUNCTION: gnome2_scrollkeeper_update 331# @FUNCTION: gnome2_scrollkeeper_update
313# @DESCRIPTION: 332# @DESCRIPTION:
314# Updates the global scrollkeeper database. 333# Updates the global scrollkeeper database.
315# This function should be called from pkg_postinst and pkg_postrm. 334# This function should be called from pkg_postinst and pkg_postrm.
316gnome2_scrollkeeper_update() { 335gnome2_scrollkeeper_update() {
317 has ${EAPI:-0} 0 1 2 && ! use prefix && EROOT="${ROOT}" 336 has ${EAPI:-0} 0 1 2 && ! use prefix && EROOT="${ROOT}"
318 if [[ -x "${EROOT}${SCROLLKEEPER_UPDATE_BIN}" ]]; then 337 local updater="${EROOT}${SCROLLKEEPER_UPDATE_BIN}"
338
339 if [[ ! -x "${updater}" ]] ; then
340 debug-print "${updater} is not executable"
341 return
342 fi
343
344 if [[ -z "${GNOME2_ECLASS_SCROLLS}" ]]; then
345 debug-print "No scroll cache to update"
346 return
347 fi
348
319 einfo "Updating scrollkeeper database ..." 349 ebegin "Updating scrollkeeper database ..."
320 "${EROOT}${SCROLLKEEPER_UPDATE_BIN}" -q -p "${EROOT}${SCROLLKEEPER_DIR}" 350 "${updater}" -q -p "${EROOT}${SCROLLKEEPER_DIR}"
321 fi 351 eend $?
322} 352}
323 353
324# @FUNCTION: gnome2_schemas_savelist 354# @FUNCTION: gnome2_schemas_savelist
325# @DESCRIPTION: 355# @DESCRIPTION:
326# Find if there is any GSettings schema to install and save the list in 356# Find if there is any GSettings schema to install and save the list in

Legend:
Removed from v.1.26  
changed lines
  Added in v.1.27

  ViewVC Help
Powered by ViewVC 1.1.20