| # Copyright 1999-2009 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| # $Id: prefix.eclass,v 1.3 2009/11/16 21:39:00 grobian Exp $ |
| |
| # @ECLASS: prefix.eclass |
| # @MAINTAINER: |
| # Feel free to contact the Prefix team through <prefix@gentoo.org> if |
| # you have problems, suggestions or questions. |
| # @BLURB: Eclass to provide Prefix functionality |
| # @DESCRIPTION: |
| # Gentoo Prefix allows users to install into a self defined offset |
| # located somewhere in the filesystem. Prefix ebuilds require |
| # additional functions and variables which are defined by this eclass. |
| |
| # @ECLASS-VARIABLE: EPREFIX |
| # @DESCRIPTION: |
| # The offset prefix of a Gentoo Prefix installation. When Gentoo Prefix |
| # is not used, ${EPREFIX} should be "". Prefix Portage sets EPREFIX, |
| # hence this eclass has nothing to do here in that case. |
| # Note that setting EPREFIX in the environment with Prefix Portage sets |
| # Portage into cross-prefix mode. |
| if [[ ! ${EPREFIX+set} ]]; then |
| export EPREFIX='' |
| fi |
| |
| |
| # @FUNCTION: eprefixify |
| # @USAGE: <list of to be eprefixified files> |
| # @DESCRIPTION: |
| # replaces @GENTOO_PORTAGE_EPREFIX@ with ${EPREFIX} for the given files, |
| # dies if no arguments are given, a file does not exist, or changing a |
| # file failed. |
| eprefixify() { |
| [[ $# -lt 1 ]] && die "at least one argument required" |
| |
| einfo "Adjusting to prefix ${EPREFIX:-/}" |
| local x |
| for x in "$@" ; do |
| if [[ -e ${x} ]] ; then |
| ebegin " ${x##*/}" |
| sed -i -e "s|@GENTOO_PORTAGE_EPREFIX@|${EPREFIX}|g" "${x}" |
| eend $? || die "failed to eprefixify ${x}" |
| else |
| die "${x} does not exist" |
| fi |
| done |
| |
| return 0 |
| } |
| |
| |
| # vim: tw=72: |