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

Diff of /eclass/eutils.eclass

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

Revision 1.294 Revision 1.299
1# Copyright 1999-2007 Gentoo Foundation 1# Copyright 1999-2007 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.294 2008/01/14 04:52:35 vapier Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/eutils.eclass,v 1.299 2008/02/20 17:32:02 vapier Exp $
4 4
5# @ECLASS: eutils.eclass 5# @ECLASS: eutils.eclass
6# @MAINTAINER: 6# @MAINTAINER:
7# base-system@gentoo.org 7# base-system@gentoo.org
8# @BLURB: many extra (but common) functions that are used in ebuilds 8# @BLURB: many extra (but common) functions that are used in ebuilds
45 sleep 0.1 &>/dev/null ; sleep 0,1 &>/dev/null 45 sleep 0.1 &>/dev/null ; sleep 0,1 &>/dev/null
46 echo -ne "\a" 46 echo -ne "\a"
47 sleep 1 47 sleep 1
48 done 48 done
49 fi 49 fi
50}
51
52# @FUNCTION: ecvs_clean
53# @USAGE: [list of dirs]
54# @DESCRIPTION:
55# Remove CVS directories recursiveley. Useful when a source tarball contains
56# internal CVS directories. Defaults to $PWD.
57ecvs_clean() {
58 [[ -z $* ]] && set -- .
59 find "$@" -type d -name 'CVS' -prune -print0 | xargs -0 rm -rf
60 find "$@" -type f -name '.cvs*' -print0 | xargs -0 rm -rf
61}
62
63# @FUNCTION: esvn_clean
64# @USAGE: [list of dirs]
65# @DESCRIPTION:
66# Remove .svn directories recursiveley. Useful when a source tarball contains
67# internal Subversion directories. Defaults to $PWD.
68esvn_clean() {
69 [[ -z $* ]] && set -- .
70 find "$@" -type d -name '.svn' -prune -print0 | xargs -0 rm -rf
50} 71}
51 72
52# Default directory where patches are located 73# Default directory where patches are located
53EPATCH_SOURCE="${WORKDIR}/patch" 74EPATCH_SOURCE="${WORKDIR}/patch"
54# Default extension for patches 75# Default extension for patches
1454# displayed and we'll hang out here until: 1475# displayed and we'll hang out here until:
1455# (1) the file is found on a mounted cdrom 1476# (1) the file is found on a mounted cdrom
1456# (2) the user hits CTRL+C 1477# (2) the user hits CTRL+C
1457_cdrom_locate_file_on_cd() { 1478_cdrom_locate_file_on_cd() {
1458 local mline="" 1479 local mline=""
1459 local showedmsg=0 1480 local showedmsg=0 showjolietmsg=0
1460 1481
1461 while [[ -z ${CDROM_ROOT} ]] ; do 1482 while [[ -z ${CDROM_ROOT} ]] ; do
1462 local i=0 1483 local i=0
1463 local -a cdset=(${*//:/ }) 1484 local -a cdset=(${*//:/ })
1464 if [[ -n ${CDROM_SET} ]] ; then 1485 if [[ -n ${CDROM_SET} ]] ; then
1505 showedmsg=1 1526 showedmsg=1
1506 fi 1527 fi
1507 einfo "Press return to scan for the cd again" 1528 einfo "Press return to scan for the cd again"
1508 einfo "or hit CTRL+C to abort the emerge." 1529 einfo "or hit CTRL+C to abort the emerge."
1509 echo 1530 echo
1531 if [[ ${showjolietmsg} -eq 0 ]] ; then
1532 showjolietmsg=1
1533 else
1510 einfo "If you are having trouble with the detection" 1534 ewarn "If you are having trouble with the detection"
1511 einfo "of your CD, it is possible that you do not have" 1535 ewarn "of your CD, it is possible that you do not have"
1512 einfo "Joliet support enabled in your kernel. Please" 1536 ewarn "Joliet support enabled in your kernel. Please"
1513 einfo "check that CONFIG_JOLIET is enabled in your kernel." 1537 ewarn "check that CONFIG_JOLIET is enabled in your kernel."
1538 ebeep 5
1539 fi
1514 read || die "something is screwed with your system" 1540 read || die "something is screwed with your system"
1515 done 1541 done
1516} 1542}
1517 1543
1518# @FUNCTION: strip-linguas 1544# @FUNCTION: strip-linguas
1578 eerror "preserve_old_lib() must be called from pkg_preinst() only" 1604 eerror "preserve_old_lib() must be called from pkg_preinst() only"
1579 die "Invalid preserve_old_lib() usage" 1605 die "Invalid preserve_old_lib() usage"
1580 fi 1606 fi
1581 [[ -z $1 ]] && die "Usage: preserve_old_lib <library to preserve> [more libraries to preserve]" 1607 [[ -z $1 ]] && die "Usage: preserve_old_lib <library to preserve> [more libraries to preserve]"
1582 1608
1609 # let portage worry about it
1610 has preserve-libs ${FEATURES} && return 0
1611
1583 local lib dir 1612 local lib dir
1584 for lib in "$@" ; do 1613 for lib in "$@" ; do
1585 [[ -e ${ROOT}/${lib} ]] || continue 1614 [[ -e ${ROOT}/${lib} ]] || continue
1586 dir=${lib%/*} 1615 dir=${lib%/*}
1587 dodir ${dir} || die "dodir ${dir} failed" 1616 dodir ${dir} || die "dodir ${dir} failed"
1597preserve_old_lib_notify() { 1626preserve_old_lib_notify() {
1598 if [[ ${EBUILD_PHASE} != "postinst" ]] ; then 1627 if [[ ${EBUILD_PHASE} != "postinst" ]] ; then
1599 eerror "preserve_old_lib_notify() must be called from pkg_postinst() only" 1628 eerror "preserve_old_lib_notify() must be called from pkg_postinst() only"
1600 die "Invalid preserve_old_lib_notify() usage" 1629 die "Invalid preserve_old_lib_notify() usage"
1601 fi 1630 fi
1631
1632 # let portage worry about it
1633 has preserve-libs ${FEATURES} && return 0
1602 1634
1603 local lib notice=0 1635 local lib notice=0
1604 for lib in "$@" ; do 1636 for lib in "$@" ; do
1605 [[ -e ${ROOT}/${lib} ]] || continue 1637 [[ -e ${ROOT}/${lib} ]] || continue
1606 if [[ ${notice} -eq 0 ]] ; then 1638 if [[ ${notice} -eq 0 ]] ; then
1726 done 1758 done
1727 eend 0 1759 eend 0
1728} 1760}
1729 1761
1730# @FUNCTION: make_wrapper 1762# @FUNCTION: make_wrapper
1731# @USAGE: <wrapper> <target> <chdir> [libpaths] [installpath] 1763# @USAGE: <wrapper> <target> [chdir] [libpaths] [installpath]
1732# @DESCRIPTION: 1764# @DESCRIPTION:
1733# Create a shell wrapper script named wrapper in installpath 1765# Create a shell wrapper script named wrapper in installpath
1734# (defaults to the bindir) to execute target (default of wrapper) by 1766# (defaults to the bindir) to execute target (default of wrapper) by
1735# first optionally setting LD_LIBRARY_PATH to the colon-delimited 1767# first optionally setting LD_LIBRARY_PATH to the colon-delimited
1736# libpaths followed by optionally changing directory to chdir. 1768# libpaths followed by optionally changing directory to chdir.

Legend:
Removed from v.1.294  
changed lines
  Added in v.1.299

  ViewVC Help
Powered by ViewVC 1.1.20