/[pdpsoft]/trunk/grid-mw-security/glexec/util/glexec_from_source/glexec_from_source.sh
ViewVC logotype

Contents of /trunk/grid-mw-security/glexec/util/glexec_from_source/glexec_from_source.sh

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1821 - (show annotations) (download) (as text)
Tue Jun 29 15:06:11 2010 UTC (11 years, 6 months ago) by msalle
File MIME type: application/x-shellscript
File size: 19702 byte(s)
Move towards the new modular scripts, which can build all or just a few
components.


1 #!/bin/sh
2
3 # Example script to demonstrate how to build gLExec and its gLite dependencies
4 # from source as obtained from CVS.
5 #
6 # Author: Mischa Sall\'e
7 #
8 # Questions and comments: <grid-mw-security@nikhef.nl>
9 #
10 ##############################################################################
11 # Global definitions, change where needed:
12 ##############################################################################
13
14 export platform=SUSE11_64 # Valid options: RH4_32 RH5_64 SUSE11_64 Deb5_64
15 export source=/tmp/source # Where to download sources
16 export globus=/tmp/build/globus # Where to install globus
17 export gridsite=/tmp/build/gridsite # Where to install/find gridsite
18 export glite=/tmp/build/glite # Where to find glite builds
19
20 # Do NOT change the remaining global variables
21 export prefix=${glite} # Where to install glite builds
22 # (normally same as ${glite}
23 #export CVSROOT=:pserver:anonymous@glite.cvs.cern.ch:/cvs/glite # anonymous CVS
24 export webcvs=http://glite.cvs.cern.ch/cgi-bin/glite.cgi/ # Web CVS
25
26 # Valid return codes: anything less than RC_FAILED is non-blocking
27 export RC_SUCCESS=0
28 export RC_SKIPPED=1
29 export RC_FAILED=2
30 export RC_MISSDEP=3
31
32 # Parse command line options
33 DEPEND=1
34 USAGE=0
35 targets=""
36 while [ $# -gt 0 ];do
37 case "$1" in
38 -c*) DEPEND=0 ;;
39 -h*) USAGE=1 ;;
40 *) targets="$targets $1" ;;
41 esac
42 shift
43 done
44
45 # Find correct globus for platform
46 case "$platform" in
47 RH4_32)
48 export globus_url=http://etics-repository.cern.ch/repository/download/registered/vdt/globus/4.0.3-VDT-1.6.1/slc4_ia32_gcc346/
49 export globus_tgz=globus-4.0.3-VDT-1.6.1-7.tar.gz
50 export globus_flav=gcc32dbg
51 ;;
52 RH5_64)
53 export globus_url=http://etics-repository.cern.ch/repository/download/registered/vdt/globus/4.0.7-VDT-1.10.1/sl5_x86_64_gcc412/
54 export globus_tgz=globus-4.0.7-VDT-1.10.1-1.tar.gz
55 export globus_flav=gcc64dbg
56 ;;
57 SUSE11_64)
58 export globus_url=http://eticssoft.web.cern.ch/eticssoft/repository//vdt/globus/4.0.7-VDT-1.10.1/SUSE11_x86_64_gcc432/
59 export globus_tgz=globus-4.0.7-VDT-1.10.1-1.tar.gz
60 export globus_flav=gcc64dbg
61 ;;
62 Deb5_64)
63 export globus_url=http://etics-repository.cern.ch/repository/download/registered/vdt/globus/4.0.8-VDT-2.0.0/deb5_x86_64_gcc432/
64 export globus_tgz=globus-4.0.8-VDT-2.0.0-2.tar.gz
65 export globus_flav=gcc64dbg
66 ;;
67 *)
68 echo "Unknown platform: \"$platform\"" >&2
69 echo "Valid platforms are:" >&2
70 echo " RH4_32" >&2
71 echo " RH5_64" >&2
72 echo " SUSE11_64" >&2
73 echo " Deb5_64" >&2
74 exit 1
75 ;;
76 esac
77
78 ##############################################################################
79 # Convenience functions
80 ##############################################################################
81
82 # Function which is used to create the dependency checking functions.
83 # arguments:
84 # $1 - target
85 # $2... - dependencies
86 setdeps() {
87 if [ $# -eq 0 ];then
88 echo "Error: $0 needs at least one argument." >&2
89 return $RC_FAILED
90 fi
91
92 # target
93 target=$1; shift
94 known_targets="$known_targets $target"
95
96 eval rc_$target=$RC_SKIPPED
97
98 depstring=""
99 # Only when we DO want dependency checking...
100 if [ $DEPEND -eq 1 ];then
101 while [ $# -gt 0 ];do
102 depstring="$depstring \$rc_$1 -lt \$RC_FAILED"
103 shift
104 if [ $# -gt 0 ];then
105 depstring="$depstring -a"
106 fi
107 done
108 fi
109
110 # define the dep_ function
111 if [ -n "$depstring" ];then
112 eval "dep_$target() {
113 if [ $depstring ];then
114 $target
115 rc_$target=\$?
116 else
117 rc_$target=\$RC_MISSDEP
118 fi
119 }"
120 else
121 eval "dep_$target() {
122 $target
123 rc_$target=\$?
124 }"
125 fi
126 }
127
128 # cvs checkout wrapper: a wget + untar is much faster than anonymous cvs
129 # checkout, especially due to a 30 sec. timeout of the CVS server.
130 cvsget() {
131 if [ $# -eq 1 ];then
132 url=${webcvs}${1}.tar.gz\?view=tar
133 elif [ $# -eq 2 ];then
134 url=${webcvs}${1}.tar.gz\?view=tar\&pathrev=$2
135 else
136 echo "Syntax error in $0 function" >&2
137 echo "Usage: $0 <component> [tar]" >&2
138 return $RC_FAILED
139 fi
140 # Retrieve tarball and untar on the fly
141 wget -nv -O - $url | tar -zvxf - || return $RC_FAILED
142 return $RC_SUCCESS
143 }
144
145 # Print function for results:
146 # $1 - name of component, result is in $rc_<name of component>
147 print_result() {
148 tool=$1
149 eval rc=\$rc_$tool
150 if [ "$rc" = "$RC_SKIPPED" ];then
151 return
152 fi
153 case "$rc" in
154 $RC_SUCCESS) result="SUCCESS" ;;
155 $RC_MISSDEP) result="MISSING DEPS" ;;
156 $RC_FAILED) result="FAILED" ;;
157 *) result="UNKNOWN: $rc" ;;
158 esac
159 printf "%-30s: %s\n" "$tool" "$result" >&2
160 }
161
162 # Prints usage message
163 usage() {
164 echo "Usage: `basename $0` [options] [targets]"
165 echo
166 echo "Options:"
167 echo " -c don't check dependencies"
168 echo " -h show this helptext"
169 echo
170 echo "Notes:"
171 echo "1. when no targets are specified, build all known targets (see below)."
172 echo "2. targets are build in specified order."
173 echo "3. when checking dependencies, only dependencies which are actually "
174 echo " being build will be checked"
175 echo
176 echo "Known targets:"
177 for target in $known_targets;do
178 echo " $target"
179 done
180 return $RC_SUCCESS
181 }
182
183 ##############################################################################
184 #
185 # Define all building functions
186 #
187 ##############################################################################
188
189 # GLOBUS
190 globus() {
191 cd ${source}
192 mkdir -p ${globus} && \
193 wget -nv -O ${globus_tgz} ${globus_url}${globus_tgz} && \
194 tar -C ${globus} -zxf ${globus_tgz} && \
195 cd ${globus} && \
196 find -type f -name \*.la|while read file;do
197 sed s+/opt/globus+${globus}+g ${file} > ${file}.new && \
198 mv -f ${file}.new ${file}
199 done || return $RC_FAILED
200 return $RC_SUCCESS
201 }
202
203 # VOMS: (C & C++ API only)
204 voms() {
205 cd ${source}
206 cvsget org.glite.security.voms glite-security-voms_R_1_9_16_2 && \
207 cd org.glite.security.voms && \
208 ./configure --prefix=${prefix} --with-globus-prefix=${globus} \
209 --disable-java --with-api-only && \
210 make && \
211 make install || return $RC_FAILED
212 return $RC_SUCCESS
213 }
214
215 # BUILD COMMON-CPP:
216 common_cpp() {
217 cd ${source}
218 cvsget org.glite.build.common-cpp || return $RC_FAILED
219 return $RC_SUCCESS
220 }
221
222 # LCMAPS:
223 lcmaps() {
224 cd ${source}
225 cvsget org.glite.security.lcmaps && \
226 cd org.glite.security.lcmaps && \
227 cp -fp ../org.glite.build.common-cpp/m4/{globus,glite,glite_security,lcmaps}.m4 ./project && \
228 ./bootstrap && \
229 ./configure --prefix=${prefix} --with-glite-location=${glite} \
230 --with-globus-prefix=${globus} \
231 --with-globus-thr-flavor=${globus_flav}pthr \
232 --with-globus-nothr-flavor=${globus_flav} && \
233 make && \
234 make install || return $RC_FAILED
235 return $RC_SUCCESS
236 }
237
238 # LCAS:
239 lcas() {
240 cd ${source}
241 cvsget org.glite.security.lcas && \
242 cd org.glite.security.lcas && \
243 cp -fp ../org.glite.build.common-cpp/m4/{glite,globus,lcmaps}.m4 ./project && \
244 ./bootstrap && \
245 ./configure --prefix=${prefix} --with-glite-location=${glite} \
246 --with-globus-prefix=${globus} \
247 --with-globus-thr-flavor=${globus_flav}pthr \
248 --with-globus-nothr-flavor=${globus_flav} && \
249 make && \
250 make install || return $RC_FAILED
251 return $RC_SUCCESS
252 }
253
254 # LCAS-INTERFACE:
255 lcas_interface() {
256 cd ${source}
257 cvsget org.glite.security.lcas-interface && \
258 cd org.glite.security.lcas-interface && \
259 cp -fp ../org.glite.build.common-cpp/m4/glite.m4 ./project && \
260 ./bootstrap && \
261 ./configure --prefix=${prefix} && \
262 make install || return $RC_FAILED
263 return $RC_SUCCESS
264 }
265
266 # GLEXEC: extra LDFLAG needed (only) for certain platforms, incl Debian-5 64
267 glexec() {
268 cd ${source}
269 cvsget org.glite.security.glexec && \
270 cd org.glite.security.glexec && \
271 cp -fp ../org.glite.build.common-cpp/m4/{glite,globus,lcmaps}.m4 ./project && \
272 ./bootstrap && \
273 LDFLAGS="-Wl,-rpath -Wl,${globus}/lib" \
274 ./configure --prefix=${prefix} \
275 --with-glite-location=${glite} \
276 --with-globus-prefix=${globus} \
277 --with-globus-thr-flavor=${globus_flav}pthr \
278 --with-globus-nothr-flavor=${globus_flav} && \
279 make && \
280 make install || return $RC_FAILED
281 return $RC_SUCCESS
282 }
283
284 # LCMAPS PLUGINS BASIC:
285 lcmaps_plugins_basic() {
286 cd ${source}
287 cvsget org.glite.security.lcmaps-plugins-basic && \
288 cd org.glite.security.lcmaps-plugins-basic && \
289 cp -fp ../org.glite.build.common-cpp/m4/{glite,globus,lcmaps,gridlist}.m4 ./project && \
290 ./bootstrap && \
291 ./configure --prefix=${prefix} --with-glite-location=${glite} \
292 --with-globus-prefix=${globus} \
293 --with-globus-thr-flavor=${globus_flav}pthr \
294 --with-globus-nothr-flavor=${globus_flav} && \
295 make && \
296 make install || return $RC_FAILED
297 return $RC_SUCCESS
298 }
299
300 # LCMAPS PLUGINS VERIFY-PROXY:
301 lcmaps_plugins_verify_proxy() {
302 cd ${source}
303 cvsget org.glite.security.lcmaps-plugins-verify-proxy && \
304 cd org.glite.security.lcmaps-plugins-verify-proxy && \
305 cp -fp ../org.glite.build.common-cpp/m4/{glite,glite_security}.m4 ./project && \
306 ./bootstrap && \
307 ./configure --prefix=${prefix} --with-glite-location=${glite} && \
308 make && \
309 make install || return $RC_FAILED
310 return $RC_SUCCESS
311 }
312
313 # LCMAPS PLUGINS VOMS:
314 lcmaps_plugins_voms() {
315 cd ${source}
316 cvsget org.glite.security.lcmaps-plugins-voms && \
317 cd org.glite.security.lcmaps-plugins-voms && \
318 cp -fp ../org.glite.build.common-cpp/m4/{glite,glite_security,globus,lcmaps,gridlist}.m4 ./project && \
319 ./bootstrap && \
320 ./configure --prefix=${glite} --with-glite-location=${glite} \
321 --with-globus-prefix=${globus} \
322 --with-globus-thr-flavor=${globus_flav}pthr \
323 --with-globus-nothr-flavor=${globus_flav} && \
324 make && \
325 make install || return $RC_FAILED
326 return $RC_SUCCESS
327 }
328
329 # LCMAPS PLUGINS AFS:
330 lcmaps_plugins_afs() {
331 cd ${source}
332 cvsget org.glite.security.lcmaps-plugins-afs && \
333 cd org.glite.security.lcmaps-plugins-afs && \
334 cp -fp ../org.glite.build.common-cpp/m4/{glite,globus}.m4 ./project && \
335 ./bootstrap && \
336 ./configure --prefix=${glite} --with-glite-location=${glite} \
337 --with-globus-prefix=${globus} \
338 --with-globus-thr-flavor=${globus_flav}pthr \
339 --with-globus-nothr-flavor=${globus_flav} && \
340 make && \
341 make install || return $RC_FAILED
342 return $RC_SUCCESS
343 }
344
345 # LCMAPS PLUGINS GUMS:
346 lcmaps_plugins_gums() {
347 cd ${source}
348 cvsget org.glite.security.lcmaps-plugins-gums && \
349 cd org.glite.security.lcmaps-plugins-gums && \
350 cp -fp ../org.glite.build.common-cpp/m4/{glite,glite_security,globus}.m4 ./project && \
351 ./bootstrap && \
352 ./configure --prefix=${glite} --with-glite-location=${glite} \
353 --with-globus-prefix=${globus} \
354 --with-globus-thr-flavor=${globus_flav}pthr \
355 --with-globus-nothr-flavor=${globus_flav} && \
356 make && \
357 make install || return $RC_FAILED
358 return $RC_SUCCESS
359 }
360
361 # PEP-C LIB: Will install in same libdir as LCMAPS
362 pep_c_lib() {
363 cd ${source}
364 # Make sure PEP-C is installed in lcmaps directory or else use default.
365 [ -f "${glite}/lib64/liblcmaps.so" ] && \
366 pepclibdir=${glite}/lib64 || \
367 pepclibdir=${glite}/lib
368 svn co http://svnweb.cern.ch/guest/glxa/pep-c-lib/tags/1_3_0 org.glite.authz.pep-c && \
369 cd org.glite.authz.pep-c && \
370 ./autotools.sh && \
371 ./configure --prefix=${glite} --libdir=${pepclibdir} && \
372 make && \
373 make html && \
374 make install || return $RC_FAILED
375 return $RC_SUCCESS
376 }
377
378 # LCMAPS PLUGINS C-PEP
379 lcmaps_plugins_c_pep() {
380 cd ${source}
381 cvsget org.glite.security.lcmaps-plugins-c-pep && \
382 cd org.glite.security.lcmaps-plugins-c-pep && \
383 cp -fp ../org.glite.build.common-cpp/m4/{glite,glite_security}.m4 ./project && \
384 ./bootstrap && \
385 ./configure --prefix=${glite} --with-glite-location=${glite} && \
386 make && \
387 make install || return $RC_FAILED
388 return $RC_SUCCESS
389 }
390
391 # SAML2XACML2 LIB:
392 saml2_xacml2_c_lib() {
393 cd ${source}
394 cvsget org.glite.security.saml2-xacml2-c-lib && \
395 cd org.glite.security.saml2-xacml2-c-lib && \
396 cp -fp ../org.glite.build.common-cpp/m4/glite.m4 ./project && \
397 export CXXFLAGS=-fPIC && \
398 cd gsoap-2.7 && \
399 ../autogen.sh && \
400 ./configure --prefix=${glite} && \
401 make && \
402 make install && \
403 cd ../xacml-1.0 && \
404 ../autogen.sh && \
405 ./configure --prefix=${glite} --with-gsoap=${glite} && \
406 make && \
407 make install || return $RC_FAILED
408 return $RC_SUCCESS
409 }
410
411 # LCMAPS PLUGINS SCAS CLIENT:
412 lcmaps_plugins_scas_client() {
413 cd ${source}
414 cvsget org.glite.security.lcmaps-plugins-scas-client && \
415 cd org.glite.security.lcmaps-plugins-scas-client && \
416 cp -fp ../org.glite.build.common-cpp/m4/{glite,glite_security,lcmaps}.m4 ./project && \
417 ./bootstrap && \
418 ./configure --prefix=${glite} --with-glite-location=${glite} && \
419 make && \
420 make install || return $RC_FAILED
421 return $RC_SUCCESS
422 }
423
424 # SCAS
425 scas() {
426 cd ${source}
427 cvsget org.glite.security.scas && \
428 cd org.glite.security.scas && \
429 cp -fp ../org.glite.build.common-cpp/m4/{globus,glite,glite_security,lcmaps}.m4 ./project && \
430 ./bootstrap && \
431 ./configure --prefix=${prefix} --with-glite-location=${glite} \
432 --with-globus-prefix=${globus} \
433 --with-globus-thr-flavor=${globus_flav}pthr \
434 --with-globus-nothr-flavor=${globus_flav} && \
435 make && \
436 make install || return $RC_FAILED
437 return $RC_SUCCESS
438 }
439
440 # LCAS PLUGINS BASIC:
441 lcas_plugins_basic() {
442 cd ${source}
443 cvsget org.glite.security.lcas-plugins-basic && \
444 cd org.glite.security.lcas-plugins-basic && \
445 cp -fp ../org.glite.build.common-cpp/m4/{glite,globus,gridlist}.m4 ./project && \
446 ./bootstrap && \
447 ./configure --prefix=${glite} --with-glite-location=${glite} \
448 --with-globus-prefix=${globus} \
449 --with-globus-thr-flavor=${globus_flav}pthr \
450 --with-globus-nothr-flavor=${globus_flav} && \
451 make && \
452 make install || return $RC_FAILED
453 return $RC_SUCCESS
454 }
455
456 # LCAS PLUGINS CHECK-EXECUTABLE:
457 lcas_plugins_check_executable() {
458 cd ${source}
459 cvsget org.glite.security.lcas-plugins-check-executable && \
460 cd org.glite.security.lcas-plugins-check-executable && \
461 cp -fp ../org.glite.build.common-cpp/m4/{glite,globus,gridlist}.m4 ./project && \
462 ./bootstrap && \
463 ./configure --prefix=${glite} --with-glite-location=${glite} \
464 --with-globus-prefix=${globus} \
465 --with-globus-thr-flavor=${globus_flav}pthr \
466 --with-globus-nothr-flavor=${globus_flav} && \
467 make && \
468 make install || return $RC_FAILED
469 return $RC_SUCCESS
470 }
471
472 # GRIDSITE CORE:
473 gridsite_core() {
474 # Take libdir from lcas
475 [ -f "${glite}/lib64/liblcas.so" ] && \
476 gridsitelibdir=lib64 || \
477 gridsitelibdir=lib
478 cd ${source}
479 cvsget org.gridsite.core && \
480 cd org.gridsite.core/src && \
481 make prefix=${gridsite} libdir=${gridsitelibdir} && \
482 make prefix=${gridsite} install || return $RC_FAILED
483 return $RC_SUCCESS
484 }
485
486 # LCAS PLUGINS VOMS:
487 lcas_plugins_voms() {
488 cd ${source}
489 cvsget org.glite.security.lcas-plugins-voms && \
490 cd org.glite.security.lcas-plugins-voms && \
491 cp -fp ../org.glite.build.common-cpp/m4/{glite,glite_security,globus,gridsite,gridlist}.m4 ./project && \
492 ./bootstrap && \
493 ./configure --prefix=${glite} --with-glite-location=${glite} \
494 --with-globus-prefix=${globus} \
495 --with-globus-thr-flavor=${globus_flav}pthr \
496 --with-globus-nothr-flavor=${globus_flav} \
497 --with-gridsite-prefix=${gridsite} \
498 --with-gridsite-ssl=system && \
499 make && \
500 make install || return $RC_FAILED
501 return $RC_SUCCESS
502 }
503
504 # LCAS-LCMAPS GT4 interface:
505 lcas_lcmaps_gt4_interface() {
506 cd ${source}
507 cvsget org.glite.security.lcas-lcmaps-gt4-interface && \
508 cd org.glite.security.lcas-lcmaps-gt4-interface && \
509 cp -fp ../org.glite.build.common-cpp/m4/{glite,globus,lcmaps}.m4 ./project && \
510 ./bootstrap && \
511 ./configure --prefix=${prefix} \
512 --with-glite-location=${glite} \
513 --with-globus-prefix=${globus} \
514 --with-globus-thr-flavor=${globus_flav}pthr \
515 --with-globus-nothr-flavor=${globus_flav} && \
516 make && \
517 make install || return $RC_FAILED
518 return $RC_SUCCESS
519 }
520
521 ##############################################################################
522 #
523 # Define all dependency functions, NOTE: the order of the setdeps statements is
524 # important!
525 #
526 ##############################################################################
527
528 # GLOBUS: no dependencies
529 setdeps globus
530
531 # BUILD COMMON-CPP: no dependencies
532 setdeps common_cpp
533
534 # VOMS: depends globus
535 setdeps voms globus
536
537 # LCMAPS: depends globus, voms, common-cpp
538 setdeps lcmaps globus voms common_cpp
539
540 # LCAS: depends globus, common-cpp
541 setdeps lcas globus common_cpp
542
543 # LCAS-INTERFACE: depends common-cpp
544 setdeps lcas_interface common_cpp
545
546 # GLEXEC: depends globus, lcmaps, common-cpp, lcas, lcas-interface
547 setdeps glexec globus lcmaps common_cpp lcas lcas_interface
548
549 # LCMAPS PLUGINS BASIC: depends globus, lcmaps, common-cpp
550 setdeps lcmaps_plugins_basic globus lcmaps common_cpp
551
552 # LCMAPS PLUGINS VERIFY-PROXY: depends lcmaps, common-cpp
553 setdeps lcmaps_plugins_verify_proxy lcmaps common_cpp
554
555 # LCMAPS PLUGINS VOMS: depends globus, voms, lcmaps, common-cpp
556 setdeps lcmaps_plugins_voms globus voms lcmaps common_cpp
557
558 # LCMAPS PLUGINS AFS: depends lcmaps, common-cpp
559 setdeps lcmaps_plugins_afs lcmaps common_cpp
560
561 # LCMAPS PLUGINS GUMS: depends lcmaps, common-cpp
562 setdeps lcmaps_plugins_gums lcmaps common_cpp
563
564 # PEP-C LIB: Not dependent on LCMAPS, but need to install it in right place
565 setdeps pep_c_lib lcmaps
566
567 # LCMAPS PLUGINS C-PEP: depends lcmaps, pep-c lib, common-cpp
568 setdeps lcmaps_plugins_c_pep lcmaps pep_c_lib common_cpp
569
570 # SAML2XACML2 LIB: depends common-cpp
571 setdeps saml2_xacml2_c_lib common_cpp
572
573 # LCMAPS PLUGINS SCAS CLIENT: depends saml2-xacml2-c-lib, common-cpp
574 setdeps lcmaps_plugins_scas_client saml2_xacml2_c_lib common_cpp
575
576 # SCAS: depends saml2-xacml2-c-lib, common-cpp, lcmaps
577 setdeps scas saml2_xacml2_c_lib common_cpp lcmaps
578
579 # LCAS PLUGINS BASIC: depends globus, lcas, common-cpp
580 setdeps lcas_plugins_basic globus lcas common_cpp
581
582 # LCAS PLUGINS CHECK-EXECUTABLE: depends globus, lcas, common-cpp
583 setdeps lcas_plugins_check_executable globus lcas common_cpp
584
585 # GRIDSITE Core:
586 setdeps gridsite_core
587
588 # LCAS PLUGINS VOMS: depends globus, voms, lcas, common-cpp, gridsite
589 setdeps lcas_plugins_voms globus voms lcas common_cpp gridsite_core
590
591 # LCAS-LCMAPS GT4 interface: depends globus, lcmaps, common-cpp, lcas, lcas-interface
592 setdeps lcas_lcmaps_gt4_interface globus lcmaps common_cpp lcas lcas_interface
593
594 ##############################################################################
595 #
596 # Build all tools, taking care of dependencies
597 #
598 ##############################################################################
599
600 # Now that we know all the targets, we can print usage if requested
601 if [ "$USAGE" -eq 1 ];then
602 usage
603 exit 0
604 fi
605
606 # Figure out the build targets
607 build_targets=""
608 # If none specified, use all
609 if [ -z "$targets" ];then
610 build_targets=$known_targets
611 else
612 for target in $targets;do
613 echo $known_targets|tr ' ' '\n'|grep -q "^$target$" && \
614 build_targets="$build_targets $target" || \
615 echo "Skipping unknown target \"$target\"" >&2
616 done
617 fi
618
619 # Anything to be done?
620 if [ -n "$build_targets" ];then
621 # create the source dir
622 mkdir -p ${source} || {
623 echo "Creating of ${source} FAILED" >&2
624 exit 1 # Fatal...
625 }
626
627 # Do the builds
628 for target in $build_targets;do
629 eval dep_$target
630 done
631
632 # Print results
633 for target in $known_targets;do
634 print_result $target
635 done
636 fi
637

Properties

Name Value
svn:executable *

grid.support@nikhef.nl
ViewVC Help
Powered by ViewVC 1.1.28