From 1d762d9ff64547f8b6917fe33d0cd58770c53ef0 Mon Sep 17 00:00:00 2001 From: John Mylchreest Date: Wed, 17 Sep 2003 21:15:18 +0000 Subject: to fix all head/tail syntax --- eclass/fixheadtails.eclass | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 eclass/fixheadtails.eclass (limited to 'eclass') 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 + +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 [] [].. +# 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 +} -- cgit v1.2.3-65-gdbad