diff options
Diffstat (limited to 'eclass')
-rw-r--r-- | eclass/eutils.eclass | 3 | ||||
-rw-r--r-- | eclass/fixheadtails.eclass | 36 |
2 files changed, 17 insertions, 22 deletions
diff --git a/eclass/eutils.eclass b/eclass/eutils.eclass index a78e3d7f051b..3ae26aab9ae0 100644 --- a/eclass/eutils.eclass +++ b/eclass/eutils.eclass @@ -1,6 +1,6 @@ # Copyright 1999-2003 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/eutils.eclass,v 1.68 2003/11/26 20:15:10 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/eutils.eclass,v 1.69 2003/11/26 22:13:35 mr_bones_ Exp $ # # Author: Martin Schlemmer <azarah@gentoo.org> # @@ -974,6 +974,7 @@ unpack_makeself() { ;; bzip2*) tail -n +${skip} ${src} | bzip2 -dc | tar -xf - + ;; gzip*) tail -n +${skip} ${src} | tar -xzf - ;; diff --git a/eclass/fixheadtails.eclass b/eclass/fixheadtails.eclass index d9518e45d0d5..f4c61abdf1d2 100644 --- a/eclass/fixheadtails.eclass +++ b/eclass/fixheadtails.eclass @@ -1,11 +1,12 @@ # 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 $ +# $Header: /var/cvsroot/gentoo-x86/eclass/fixheadtails.eclass,v 1.2 2003/11/26 22:13:35 mr_bones_ Exp $ # # Author John Mylchreest <johnm@gentoo.org> ECLASS=fixheadtails INHERITED="$INHERITED $ECLASS" +DEPEND="${DEPEND} >=sys-apps/sed-4" # ht_fix_all # This fixes all files within the current directory. @@ -15,32 +16,25 @@ INHERITED="$INHERITED $ECLASS" # 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 +do_sed_fix() { + sed -i \ + -e 's/head -\(.*\)/head -n \1/' \ + -e 's/tail \([-+]\)\(.*\)/tail -n \1\2/' ${1} || \ + die "sed ${1} failed" } ht_fix_file() { local i - einfo "Replacing obsolete head/tail with posix compliant ones" + 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 + do_sed_fix ${i} done -eend +} + +ht_fix_all() { + local MATCHES + MATCHES="$(grep -l -i -R -e "head -[ 0-9]" -e "tail [+-][ 0-9]" * | sort -u)" + ht_fix_file ${MATCHES} } |