/[gentoo-x86]/eclass/eutils.eclass
Gentoo

Diff of /eclass/eutils.eclass

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

Revision 1.242 Revision 1.245
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/eutils.eclass,v 1.242 2006/06/24 04:36:33 vapier Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/eutils.eclass,v 1.245 2006/07/15 19:26:55 vapier Exp $
4# 4#
5# This eclass is for general purpose functions that most ebuilds 5# This eclass is for general purpose functions that most ebuilds
6# have to implement themselves. 6# have to implement themselves.
7# 7#
8# NB: If you add anything, please comment it! 8# NB: If you add anything, please comment it!
17# to five seconds. If the EPAUSE_IGNORE env var is set, don't wait. If we're not 17# to five seconds. If the EPAUSE_IGNORE env var is set, don't wait. If we're not
18# outputting to a terminal, don't wait. For compatability purposes, the argument 18# outputting to a terminal, don't wait. For compatability purposes, the argument
19# must be an integer greater than zero. 19# must be an integer greater than zero.
20# Bug 62950, Ciaran McCreesh <ciaranm@gentoo.org> (05 Sep 2004) 20# Bug 62950, Ciaran McCreesh <ciaranm@gentoo.org> (05 Sep 2004)
21epause() { 21epause() {
22 if [ -z "$EPAUSE_IGNORE" ] && [ -t 1 ] ; then 22 [[ -z ${EPAUSE_IGNORE} ]] && sleep ${1:-5}
23 sleep ${1:-5}
24 fi
25} 23}
26 24
27# Beep the specified number of times (defaults to five). If our output 25# Beep the specified number of times (defaults to five). If our output
28# is not a terminal, don't beep. If the EBEEP_IGNORE env var is set, 26# is not a terminal, don't beep. If the EBEEP_IGNORE env var is set,
29# don't beep. 27# don't beep.
30# Bug 62950, Ciaran McCreesh <ciaranm@gentoo.org> (05 Sep 2004) 28# Bug 62950, Ciaran McCreesh <ciaranm@gentoo.org> (05 Sep 2004)
31ebeep() { 29ebeep() {
32 local n 30 local n
33 if [ -z "$EBEEP_IGNORE" ] && [ -t 1 ] ; then 31 if [[ -z ${EBEEP_IGNORE} ]] ; then
34 for ((n=1 ; n <= ${1:-5} ; n++)) ; do 32 for ((n=1 ; n <= ${1:-5} ; n++)) ; do
35 echo -ne "\a" 33 echo -ne "\a"
36 sleep 0.1 &>/dev/null ; sleep 0,1 &>/dev/null 34 sleep 0.1 &>/dev/null ; sleep 0,1 &>/dev/null
37 echo -ne "\a" 35 echo -ne "\a"
38 sleep 1 36 sleep 1
1242# and when the function returns, you can assume that the cd has been 1240# and when the function returns, you can assume that the cd has been
1243# found at CDROM_ROOT. 1241# found at CDROM_ROOT.
1244# 1242#
1245# normally the cdrom functions will refer to the cds as 'cd #1', 'cd #2', 1243# normally the cdrom functions will refer to the cds as 'cd #1', 'cd #2',
1246# etc... if you want to give the cds better names, then just export 1244# etc... if you want to give the cds better names, then just export
1247# the CDROM_NAME_X variables before calling cdrom_get_cds(). 1245# the appropriate CDROM_NAME variable before calling cdrom_get_cds().
1246# - CDROM_NAME="fooie cd" - for when you only want 1 cd
1247# - CDROM_NAME_1="install cd" - for when you want more than 1 cd
1248# CDROM_NAME_2="data cd"
1249# - CDROM_NAME_SET=( "install cd" "data cd" ) - short hand for CDROM_NAME_#
1248# 1250#
1249# for those multi cd ebuilds, see the cdrom_load_next_cd() below. 1251# for those multi cd ebuilds, see the cdrom_load_next_cd() below.
1250# 1252#
1251# Usage: cdrom_get_cds <file on cd1> [file on cd2] [file on cd3] [...] 1253# Usage: cdrom_get_cds <file on cd1> [file on cd2] [file on cd3] [...]
1252# - this will attempt to locate a cd based upon a file that is on 1254# - this will attempt to locate a cd based upon a file that is on
1303 echo 1305 echo
1304 einfo "For example:" 1306 einfo "For example:"
1305 einfo "export CD_ROOT=/mnt/cdrom" 1307 einfo "export CD_ROOT=/mnt/cdrom"
1306 echo 1308 echo
1307 else 1309 else
1310 if [[ -n ${CDROM_NAME_SET} ]] ; then
1311 # Translate the CDROM_NAME_SET array into CDROM_NAME_#
1312 cdcnt=0
1313 while [[ ${cdcnt} -lt ${CDROM_TOTAL_CDS} ]] ; do
1314 ((++cdcnt))
1315 export CDROM_NAME_${cdcnt}="${CDROM_NAME_SET[$((${cdcnt}-1))]}"
1316 done
1317 fi
1318
1308 einfo "This package will need access to ${CDROM_TOTAL_CDS} cds." 1319 einfo "This package will need access to ${CDROM_TOTAL_CDS} cds."
1309 cdcnt=0 1320 cdcnt=0
1310 while [[ ${cdcnt} -lt ${CDROM_TOTAL_CDS} ]] ; do 1321 while [[ ${cdcnt} -lt ${CDROM_TOTAL_CDS} ]] ; do
1311 ((++cdcnt)) 1322 ((++cdcnt))
1312 var="CDROM_NAME_${cdcnt}" 1323 var="CDROM_NAME_${cdcnt}"
1467 newls="${newls} ${f}" 1478 newls="${newls} ${f}"
1468 else 1479 else
1469 nols="${nols} ${f}" 1480 nols="${nols} ${f}"
1470 fi 1481 fi
1471 done 1482 done
1472 [[ -n ${newls} ]] \ 1483 [[ -n ${nols} ]] \
1473 && ewarn "Sorry, but ${PN} does not support the LINGUAs:" ${nols} 1484 && ewarn "Sorry, but ${PN} does not support the LINGUAs:" ${nols}
1474 export LINGUAS=${newls:1} 1485 export LINGUAS=${newls:1}
1475} 1486}
1476 1487
1477# moved from kernel.eclass since they are generally useful outside of 1488# moved from kernel.eclass since they are generally useful outside of

Legend:
Removed from v.1.242  
changed lines
  Added in v.1.245

  ViewVC Help
Powered by ViewVC 1.1.20