summaryrefslogtreecommitdiffstats
path: root/bin/ebuild-helpers/dosed
blob: 24ec20587907eaee1ba2e2b0eacdc4a3203726b5 (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
47
#!/bin/bash
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

case "${EAPI}" in
	0|1|2|3)
		;;
	*)
		die "'${0##*/}' has been banned for EAPI '$EAPI'"
		exit 1
		;;
esac

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

[[ " ${FEATURES} " == *" force-prefix "* ]] || \
	case "$EAPI" in 0|1|2) ED=${D} ;; esac

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