| 1 |
# Copyright 1999-2003 Gentoo Technologies, Inc. |
| 2 |
# Distributed under the terms of the GNU General Public License v2 |
| 3 |
# $Header: /home/cvsroot/gentoo-x86/eclass/flag-o-matic.eclass,v 1.24 2003/07/22 12:48:11 aliz Exp $ |
| 4 |
# |
| 5 |
# Author John Mylchreest <johnm@gentoo.org> |
| 6 |
|
| 7 |
ECLASS=fixheadtails |
| 8 |
INHERITED="$INHERITED $ECLASS" |
| 9 |
|
| 10 |
# ht_fix_all |
| 11 |
# This fixes all files within the current directory. |
| 12 |
# Do be used in src_unpack ; cd ${S}; ht_fix_all |
| 13 |
|
| 14 |
# ht_fix_file <param> [<param>] [<param>].. |
| 15 |
# This fixes the files passed by PARAM |
| 16 |
# to be used for specific files. ie: ht_fix_file "${FILESDIR}/mypatch.patch" |
| 17 |
|
| 18 |
ht_fix_all() { |
| 19 |
local MATCHES |
| 20 |
|
| 21 |
einfo "Replacing obsolete head/tail with posix compliant ones" |
| 22 |
for MATCHES in $(grep -i -R -e "head -[ 0-9]" -e "tail [+-][ 0-9]" * | cut -f1 -d: | sort -u) ; do |
| 23 |
cp -f ${MATCHES} ${MATCHES}.orig |
| 24 |
sed -e 's/head -\(.*\)/head -n \1/' -e 's/tail \([-+]\)\(.*\)/tail -n \1\2/' \ |
| 25 |
< ${MATCHES}.orig \ |
| 26 |
> ${MATCHES} |
| 27 |
rm ${MATCHES}.orig |
| 28 |
done |
| 29 |
} |
| 30 |
|
| 31 |
ht_fix_file() { |
| 32 |
local i |
| 33 |
|
| 34 |
einfo "Replacing obsolete head/tail with posix compliant ones" |
| 35 |
for i in "${@}" |
| 36 |
do |
| 37 |
if [ -n "$(grep -i -e "head -[ 0-9]" -e "tail [+-][ 0-9]" ${i})" ] ; then |
| 38 |
cp -f ${i} ${i}.orig |
| 39 |
sed -e 's/head -\(.*\)/head -n \1/' -e 's/tail \([-+]\)\(.*\)/tail -n \1\2/' \ |
| 40 |
< ${i}.orig \ |
| 41 |
> ${i} |
| 42 |
rm ${i}.orig |
| 43 |
fi |
| 44 |
done |
| 45 |
eend |
| 46 |
} |