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

Contents of /eclass/fixheadtails.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.5 - (show annotations) (download)
Sat Jan 22 00:02:08 2005 UTC (9 years, 10 months ago) by langthang
Branch: MAIN
Changes since 1.4: +4 -4 lines
new fixheadtails.eclass from johnm

1 # Copyright 1999-2004 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3 # $Header: /var/cvsroot/gentoo-x86/eclass/fixheadtails.eclass,v 1.4 2004/12/10 23:17:11 johnm Exp $
4 #
5 # Author John Mylchreest <johnm@gentoo.org>
6
7 ECLASS=fixheadtails
8 INHERITED="$INHERITED $ECLASS"
9 DEPEND="${DEPEND} >=sys-apps/sed-4"
10
11 # ht_fix_all
12 # This fixes all files within the current directory.
13 # Do be used in src_unpack ; cd ${S}; ht_fix_all
14
15 # ht_fix_file <param> [<param>] [<param>]..
16 # This fixes the files passed by PARAM
17 # to be used for specific files. ie: ht_fix_file "${FILESDIR}/mypatch.patch"
18
19 do_sed_fix() {
20 sed -i \
21 -e 's/head \+-\([0-9]\)/head -n \1/g' \
22 -e 's/tail \+\([-+][0-9]\+\)c/tail -c \1/g' \
23 -e 's/tail \+\([-+][0-9]\)/tail -n \1/g' ${1} || \
24 die "sed ${1} failed"
25 }
26
27 ht_fix_file() {
28 local i
29
30 einfo "Replacing obsolete head/tail with POSIX compliant ones"
31 for i in "${@}"
32 do
33 do_sed_fix ${i}
34 done
35 }
36
37 ht_fix_all() {
38 local MATCHES
39 MATCHES="$(grep -l -i -R -e "head -[ 0-9]" -e "tail [+-][ 0-9]" * | sort -u)"
40 ht_fix_file ${MATCHES}
41 }

  ViewVC Help
Powered by ViewVC 1.1.20