summaryrefslogtreecommitdiffstats
path: root/bin/ebuild-helpers/dosed
blob: 7db0629635fab2889e86740f56fedba96927cfb9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#!/bin/bash
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

source "${PORTAGE_BIN_PATH:-/usr/lib/portage/bin}"/isolated-functions.sh

if ! ___eapi_has_dosed; then
	die "'${0##*/}' has been banned for EAPI '$EAPI'"
	exit 1
fi

if [[ $# -lt 1 ]] ; then
	echo "!!! ${0##*/}: at least one argument needed" >&2
	exit 1
fi

if ! ___eapi_has_prefix_variables; then
	ED=${D}
fi

ret=0
file_found=0
mysed="s:${ED}::g"

for x in "$@" ; do
	y=$ED${x#/}
	if [ -e "${y}" ] ; then
		if [ -f "${y}" ] ; then
			file_found=1
			sed -i -e "${mysed}" "${y}"
		else
			echo "${y} is not a regular file!" >&2
			false
		fi
		((ret|=$?))
	else
		mysed="${x}"
	fi
done

if [ $file_found = 0 ] ; then
	echo "!!! ${0##*/}: $y does not exist" 1>&2
	((ret|=1))
fi

exit $ret