/[gentoo-x86]/eclass/fixheadtails.eclass
Gentoo

Contents of /eclass/fixheadtails.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide annotations) (download)
Wed Sep 17 21:15:18 2003 UTC (11 years, 11 months ago) by johnm
Branch: MAIN
to fix all head/tail syntax

1 johnm 1.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     }

  ViewVC Help
Powered by ViewVC 1.1.20