52 lines
1.6 KiB
Bash
52 lines
1.6 KiB
Bash
# 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:
|