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

Diff of /eclass/eutils.eclass

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

Revision 1.298 Revision 1.302
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.298 2008/02/20 12:36:14 hollow Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/eutils.eclass,v 1.302 2008/08/17 22:21:52 opfer 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
48 done 48 done
49 fi 49 fi
50} 50}
51 51
52# @FUNCTION: ecvs_clean 52# @FUNCTION: ecvs_clean
53# @USAGE: <dir> [more dirs ...] 53# @USAGE: [list of dirs]
54# @DESCRIPTION: 54# @DESCRIPTION:
55# Remove CVS directories recursiveley. Useful when a source tarball contains 55# Remove CVS directories recursiveley. Useful when a source tarball contains
56# internal CVS directories. 56# internal CVS directories. Defaults to $PWD.
57ecvs_clean() { 57ecvs_clean() {
58 [[ $# -gt 0 ]] || set -- . 58 [[ -z $* ]] && set -- .
59 find "$@" -type d -name 'CVS' -prune -print0 | xargs -0 rm -rf 59 find "$@" -type d -name 'CVS' -prune -print0 | xargs -0 rm -rf
60 find "$@" -type f -name '.cvs*' -print0 | xargs -0 rm -rf 60 find "$@" -type f -name '.cvs*' -print0 | xargs -0 rm -rf
61} 61}
62 62
63# @FUNCTION: esvn_clean 63# @FUNCTION: esvn_clean
64# @USAGE: <dir> [more dirs ...] 64# @USAGE: [list of dirs]
65# @DESCRIPTION: 65# @DESCRIPTION:
66# Remove .svn directories recursiveley. Useful when a source tarball contains 66# Remove .svn directories recursiveley. Useful when a source tarball contains
67# internal Subversion directories. 67# internal Subversion directories. Defaults to $PWD.
68esvn_clean() { 68esvn_clean() {
69 [[ $# -gt 0 ]] || set -- . 69 [[ -z $* ]] && set -- .
70 find "$@" -type d -name '.svn' -prune -print0 | xargs -0 rm -rf 70 find "$@" -type d -name '.svn' -prune -print0 | xargs -0 rm -rf
71} 71}
72 72
73# Default directory where patches are located 73# Default directory where patches are located
74EPATCH_SOURCE="${WORKDIR}/patch" 74EPATCH_SOURCE="${WORKDIR}/patch"
1647 ewarn " # revdep-rebuild --library ${lib##*/}" 1647 ewarn " # revdep-rebuild --library ${lib##*/}"
1648 done 1648 done
1649 if [[ ${notice} -eq 1 ]] ; then 1649 if [[ ${notice} -eq 1 ]] ; then
1650 ewarn 1650 ewarn
1651 ewarn "Once you've finished running revdep-rebuild, it should be safe to" 1651 ewarn "Once you've finished running revdep-rebuild, it should be safe to"
1652 ewarn "delete the old libraries." 1652 ewarn "delete the old libraries. Here is a copy & paste for the lazy:"
1653 for lib in "$@" ; do
1654 ewarn " # rm '${lib}'"
1655 done
1653 fi 1656 fi
1654} 1657}
1655 1658
1656# @FUNCTION: built_with_use 1659# @FUNCTION: built_with_use
1657# @USAGE: [--hidden] [--missing <action>] [-a|-o] <DEPEND ATOM> <List of USE flags> 1660# @USAGE: [--hidden] [--missing <action>] [-a|-o] <DEPEND ATOM> <List of USE flags>
1662# --missing option controls the behavior if called on a package that does 1665# --missing option controls the behavior if called on a package that does
1663# not actually support the defined USE flags (aka listed in IUSE). 1666# not actually support the defined USE flags (aka listed in IUSE).
1664# The default is to abort (call die). The -a and -o flags control 1667# The default is to abort (call die). The -a and -o flags control
1665# the requirements of the USE flags. They correspond to "and" and "or" 1668# the requirements of the USE flags. They correspond to "and" and "or"
1666# logic. So the -a flag means all listed USE flags must be enabled 1669# logic. So the -a flag means all listed USE flags must be enabled
1667# while the -o flag means at least one of the listed fIUSE flags must be 1670# while the -o flag means at least one of the listed IUSE flags must be
1668# enabled. The --hidden option is really for internal use only as it 1671# enabled. The --hidden option is really for internal use only as it
1669# means the USE flag we're checking is hidden expanded, so it won't be found 1672# means the USE flag we're checking is hidden expanded, so it won't be found
1670# in IUSE like normal USE flags. 1673# in IUSE like normal USE flags.
1671# 1674#
1672# Remember that this function isn't terribly intelligent so order of optional 1675# Remember that this function isn't terribly intelligent so order of optional
1707 die) die "Unable to determine what USE flags $PKG was built with";; 1710 die) die "Unable to determine what USE flags $PKG was built with";;
1708 esac 1711 esac
1709 fi 1712 fi
1710 1713
1711 if [[ ${hidden} == "no" ]] ; then 1714 if [[ ${hidden} == "no" ]] ; then
1712 local IUSE_BUILT=$(<${IUSEFILE}) 1715 local IUSE_BUILT=( $(<"${IUSEFILE}") )
1713 # Don't check USE_EXPAND #147237 1716 # Don't check USE_EXPAND #147237
1714 local expand 1717 local expand
1715 for expand in $(echo ${USE_EXPAND} | tr '[:upper:]' '[:lower:]') ; do 1718 for expand in $(echo ${USE_EXPAND} | tr '[:upper:]' '[:lower:]') ; do
1716 if [[ $1 == ${expand}_* ]] ; then 1719 if [[ $1 == ${expand}_* ]] ; then
1717 expand="" 1720 expand=""
1718 break 1721 break
1719 fi 1722 fi
1720 done 1723 done
1721 if [[ -n ${expand} ]] ; then 1724 if [[ -n ${expand} ]] ; then
1722 if ! has $1 ${IUSE_BUILT} ; then 1725 if ! has $1 ${IUSE_BUILT[@]#[-+]} ; then
1723 case ${missing_action} in 1726 case ${missing_action} in
1724 true) return 0;; 1727 true) return 0;;
1725 false) return 1;; 1728 false) return 1;;
1726 die) die "$PKG does not actually support the $1 USE flag!";; 1729 die) die "$PKG does not actually support the $1 USE flag!";;
1727 esac 1730 esac

Legend:
Removed from v.1.298  
changed lines
  Added in v.1.302

  ViewVC Help
Powered by ViewVC 1.1.20