Gentoo Archives: gentoo-dev

From: Donnie Berkholz <dberkholz@g.o>
To: gentoo-dev@l.g.o, voyageur@g.o
Subject: [gentoo-dev] Re: [gentoo-commits] gentoo-x86 commit in eclass: gnustep-base.eclass
Date: Fri, 05 Oct 2007 18:17:25
Message-Id: 20071005180356.GK29572@supernova
1 On 10:51 Fri 05 Oct , Bernard Cafarelli (voyageur) wrote:
2 > 1.4 eclass/gnustep-base.eclass
3 >
4 > file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/gnustep-base.eclass?rev=1.4&view=markup
5 > plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/gnustep-base.eclass?rev=1.4&content-type=text/plain
6 > diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/gnustep-base.eclass?r1=1.3&r2=1.4
7
8 > @@ -166,8 +166,43 @@
9 >
10 > local cfile=config-${PN}.sh
11 >
12 > - echo '#!/usr/bin/env bash' > "${T}"/${cfile}
13 > - echo "echo Applying ${P} default configuration ..." >> "${T}"/${cfile}
14 > + cat << EOF > "${T}"/${cfile}
15 > +#!/usr/bin/env bash
16 > +gnustep_append_default() {
17 > + if [[ -z \$1 || -z \$2 || -z \$3 ]]; then
18 > + echo "warning: invalid script invocation"
19 > + return
20 > + fi
21 > + dom=\$1
22 > + key=\$2
23 > + val=\$3
24 > + cur=\$(defaults read \${dom} \${key}) 2> /dev/null
25 > + if [[ -z \$cur ]] ; then
26 > + echo " * setting \${dom} \${key}"
27 > + defaults write \${dom} \${key} "( \${val} )"
28 > + elif [[ \${cur} != *\${val}* ]] ; then
29 > + echo " * adding \${val} to \${dom} \${key}"
30 > + echo "\${cur%)\'}, \"\${val}\" )'" | defaults write
31 > + else
32 > + echo " * \${val} already present in \${dom} \${key}"
33 > + fi
34 > +}
35 > +
36 > +gnustep_set_default() {
37 > + if [[ -z \$1 || -z \$2 || -z \$3 ]]; then
38 > + echo "warning: invalid script invocation"
39 > + return
40 > + fi
41 > + dom=\$1
42 > + key=\$2
43 > + val=\$3
44 > + echo " * setting \${dom} \${key}"
45 > + defaults write \${dom} \${key} \${val}
46 > +}
47 > +
48 > +echo "Applying ${P} default configuration ..."
49 > +EOF
50 > +
51
52 There's gotta be a better way of doing this. All those escapes really
53 start to obfuscate the code. Anyone got a better idea?
54
55 Thanks,
56 Donnie
57 --
58 gentoo-dev@g.o mailing list

Replies