Lines 3-91
Link Here
|
3 |
# $Header: /var/cvsroot/gentoo-src/rc-scripts/src/awk/cachedepends.awk,v 1.19 2004/11/15 16:23:41 vapier Exp $ |
3 |
# $Header: /var/cvsroot/gentoo-src/rc-scripts/src/awk/cachedepends.awk,v 1.19 2004/11/15 16:23:41 vapier Exp $ |
4 |
|
4 |
|
5 |
function print_start() { |
5 |
function print_start() { |
6 |
print "source /sbin/functions.sh" >> TMPCACHE |
6 |
print "source /sbin/functions.sh" |
7 |
print "" >> TMPCACHE |
7 |
print "" |
8 |
print "need() {" >> TMPCACHE |
8 |
print "need() {" |
9 |
print " echo \"NEED $*\"; return 0" >> TMPCACHE |
9 |
print " echo \"NEED $*\"; return 0" |
10 |
print "}" >> TMPCACHE |
10 |
print "}" |
11 |
print "" >> TMPCACHE |
11 |
print "" |
12 |
print "use() {" >> TMPCACHE |
12 |
print "use() {" |
13 |
print " echo \"USE $*\"; return 0" >> TMPCACHE |
13 |
print " echo \"USE $*\"; return 0" |
14 |
print "}" >> TMPCACHE |
14 |
print "}" |
15 |
print "" >> TMPCACHE |
15 |
print "" |
16 |
print "before() {" >> TMPCACHE |
16 |
print "before() {" |
17 |
print " echo \"BEFORE $*\"; return 0" >> TMPCACHE |
17 |
print " echo \"BEFORE $*\"; return 0" |
18 |
print "}" >> TMPCACHE |
18 |
print "}" |
19 |
print "" >> TMPCACHE |
19 |
print "" |
20 |
print "after() {" >> TMPCACHE |
20 |
print "after() {" |
21 |
print " echo \"AFTER $*\"; return 0" >> TMPCACHE |
21 |
print " echo \"AFTER $*\"; return 0" |
22 |
print "}" >> TMPCACHE |
22 |
print "}" |
23 |
print "" >> TMPCACHE |
23 |
print "" |
24 |
print "provide() {" >> TMPCACHE |
24 |
print "provide() {" |
25 |
print " echo \"PROVIDE $*\"; return 0" >> TMPCACHE |
25 |
print " echo \"PROVIDE $*\"; return 0" |
26 |
print "}" >> TMPCACHE |
26 |
print "}" |
27 |
print "" >> TMPCACHE |
27 |
print "" |
28 |
print "parallel() {" >> TMPCACHE |
28 |
print "parallel() {" |
29 |
print " echo \"PARALLEL $*\"; return 0" >> TMPCACHE |
29 |
print " echo \"PARALLEL $*\"; return 0" |
30 |
print "}" >> TMPCACHE |
30 |
print "}" |
31 |
print "" >> TMPCACHE |
31 |
print "" |
32 |
} |
32 |
} |
33 |
|
33 |
|
34 |
function print_header1(mtime) { |
34 |
function print_header1(mtime) { |
35 |
print "#*** " MYFILENAME " ***" >> TMPCACHE |
35 |
print "#*** " MYFILENAME " ***" |
36 |
print "" >> TMPCACHE |
36 |
print "" |
37 |
print "myservice=\"" MYFILENAME "\"" >> TMPCACHE |
37 |
print "myservice=\"" MYFILENAME "\"" |
38 |
print "myservice=\"${myservice##*/}\"" >> TMPCACHE |
38 |
print "myservice=\"${myservice##*/}\"" |
39 |
print "echo \"RCSCRIPT ${myservice}\"" >> TMPCACHE |
39 |
print "echo \"RCSCRIPT ${myservice}\"" |
40 |
print "" >> TMPCACHE |
40 |
print "" |
41 |
print "echo \"MTIME " mtime "\"" >> TMPCACHE |
41 |
print "echo \"MTIME " mtime "\"" |
42 |
print "" >> TMPCACHE |
42 |
print "" |
43 |
} |
43 |
} |
44 |
|
44 |
|
45 |
function print_header2(mtime) { |
45 |
function print_header2(mtime) { |
46 |
print "(" >> TMPCACHE |
46 |
print "(" |
47 |
print " # Get settings for rc-script ..." >> TMPCACHE |
47 |
print " # Get settings for rc-script ..." |
48 |
print "" >> TMPCACHE |
48 |
print "" |
49 |
print " [ -e \"/etc/conf.d/${myservice}\" ] && source \"/etc/conf.d/${myservice}\"" >> TMPCACHE |
49 |
print " [ -e \"/etc/conf.d/${myservice}\" ] && source \"/etc/conf.d/${myservice}\"" |
50 |
print "" >> TMPCACHE |
50 |
print "" |
51 |
print " [ -e /etc/conf.d/net ] && \\" >> TMPCACHE |
51 |
print " [ -e /etc/conf.d/net ] && \\" |
52 |
print " [ \"${myservice%%.*}\" = \"net\" ] && \\" >> TMPCACHE |
52 |
print " [ \"${myservice%%.*}\" = \"net\" ] && \\" |
53 |
print " [ \"${myservice##*.}\" != \"${myservice}\" ] && source /etc/conf.d/net" >> TMPCACHE |
53 |
print " [ \"${myservice##*.}\" != \"${myservice}\" ] && source /etc/conf.d/net" |
54 |
print "" >> TMPCACHE |
54 |
print "" |
55 |
print " [ -e /etc/rc.conf ] && source /etc/rc.conf" >> TMPCACHE |
55 |
print " [ -e /etc/rc.conf ] && source /etc/rc.conf" |
56 |
print "" >> TMPCACHE |
56 |
print "" |
57 |
print " depend() {" >> TMPCACHE |
57 |
print " depend() {" |
58 |
print " return 0" >> TMPCACHE |
58 |
print " return 0" |
59 |
print " }" >> TMPCACHE |
59 |
print " }" |
60 |
print "" >> TMPCACHE |
60 |
print "" |
61 |
} |
61 |
} |
62 |
|
62 |
|
63 |
function print_end() { |
63 |
function print_end() { |
64 |
print "" >> TMPCACHE |
64 |
print "" |
65 |
print " depend" >> TMPCACHE |
65 |
print " depend" |
66 |
print ")" >> TMPCACHE |
66 |
print ")" |
67 |
print "" >> TMPCACHE |
67 |
print "" |
68 |
} |
68 |
} |
69 |
|
69 |
|
70 |
BEGIN { |
70 |
BEGIN { |
71 |
|
71 |
|
72 |
extension("/lib/rcscripts/filefuncs.so", "dlload") |
72 |
extension("/lib/rcscripts/filefuncs.so", "dlload") |
73 |
|
73 |
|
74 |
# Get our environment variables |
|
|
75 |
SVCDIR = ENVIRON["SVCDIR"] |
76 |
if (SVCDIR == "") { |
77 |
eerror("Could not get SVCDIR!") |
78 |
exit 1 |
79 |
} |
80 |
|
81 |
# Since this could be called more than once simultaneously, use a |
82 |
# temporary cache and rename when finished. See bug 47111 |
83 |
("/bin/mktemp "SVCDIR"/depcache.XXXXXXX") | getline TMPCACHE |
84 |
if (TMPCACHE == "") { |
85 |
eerror("Failed to create temporary cache!") |
86 |
exit 1 |
87 |
} |
88 |
|
89 |
pipe = "ls /etc/init.d/*" |
74 |
pipe = "ls /etc/init.d/*" |
90 |
while ((pipe | getline tmpstring) > 0) |
75 |
while ((pipe | getline tmpstring) > 0) |
91 |
scripts = scripts " " tmpstring |
76 |
scripts = scripts " " tmpstring |
Lines 106-112
Link Here
|
106 |
|
91 |
|
107 |
if (RCCOUNT == 0) { |
92 |
if (RCCOUNT == 0) { |
108 |
eerror("No scripts to process!") |
93 |
eerror("No scripts to process!") |
109 |
system("rm -f "TMPCACHE) |
|
|
110 |
exit 1 |
94 |
exit 1 |
111 |
} |
95 |
} |
112 |
|
96 |
|
Lines 156-162
Link Here
|
156 |
GOTDEPEND = 1 |
140 |
GOTDEPEND = 1 |
157 |
|
141 |
|
158 |
print_header2() |
142 |
print_header2() |
159 |
print " # Actual depend() function ..." >> TMPCACHE |
143 |
print " # Actual depend() function ..." |
160 |
} |
144 |
} |
161 |
|
145 |
|
162 |
# We have the depend function... |
146 |
# We have the depend function... |
Lines 174-183
Link Here
|
174 |
# Make sure depend() contain something, else bash |
158 |
# Make sure depend() contain something, else bash |
175 |
# errors out (empty function). |
159 |
# errors out (empty function). |
176 |
if ((SBCOUNT > 0) && (COUNT == 0)) |
160 |
if ((SBCOUNT > 0) && (COUNT == 0)) |
177 |
print " \treturn 0" >> TMPCACHE |
161 |
print " \treturn 0" |
178 |
|
162 |
|
179 |
# Print the depend() function |
163 |
# Print the depend() function |
180 |
print " " $0 >> TMPCACHE |
164 |
print " " $0 |
181 |
|
165 |
|
182 |
# If COUNT=0, and SBCOUNT>0, it means we have read |
166 |
# If COUNT=0, and SBCOUNT>0, it means we have read |
183 |
# all matching '{' and '}' for depend(), so stop. |
167 |
# all matching '{' and '}' for depend(), so stop. |
Lines 205-211
Link Here
|
205 |
|
189 |
|
206 |
} |
190 |
} |
207 |
|
191 |
|
208 |
system("mv "TMPCACHE" "SVCDIR"/depcache") |
|
|
209 |
} |
192 |
} |
210 |
|
193 |
|
211 |
|
194 |
|