summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2007-12-18 03:16:11 +0000
committerZac Medico <zmedico@gentoo.org>2007-12-18 03:16:11 +0000
commit84a6b4b3d93a33266a77b3f18466dfaa12f19362 (patch)
tree19871125716c86223a011f613236eec82b831dbe
parent7a9fb6c469c7354ffcafbb4912a4c8f344383d84 (diff)
downloadportage-84a6b4b3d93a33266a77b3f18466dfaa12f19362.tar.gz
portage-84a6b4b3d93a33266a77b3f18466dfaa12f19362.tar.bz2
portage-84a6b4b3d93a33266a77b3f18466dfaa12f19362.zip
Generalize the sed -> gsed wrapper script so that it's
possible to create awk, make, and patch symlinks that behave analogously. These symlinks will make it unnecessary for default-bsd profiles to define profile.bashrc aliases for these commands. svn path=/main/trunk/; revision=8942
-rwxr-xr-xbin/sed22
1 files changed, 12 insertions, 10 deletions
diff --git a/bin/sed b/bin/sed
index 0a798acb4..27d6900b4 100755
--- a/bin/sed
+++ b/bin/sed
@@ -1,21 +1,23 @@
-#!/bin/bash
-# Copyright 2006 Gentoo Foundation
+#!/usr/bin/env bash
+# Copyright 2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-
-scriptpath="${BASH_SOURCE[0]}"
+# $Id$
+
+scriptpath=${BASH_SOURCE[0]}
+scriptname=${scriptpath%%*/}
-if [[ -n ${ESED} ]]; then
+if [[ sed == ${scriptname} ]] && [[ -n ${ESED} ]]; then
exec ${ESED} "$@"
-elif type -P gsed > /dev/null ; then
- exec gsed "$@"
+elif type -P g${scriptname} > /dev/null ; then
+ exec g${scriptname} "$@"
else
old_IFS="${IFS}"
IFS=":"
for path in $PATH; do
- [[ ${path}/sed == $scriptpath ]] && continue
- if [[ -x $path/sed ]]; then
- exec $path/sed "$@"
+ [[ ${path}/${scriptname} == ${scriptpath} ]] && continue
+ if [[ -x ${path}/${scriptname} ]]; then
+ exec ${path}/${scriptname} "$@"
exit 0
fi
done