diff options
author | John Mylchreest <johnm@gentoo.org> | 2003-09-17 21:15:18 +0000 |
---|---|---|
committer | John Mylchreest <johnm@gentoo.org> | 2003-09-17 21:15:18 +0000 |
commit | 1d762d9ff64547f8b6917fe33d0cd58770c53ef0 (patch) | |
tree | d3dd95d2c373ed0f5a71469494234bb3efbf927a /eclass | |
parent | ia64 keywords (diff) | |
download | gentoo-2-1d762d9ff64547f8b6917fe33d0cd58770c53ef0.tar.gz gentoo-2-1d762d9ff64547f8b6917fe33d0cd58770c53ef0.tar.bz2 gentoo-2-1d762d9ff64547f8b6917fe33d0cd58770c53ef0.zip |
to fix all head/tail syntax
Diffstat (limited to 'eclass')
-rw-r--r-- | eclass/fixheadtails.eclass | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/eclass/fixheadtails.eclass b/eclass/fixheadtails.eclass new file mode 100644 index 000000000000..d9518e45d0d5 --- /dev/null +++ b/eclass/fixheadtails.eclass @@ -0,0 +1,46 @@ +# Copyright 1999-2003 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/eclass/fixheadtails.eclass,v 1.1 2003/09/17 21:15:18 johnm Exp $ +# +# Author John Mylchreest <johnm@gentoo.org> + +ECLASS=fixheadtails +INHERITED="$INHERITED $ECLASS" + +# ht_fix_all +# This fixes all files within the current directory. +# Do be used in src_unpack ; cd ${S}; ht_fix_all + +# ht_fix_file <param> [<param>] [<param>].. +# This fixes the files passed by PARAM +# to be used for specific files. ie: ht_fix_file "${FILESDIR}/mypatch.patch" + +ht_fix_all() { + local MATCHES + + einfo "Replacing obsolete head/tail with posix compliant ones" + for MATCHES in $(grep -i -R -e "head -[ 0-9]" -e "tail [+-][ 0-9]" * | cut -f1 -d: | sort -u) ; do + cp -f ${MATCHES} ${MATCHES}.orig + sed -e 's/head -\(.*\)/head -n \1/' -e 's/tail \([-+]\)\(.*\)/tail -n \1\2/' \ + < ${MATCHES}.orig \ + > ${MATCHES} + rm ${MATCHES}.orig + done +} + +ht_fix_file() { + local i + + einfo "Replacing obsolete head/tail with posix compliant ones" + for i in "${@}" + do + if [ -n "$(grep -i -e "head -[ 0-9]" -e "tail [+-][ 0-9]" ${i})" ] ; then + cp -f ${i} ${i}.orig + sed -e 's/head -\(.*\)/head -n \1/' -e 's/tail \([-+]\)\(.*\)/tail -n \1\2/' \ + < ${i}.orig \ + > ${i} + rm ${i}.orig + fi + done +eend +} |