1 arta 1.1 # This file contains JSOC_SDP-specific configuration information. It is used only if the '-sdp' flag is used
|
2 arta 1.22 # as an argument to the check-out script (checkoutDRMS.pl). To change the configuration at Stanford, edit
3 # this file directly, and commit those changes to the source-tree repository.
|
4 arta 1.1
|
5 arta 1.22 # The lines in the __PROJ_MK_RULES__ section define JSOC_SDP-specific make variables, targets, and rules. When
6 # localize.py is run, it will process this section and create JSOC/localization/make_basic.mk. These are
|
7 arta 1.1 # available to all JSOC_SDP projects.
8
|
9 arta 1.22 # The lines in the __PROJ__ section define JSOC_SDP projects. When localize.py runs, file content will be
|
10 arta 1.1 # added to JSOC/localization/Rules.mk and JSOC/localization/target.mk.
11
|
12 arta 1.22 # The lines in the __PROJCFG__ section define additional project-specific configuration. The code in this
13 # section must be in a shell-scripting language, and will be executed as is.
14
15 # The lines in the __MAKE__ section define global make variables to configure the make process. A subset of
16 # these variables defines the locations of JSOC_SDP-specific third-party libraries. These values apply to all code
17 # in both JSOC/base and JSOC/proj directories.
18
19 __DEFS__
20 q:SERVER hmidb
21 q:DRMSPGPORT 5432
|
22 arta 1.23 q:SUMS_DB_HOST hmidb3
|
23 arta 1.22 q:SUMPGPORT 5434
|
24 arta 1.50 a:SUMSD_MAX_THREADS 32
|
25 arta 1.73 a:SUMSD_LISTENPORT 6100
|
26 arta 1.22 a:DRMS_LOCAL_SITE_CODE 0x0000
27 q:DBNAME jsoc
|
28 arta 1.40 q:WEB_DBUSER apache
|
29 arta 1.22 q:POSTGRES_ADMIN postgres
30 q:SUMS_MANAGER production
31 q:SUMS_GROUP SOI
32 q:SUMLOG_BASEDIR /usr/local/logs/SUM
33 q:SUMBIN_BASEDIR /usr/local/bin
|
34 arta 1.50 q:SUMSERVER k1.stanford.edu
|
35 arta 1.69 q:DRMS_LOG_DIR /home/jsoc/jsoclogs
36 q:DRMS_LOCK_DIR /home/jsoc/locks
|
37 arta 1.22 # The number of SUMS process SETS to spawn. If this number is not 1, then the number of SUMS processes
38 # is SUM_NUMSUM * 5 + 2.
39 a:SUM_NUMSUM 3
40 a:SUM_MAXNUMSUM 8
41 p:SUMS_TAPE_AVAILABLE 1
42 p:SUMS_MULTIPLE_PARTNSETS 1
43 # No idea what this parameter means. It isn't used anywhere in our code, but for some reason
44 # it is part of the config.local set, so we have to include it here.
45 a:SUMS_DEBUG 1
46 q:PRODUSER_DBHOST hmidb:5432
47 q:PRODUSER_DBNAME jsoc
48 q:PRODUSER_PRODTAB su_production.produsers
49 q:PRODUSER_COLUSER username
|
50 arta 1.24 q:SUMRM_PART_PERCENT_FREE 3
51 q:SUMRM_SLEEP 300
52 # This is a file in SUMLOG_BASEDIR.
53 q:SUMRM_LOG sum_rm.cfg
54 q:SUMRM_MAIL sys2@solar2
55 q:SUMRM_NOOP 0
56 q:SUMRM_USER production
57 q:SUMRM_NORUN_START 0
58 q:SUMRM_NORUN_STOP 0
|
59 arta 1.34 # JMD
|
60 arta 1.37 p:JMD_IS_INSTALLED 0
|
61 arta 1.34 q:JMD_URL http://localhost:8080/JMD/JMD
|
62 arta 1.38 # Remote SUMS
|
63 arta 1.71 q:RS_SITE_INFO_URL http://jsoc.stanford.edu/cgi-bin/rssites.sh
|
64 arta 1.38 q:RS_SITE_TABLE drms.rs_sites
65 q:RS_REQUEST_TABLE drms.rs_requests
66 q:RS_SU_TABLE drms.rs_sus
67 q:RS_DBNAME jsoc
68 q:RS_DBHOST hmidb
69 a:RS_DBPORT 5432
|
70 arta 1.40 q:RS_DBUSER production
|
71 arta 1.38 q:RS_LOCKFILE /home/jsoc/locks/remotesums.lck
|
72 arta 1.41 q:RS_LOGDIR /home/jsoc/jsoclogs/rsums
|
73 arta 1.62 a:RS_DLTIMEOUT 120
74 a:RS_REQTIMEOUT 300
|
75 arta 1.63 a:RS_MAXTHREADS 216
|
76 arta 1.41 q:RS_BINPATH /home/jsoc/cvs/Development/JSOC/bin/linux_x86_64
|
77 arta 1.60 a:RS_N_WORKERS 4
78 q:RS_TMPDIR /tmp
|
79 arta 1.61 a:RS_SCP_MAXSUS 48
80 a:RS_SCP_MAXPAYLOAD 512
|
81 arta 1.63 a:RS_SCP_TIMEOUT 2
|
82 arta 1.74 a:RSCLIENT_TIMEOUT 1440
|
83 arta 1.72 q:SS_LOCKFILE /home/jsoc/locks/sustewie.lck
84 a:SS_LOW_WATER 90
85 a:SS_HIGH_WATER 95
86 a:SS_SU_CHUNK 4096
87 a:SS_SLEEP_INTERVAL 300
88 a:SS_REHYDRATE_INTERVAL 3600
|
89 arta 1.42 # White-list (access to internal stuff)
90 a:WL_HASWL 1
91 q:WL_FILE /web/jsoc/htdocs/whitelist.txt
|
92 arta 1.44 # Bin paths
|
93 arta 1.46 q:BIN_EXPORT /home/jsoc/cvs/Development/JSOC/bin
|
94 arta 1.48 q:SCRIPTS_EXPORT /home/jsoc/cvs/Development/JSOC/scripts
|
95 arta 1.75 q:EXPORT_LOG_DIR /home/jsoc/exports/logs
96 q:EXPORT_LOCK_DIR /home/jsoc/exports/tmp
97 q:EXPORT_HANDLE_DIR /home/jsoc/exports
|
98 arta 1.45 q:BIN_PY /home/jsoc/bin/linux_x86_64/activepython27
|
99 arta 1.64 q:BIN_PY3 /home/jsoc/anaconda3/bin/python3
|
100 arta 1.51 a:SUMS_USEMTSUMS 1
|
101 arta 1.65 a:SUMS_USEMTSUMS_INFO 1
|
102 arta 1.73 a:SUMS_MT_CLIENT_RESP_TIMEOUT 1440
|
103 arta 1.47 # Email registration
|
104 arta 1.72 a:REGEMAIL_TIMEOUT 15
|
105 arta 1.52 # Slony
106 q:SLONY_CONFIG /home/jsoc/cvs/Development/JSOC/proj/replication/etc/repserver.cfg
|
107 arta 1.46
|
108 arta 1.54 # lev1.5_hmi
109 q:POLCAL_PARAMS /home/jsoc/hmi/tables/lev15/polcal-param-fit.bin
110
|
111 arta 1.1 __MAKE__
|
112 arta 1.22 # JSOC_SDP third-party libraries used by base
113 # The parameters in this section are used to create make variables. For example, the line
114 # 'POSTGRES_LIB = pq' will cause a make variable named POSTGRES_LIB to be created and to
115 # be assigned the value 'pq'.
116
117 # If the name in the left column contains a colon, then the name on the LHS is the parameter name. The RHS is
118 # a description of which platforms or specific machines the parameter applies to. For example,
119 # the name POSTGRES_INCS:X86_64 implies that the value of the parameter named POSTGRES_INCS is /usr/include
120 # when make is run on a linux_x86_64 machine. The RHS string can contain either a platform identifier
121 # (X86_64, IA32, AVX, or IA64) or it can be a string that identifies a particular machine, like d02.
122 # If the string is not one of the defined platform identifiers, then it is considered a machine identifier.
123 # A machine identifier can specify more than one machine. The name POSTGRES_INCS:hmidb specifies
124 # all machines whose names contain the string 'hmidb'. So, for machines hmidb, hmidb2, and hmidb3, the
125 # value of the POSTGRES_INCS parameter is /usr/local/pgsql/include.
126 #
127 # If the RHS is a platform identifier, then make compares the value of $JSOC_MACHINE (which is in
128 # reality a misnomer, since it truly specifies the name of the machine platform, not the name
129 # of the machine) to the platform name specified by the RHS string. For example,
130 # if the RHS string is 'avx', then make compares $JSOC_MACHINE to
131 # 'linux_avx', and if there is a match, then the parameter's value specified in the second column is assigned
132 # to the make variable. If the RHS is a machine identifier, then make compares the value of $MACHTYPE
133 arta 1.22 # (another misnormer, since it is the name of the machine, not the name of some type of machine ) to
134 # the machine names specified by the RHS. For example, if the RHS string is 'hmidb' then make
135 # compares $MACHTYPE to 'hmidb', and if 'hmidb' is a substring of $MACHTYPE, then the parameter's
136 # value specified in the second column is assigned to the make variable
137 #
138 # Blocks defined by the _CUST_/_ENDCUST_ tags are copied ver batim into the output make file.
139
140 POSTGRES_LIB pq
141 CFITSIO_LIB cfitsio
142
143 POSTGRES_INCS:X86_64 /usr/include
144 POSTGRES_INCS:IA32 /usr/include
145 POSTGRES_INCS:AVX /usr/include
146 POSTGRES_INCS:IA64 /usr/include/pgsql
147 POSTGRES_INCS:j1 /usr/include/pgsql
148 POSTGRES_INCS:d02 /usr/include/pgsql
149 POSTGRES_INCS:hmidb /usr/local/pgsql/include
150 POSTGRES_INCS:cl1n0 __POSTGRES_DEVELOP_NOT_INSTALLED__
151 POSTGRES_INCS:dcs /usr/include/pgsql
152
153 POSTGRES_LIBS:X86_64 /usr/lib64
154 arta 1.22 POSTGRES_LIBS:IA32 /usr/lib
155 POSTGRES_LIBS:AVX /usr/lib64
156 POSTGRES_LIBS:IA64 /usr/lib
157 POSTGRES_LIBS:j1 /usr/lib64
158 POSTGRES_LIBS:d02 /usr/lib
159 POSTGRES_LIBS:hmidb /usr/lib64
160 POSTGRES_LIBS:cl1n0 /usr/lib64
161 POSTGRES_LIBS:dcs /usr/lib64
162
163 CFITSIO_INCS:X86_64 /home/jsoc/include
164 CFITSIO_INCS:IA32 /home/jsoc/include
165 CFITSIO_INCS:AVX /home/jsoc/avx/include
166 CFITSIO_INCS:IA64 /home/jsoc/include
167 CFITSIO_INCS:j1 /home/jsoc/include
168 CFITSIO_INCS:d02 __CFITSIO_NOT_INSTALLED__
169 CFITSIO_INCS:hmidb /home/jsoc/include
170 CFITSIO_INCS:cl1n0 /home/jsoc/include
171 CFITSIO_INCS:dcs /home/jsoc/include
172
173 CFITSIO_LIBS:X86_64 /home/jsoc/lib/linux-x86_64
174 CFITSIO_LIBS:IA32 /home/jsoc/lib/linux-ia32
175 arta 1.22 CFITSIO_LIBS:AVX /home/jsoc/avx/lib
176 CFITSIO_LIBS:IA64 /home/jsoc/lib/linux-ia64
177 CFITSIO_LIBS:j1 /home/jsoc/lib/linux-x86_64
178 CFITSIO_LIBS:d02 __CFITSIO_NOT_INSTALLED__
179 CFITSIO_LIBS:hmidb /home/jsoc/lib/linux-x86_64
180 CFITSIO_LIBS:cl1n0 /home/jsoc/lib/linux-x86_64
181 CFITSIO_LIBS:dcs /home/jsoc/lib/linux-x86_64
182
183 FFTW_INCS:X86_64 /home/jsoc/include
184 FFTW_INCS:IA32 /home/jsoc/include
185 FFTW_INCS:AVX /home/jsoc/avx/include
186 FFTW_INCS:IA64 /home/jsoc/include
187
188 FFTW_LIBS:X86_64 /home/jsoc/lib/linux-x86_64
189 FFTW_LIBS:IA32 /home/jsoc/lib/linux-ia32
190 FFTW_LIBS:AVX /home/jsoc/avx/lib
191 FFTW_LIBS:IA64 /home/jsoc/lib/linux-x86_64
192
193 GSL_INCS:X86_64 /home/jsoc/include
194 GSL_INCS:IA32 /home/jsoc/include
195 GSL_INCS:AVX /home/jsoc/avx/include
196 arta 1.22 GSL_INCS:IA64 /home/jsoc/include
197
198 GSL_LIBS:X86_64 /home/jsoc/lib/linux-x86_64
199 GSL_LIBS:IA32 /home/jsoc/lib/linux-ia32
200 GSL_LIBS:AVX /home/jsoc/avx/lib
201 GSL_LIBS:IA64 /home/jsoc/lib/linux-x86_64
202
203 MPI_INCS:X86_64 /home/jsoc/mpich2/include
204 MPI_INCS:IA32
205 MPI_INCS:AVX /home/jsoc/avx/include
206 MPI_INCS:IA64
207
208 MPI_LIBS:X86_64 /home/jsoc/mpich2/lib
209 MPI_LIBS:AVX /home/jsoc/avx/lib
210
211 MPI_PATH:X86_64 /home/jsoc/mpich2/bin
212 MPI_PATH:AVX /home/jsoc/avx/bin
213
|
214 arta 1.34 TAR_INCS:X86_64 /home/jsoc/include
215 TAR_INCS:IA32 /home/jsoc/include
|
216 arta 1.39 TAR_INCS:AVX /home/jsoc/avx/include
|
217 arta 1.34 TAR_INCS:IA64 /home/jsoc/include
218
219 TAR_LIBS:X86_64 /home/jsoc/lib/linux-x86_64
220 TAR_LIBS:IA32 /home/jsoc/lib/linux-ia32
221 TAR_LIBS:AVX /home/jsoc/lib/linux_avx
222 TAR_LIBS:IA64 /home/jsoc/lib/linux-ia64
223
|
224 arta 1.70 PY_LIB python3.5m
225 PY_INCS:X86_64 /home/jsoc/anaconda3/include/python3.5m
226 PY_INCS:AVX /home/jsoc/anaconda3/include/python3.5m
227 PY_LIBS:X86_64 /home/jsoc/anaconda3/lib
228 PY_LIBS:AVX /home/jsoc/anaconda3/lib
229 PY_HOME:X86_64 /home/jsoc/anaconda3
230 PY_HOME:AVX /home/jsoc/anaconda3
231
232
|
233 arta 1.22 # Set custom make file to tell the make system that the gcc cfitsio library is called
234 # libcfitsio_gcc.a
235 _CUST_
236 ifeq ($(COMPILER), gcc)
237 ifeq ($(JSOC_MACHINE), linux_x86_64)
238 CFITSIO_LIB = cfitsio_gcc
239 endif
240 endif
241 _ENDCUST_
242
243 __PROJ_MK_RULES__
|
244 arta 1.66 $(CEXESUMS): $(LIBSUMSAPI) $(LIBCJSON) $(LIBSUM) $(LIBDSTRUCT) $(LIBMISC)
|
245 arta 1.52 $(MODEXESUMS): $(LIBSUMSAPI) $(LIBCJSON) $(LIBSUM)
|
246 arta 1.1
247 $(MODEXEDROBJ): CF_TGT := $(CF_TGT) -I$(SRCDIR)/proj/libs/dr
248 $(MODEXEDR) $(MODEXEDR_SOCK): $(LIBDR)
249 __PROJ__
250 <?xml version='1.0'?>
251 <projects>
252 <proj>
253 <name>libs</name>
254 <subdirs>
255 <subdir>astro</subdir>
256 <subdir>dr</subdir>
257 <subdir>dsputil</subdir>
258 <subdir>gapfiller</subdir>
259 <subdir>interpolate</subdir>
|
260 arta 1.69 <subdir>limbcompute_aia</subdir>
|
261 arta 1.1 <subdir>stats</subdir>
|
262 arta 1.6 <subdir>egsehmicomp</subdir>
|
263 arta 1.7 <subdir>imrotate</subdir>
|
264 arta 1.56 <subdir>projection</subdir>
|
265 arta 1.1 </subdirs>
266 </proj>
267 <proj>
268 <name>datacapture</name>
269 <subdirs>
270 <subdir>apps</subdir>
271 </subdirs>
272 </proj>
273 <proj>
274 <name>dsdsmigr</name>
275 <subdirs>
276 <subdir>libs</subdir>
277 <subdir>apps</subdir>
278 </subdirs>
279 </proj>
280 <proj>
|
281 arta 1.69 <name>limbfit_aia</name>
282 <subdirs>
283 <subdir>apps</subdir>
284 </subdirs>
285 </proj>
286 <proj>
|
287 arta 1.1 <name>maps_avgs</name>
288 <subdirs>
289 <subdir>apps</subdir>
290 </subdirs>
291 <filters>
292 <filter>
293 <name>COMPILER</name>
294 <value>icc</value>
295 </filter>
296 </filters>
297 </proj>
298 <proj>
|
299 arta 1.33 <name>mhd_32daily</name>
300 <subdirs>
301 <subdir>apps</subdir>
302 </subdirs>
303 </proj>
304 <proj>
|
305 arta 1.25 <name>mhd_64cr</name>
306 <subdirs>
307 <subdir>apps</subdir>
308 </subdirs>
309 </proj>
310 <proj>
|
311 arta 1.1 <name>util</name>
312 <subdirs>
313 <subdir>apps</subdir>
314 </subdirs>
315 </proj>
316 <proj>
317 <name>lev0</name>
318 <subdirs>
319 <subdir>apps</subdir>
320 </subdirs>
321 </proj>
322 <proj>
323 <name>lev1</name>
324 <subdirs>
325 <subdir>apps</subdir>
326 </subdirs>
327 </proj>
328 <proj>
329 <name>jpe</name>
330 <subdirs>
331 <subdir>apps</subdir>
332 arta 1.1 </subdirs>
333 </proj>
334 <proj>
335 <name>lev1_aia</name>
336 <subdirs>
337 <subdir>apps</subdir>
338 </subdirs>
339 </proj>
340 <proj>
341 <name>lev1_hmi</name>
342 <subdirs>
343 <subdir>apps</subdir>
344 </subdirs>
345 </proj>
346 <proj>
347 <name>export</name>
348 <subdirs>
349 <subdir>libs/util</subdir>
350 <subdir>apps</subdir>
351 </subdirs>
352 </proj>
353 arta 1.1 <proj>
354 <name>globalhs</name>
355 <subdirs>
|
356 arta 1.21 <subdir>apps</subdir>
|
357 arta 1.20 <subdir>libs/dtgf</subdir>
|
358 arta 1.36 <subdir>libs/inv2d</subdir>
|
359 arta 1.20 <subdir>libs/pkbgn</subdir>
360 <subdir>libs/projection</subdir>
|
361 arta 1.1 </subdirs>
362 <filters>
363 <filter>
364 <name>COMPILER</name>
365 <value>icc</value>
366 </filter>
367 </filters>
368 </proj>
369 <proj>
370 <name>lev1.5_hmi</name>
371 <subdirs>
372 <subdir>libs/lev15</subdir>
373 <subdir>apps</subdir>
374 </subdirs>
375 </proj>
376 <proj>
|
377 arta 1.7 <name>lev1.5_aia</name>
378 <subdirs>
379 <subdir>apps</subdir>
380 </subdirs>
381 </proj>
382 <proj>
|
383 arta 1.1 <name>flatfield</name>
384 <subdirs>
385 <subdir>libs/flatfieldlib</subdir>
386 <subdir>apps</subdir>
|
387 arta 1.6 <subdir>off_flat_IDL</subdir>
|
388 arta 1.1 </subdirs>
389 </proj>
390 <proj>
391 <name>rings</name>
392 <subdirs>
393 <subdir>apps</subdir>
394 </subdirs>
395 </proj>
|
396 rick 1.8 <proj>
|
397 mbobra 1.14 <name>sharp</name>
398 <subdirs>
399 <subdir>apps</subdir>
400 </subdirs>
|
401 jim 1.19 <filters>
402 <filter>
403 <name>COMPILER</name>
404 <value>icc</value>
405 </filter>
406 </filters>
|
407 mbobra 1.14 </proj>
408 <proj>
|
409 rick 1.8 <name>farside</name>
410 <subdirs>
411 <subdir>apps</subdir>
412 </subdirs>
413 </proj>
414 <proj>
415 <name>timed</name>
416 <subdirs>
417 <subdir>apps</subdir>
418 </subdirs>
419 </proj>
|
420 arta 1.1 <proj>
421 <name>mag</name>
422 <subdirs>
423 <subdir>pfss/apps</subdir>
424 <subdir>ambig/apps</subdir>
|
425 arta 1.9 <subdir>harp/apps</subdir>
|
426 arta 1.10 <subdir>harp/libs/matlab/mex/src/util</subdir>
|
427 arta 1.9 <subdir>harp/libs/matlab/mex/src/mex2c</subdir>
|
428 arta 1.11 <subdir>harp/libs/matlab/mfile-mex/standalone</subdir>
|
429 arta 1.12 <subdir>harp/libs/matlab/mfile-mex/assignment</subdir>
430 <subdir>harp/libs/matlab/mfile-mex/fits</subdir>
431 <subdir>harp/libs/matlab/mfile-mex/hmi-mask-patch</subdir>
|
432 arta 1.1 <subdir>ident/apps</subdir>
433 <subdir>ident/libs/mex2c</subdir>
434 <subdir>ident/libs/mexfunctions</subdir>
435 <subdir>ident/libs/util</subdir>
|
436 arta 1.55 <subdir>libs</subdir>
437 <subdir>libs/util</subdir>
|
438 arta 1.1 <subdir>patch/apps</subdir>
|
439 xudong 1.3 <subdir>nlfff/apps</subdir>
440 <subdir>d4vm/apps</subdir>
|
441 xudong 1.4 <subdir>remapmags/apps</subdir>
|
442 xudong 1.5 <subdir>synop/apps</subdir>
|
443 xudong 1.53 <subdir>polarfield/apps</subdir>
|
444 xudong 1.67 <subdir>polcorr/apps</subdir>
|
445 arta 1.1 </subdirs>
446 <filters>
447 <filter>
448 <name>COMPILER</name>
449 <value>icc</value>
450 </filter>
451 </filters>
452 </proj>
453 <proj>
|
454 xudong 1.68 <name>qmaps</name>
455 <subdirs>
456 <subdir>apps</subdir>
457 </subdirs>
458 <filters>
459 <filter>
460 <name>COMPILER</name>
461 <value>icc</value>
462 </filter>
463 </filters>
464 </proj>
465 <proj>
|
466 arta 1.1 <name>limbfit</name>
467 <subdirs>
468 <subdir>apps</subdir>
469 </subdirs>
|
470 jim 1.19 <filters>
471 <filter>
472 <name>COMPILER</name>
473 <value>icc</value>
474 </filter>
475 </filters>
|
476 arta 1.1 </proj>
477 <proj>
478 <name>vfisv</name>
479 <subdirs>
480 <subdir>apps</subdir>
481 </subdirs>
482 </proj>
483 <proj>
484 <name>workflow</name>
485 <subdirs>
486 <subdir>apps</subdir>
487 </subdirs>
488 </proj>
|
489 xudong 1.26 <proj>
490 <name>cgem</name>
491 <subdirs>
492 <subdir>apps</subdir>
493 <subdir>lorentz/apps</subdir>
|
494 arta 1.55 <subdir>pdfi/apps</subdir>
|
495 xudong 1.67 <subdir>prep/apps</subdir>
|
496 xudong 1.26 </subdirs>
497 <filters>
498 <filter>
499 <name>COMPILER</name>
500 <value>icc</value>
501 </filter>
502 </filters>
503 </proj>
|
504 arta 1.1 </projects>
|
505 arta 1.2 __PROJCFG__
506 #! /bin/csh -f
507
|
508 arta 1.46 set PERLBIN = ""
509
510 if ($PERLBIN == "") then
511 if (-x /home/jsoc/bin/linux_x86_64/activeperl) then
512 set PERLBIN = "/home/jsoc/bin/linux_x86_64/activeperl"
513 else
514 set PERLBIN = "perl"
515 endif
516 endif
517
|
518 arta 1.2 # Project-specific configuration (like adding links to scripts to the $JSOCROOT/scripts
519 # directory).
|
520 arta 1.46 find ../proj/lev0/scripts -mindepth 1 -path \*CVS -prune -o -print | ${PERLBIN} -MFile::Basename -n -e 'my($bn) = basename($_); chomp($bn); my($path) = $_; chomp($path); if (!(-e $bn)) { `ln -s $_`; if ($? >> 8 == 0) { print " " . $path . " OK\n"; } else { print " " . $path . " ERROR - could not create link\n"; } }'
|