ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/JSOC/configsdp.txt
(Generate patch)

Comparing configsdp.txt (file contents):
Revision 1.9 by arta, Fri Jan 13 19:31:01 2012 UTC vs.
Revision 1.62 by arta, Wed Aug 10 19:15:18 2016 UTC

# Line 1 | Line 1
1   # This file contains JSOC_SDP-specific configuration information. It is used only if the '-sdp' flag is used
2 < # as an argument to the check-out script (checkoutDRMS.pl).
2 > # 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  
5 < # The lines in the __MAKE__ section define JSOC_SDP-specific make variables, targets, and rules. When
6 < # configproj.pl is run, it will process this section and create JSOC/localization/make_basic.mk. These are
5 > # 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   # available to all JSOC_SDP projects.
8  
9 < # The lines in the __PROJ__ section define JSOC_SDP projects. When configproj.pl runs, file content will be
9 > # The lines in the __PROJ__ section define JSOC_SDP projects. When localize.py runs, file content will be
10   # added to JSOC/localization/Rules.mk and JSOC/localization/target.mk.
11  
12 < # The lines in the __LIBS__ section define default JSOC_SDP-specific third-party library configuration information.
13 < # These values apply to all code in both JSOC/base and JSOC/proj directories. Entries in config.local will override
14 < # these values. This section is read by moreconfigure.pl only - configproj.pl does not look at this section.
12 > # 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 > q:SUMS_DB_HOST                  hmidb3
23 > q:SUMPGPORT                     5434
24 > a:SUMSD_MAX_THREADS             32
25 > a:SUMSD_LISTENPORT              6004
26 > a:DRMS_LOCAL_SITE_CODE          0x0000
27 > q:DBNAME                        jsoc
28 > q:WEB_DBUSER                    apache
29 > 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 > q:SUMSERVER                     k1.stanford.edu
35 > # The number of SUMS process SETS to spawn. If this number is not 1, then the number of SUMS processes
36 > # is SUM_NUMSUM * 5 + 2.
37 > a:SUM_NUMSUM                    3
38 > a:SUM_MAXNUMSUM                 8
39 > p:SUMS_TAPE_AVAILABLE           1
40 > p:SUMS_MULTIPLE_PARTNSETS       1
41 > # No idea what this parameter means. It isn't used anywhere in our code, but for some reason
42 > # it is part of the config.local set, so we have to include it here.
43 > a:SUMS_DEBUG                    1
44 > q:PRODUSER_DBHOST               hmidb:5432
45 > q:PRODUSER_DBNAME               jsoc
46 > q:PRODUSER_PRODTAB              su_production.produsers
47 > q:PRODUSER_COLUSER              username
48 > q:SUMRM_PART_PERCENT_FREE       3
49 > q:SUMRM_SLEEP                   300
50 > # This is a file in SUMLOG_BASEDIR.
51 > q:SUMRM_LOG                     sum_rm.cfg
52 > q:SUMRM_MAIL                    sys2@solar2
53 > q:SUMRM_NOOP                        0
54 > q:SUMRM_USER                        production
55 > q:SUMRM_NORUN_START                 0
56 > q:SUMRM_NORUN_STOP              0
57 > # JMD
58 > p:JMD_IS_INSTALLED              0
59 > q:JMD_URL                       http://localhost:8080/JMD/JMD
60 > # Remote SUMS
61 > q:RS_SITE_TABLE                         drms.rs_sites
62 > q:RS_REQUEST_TABLE                      drms.rs_requests
63 > q:RS_SU_TABLE                           drms.rs_sus
64 > q:RS_DBNAME                             jsoc
65 > q:RS_DBHOST                             hmidb
66 > a:RS_DBPORT                             5432
67 > q:RS_DBUSER                             production
68 > q:RS_LOCKFILE                           /home/jsoc/locks/remotesums.lck
69 > q:RS_LOGDIR                             /home/jsoc/jsoclogs/rsums
70 > a:RS_DLTIMEOUT                          120
71 > a:RS_REQTIMEOUT                         300
72 > a:RS_MAXTHREADS                         32
73 > q:RS_BINPATH                            /home/jsoc/cvs/Development/JSOC/bin/linux_x86_64
74 > a:RS_N_WORKERS                          4
75 > q:RS_TMPDIR                             /tmp
76 > a:RS_SCP_MAXSUS                         48
77 > a:RS_SCP_MAXPAYLOAD                     512
78 > a:RS_SCP_TIMEOUT                        30
79 > # White-list (access to internal stuff)
80 > a:WL_HASWL                              1
81 > q:WL_FILE                               /web/jsoc/htdocs/whitelist.txt
82 > # Bin paths
83 > q:BIN_EXPORT                            /home/jsoc/cvs/Development/JSOC/bin
84 > q:SCRIPTS_EXPORT                        /home/jsoc/cvs/Development/JSOC/scripts
85 > q:BIN_PY                                /home/jsoc/bin/linux_x86_64/activepython27
86 > a:SUMS_USEMTSUMS                        1
87 > # Email registration
88 > a:REGEMAIL_TIMEOUT                      5
89 > # Slony
90 > q:SLONY_CONFIG                          /home/jsoc/cvs/Development/JSOC/proj/replication/etc/repserver.cfg
91 >
92 > # lev1.5_hmi
93 > q:POLCAL_PARAMS                         /home/jsoc/hmi/tables/lev15/polcal-param-fit.bin
94  
95   __MAKE__
96 < $(CEXESUMS):                    $(LIBSUMSAPI) $(LIBSUM) $(LIBDSTRUCT)
97 < $(MODEXESUMS):                  $(LIBSUMSAPI) $(LIBSUM)
96 > # JSOC_SDP third-party libraries used by base
97 > # The parameters in this section are used to create make variables. For example, the line
98 > # 'POSTGRES_LIB = pq' will cause a make variable named POSTGRES_LIB to be created and to
99 > # be assigned the value 'pq'.
100 >
101 > # If the name in the left column contains a colon, then the name on the LHS is the parameter name. The RHS is
102 > # a description of which platforms or specific machines the parameter applies to. For example,
103 > # the name POSTGRES_INCS:X86_64 implies that the value of the parameter named POSTGRES_INCS is /usr/include
104 > # when make is run on a linux_x86_64 machine. The RHS string can contain either a platform identifier
105 > # (X86_64, IA32, AVX, or IA64) or it can be a string that identifies a particular machine, like d02.
106 > # If the string is not one of the defined platform identifiers, then it is considered a machine identifier.
107 > # A machine identifier can specify more than one machine. The name POSTGRES_INCS:hmidb specifies
108 > # all machines whose names contain the string 'hmidb'. So, for machines hmidb, hmidb2, and hmidb3, the
109 > # value of the POSTGRES_INCS parameter is /usr/local/pgsql/include.
110 > #
111 > # If the RHS is a platform identifier, then make compares the value of $JSOC_MACHINE (which is in
112 > # reality a misnomer, since it truly specifies the name of the machine platform, not the name
113 > # of the machine) to the platform name specified by the RHS string. For example,
114 > # if the RHS string is 'avx', then make compares $JSOC_MACHINE to
115 > # 'linux_avx', and if there is a match, then the parameter's value specified in the second column is assigned
116 > # to the make variable. If the RHS is a machine identifier, then make compares the value of $MACHTYPE
117 > # (another misnormer, since it is the name of the machine, not the name of some type of machine ) to
118 > # the machine names specified by the RHS. For example, if the RHS string is 'hmidb' then make
119 > # compares $MACHTYPE to 'hmidb', and if 'hmidb' is a substring of $MACHTYPE, then the parameter's
120 > # value specified in the second column is assigned to the make variable
121 > #
122 > # Blocks defined by the _CUST_/_ENDCUST_ tags are copied ver batim into the output make file.
123 >
124 > POSTGRES_LIB            pq
125 > CFITSIO_LIB             cfitsio
126 >
127 > POSTGRES_INCS:X86_64    /usr/include
128 > POSTGRES_INCS:IA32      /usr/include
129 > POSTGRES_INCS:AVX       /usr/include
130 > POSTGRES_INCS:IA64      /usr/include/pgsql
131 > POSTGRES_INCS:j1       /usr/include/pgsql
132 > POSTGRES_INCS:d02      /usr/include/pgsql
133 > POSTGRES_INCS:hmidb    /usr/local/pgsql/include
134 > POSTGRES_INCS:cl1n0    __POSTGRES_DEVELOP_NOT_INSTALLED__
135 > POSTGRES_INCS:dcs      /usr/include/pgsql
136 >
137 > POSTGRES_LIBS:X86_64    /usr/lib64
138 > POSTGRES_LIBS:IA32      /usr/lib
139 > POSTGRES_LIBS:AVX       /usr/lib64
140 > POSTGRES_LIBS:IA64      /usr/lib
141 > POSTGRES_LIBS:j1       /usr/lib64
142 > POSTGRES_LIBS:d02      /usr/lib
143 > POSTGRES_LIBS:hmidb    /usr/lib64
144 > POSTGRES_LIBS:cl1n0    /usr/lib64
145 > POSTGRES_LIBS:dcs      /usr/lib64
146 >
147 > CFITSIO_INCS:X86_64     /home/jsoc/include
148 > CFITSIO_INCS:IA32       /home/jsoc/include
149 > CFITSIO_INCS:AVX        /home/jsoc/avx/include
150 > CFITSIO_INCS:IA64       /home/jsoc/include
151 > CFITSIO_INCS:j1         /home/jsoc/include
152 > CFITSIO_INCS:d02        __CFITSIO_NOT_INSTALLED__
153 > CFITSIO_INCS:hmidb      /home/jsoc/include
154 > CFITSIO_INCS:cl1n0      /home/jsoc/include
155 > CFITSIO_INCS:dcs        /home/jsoc/include
156 >
157 > CFITSIO_LIBS:X86_64     /home/jsoc/lib/linux-x86_64
158 > CFITSIO_LIBS:IA32       /home/jsoc/lib/linux-ia32
159 > CFITSIO_LIBS:AVX        /home/jsoc/avx/lib
160 > CFITSIO_LIBS:IA64       /home/jsoc/lib/linux-ia64
161 > CFITSIO_LIBS:j1         /home/jsoc/lib/linux-x86_64
162 > CFITSIO_LIBS:d02        __CFITSIO_NOT_INSTALLED__
163 > CFITSIO_LIBS:hmidb      /home/jsoc/lib/linux-x86_64
164 > CFITSIO_LIBS:cl1n0      /home/jsoc/lib/linux-x86_64
165 > CFITSIO_LIBS:dcs        /home/jsoc/lib/linux-x86_64
166 >
167 > FFTW_INCS:X86_64        /home/jsoc/include
168 > FFTW_INCS:IA32          /home/jsoc/include
169 > FFTW_INCS:AVX           /home/jsoc/avx/include
170 > FFTW_INCS:IA64          /home/jsoc/include
171 >
172 > FFTW_LIBS:X86_64        /home/jsoc/lib/linux-x86_64
173 > FFTW_LIBS:IA32          /home/jsoc/lib/linux-ia32
174 > FFTW_LIBS:AVX           /home/jsoc/avx/lib
175 > FFTW_LIBS:IA64          /home/jsoc/lib/linux-x86_64
176 >
177 > GSL_INCS:X86_64         /home/jsoc/include
178 > GSL_INCS:IA32           /home/jsoc/include
179 > GSL_INCS:AVX            /home/jsoc/avx/include
180 > GSL_INCS:IA64           /home/jsoc/include
181 >
182 > GSL_LIBS:X86_64         /home/jsoc/lib/linux-x86_64
183 > GSL_LIBS:IA32           /home/jsoc/lib/linux-ia32
184 > GSL_LIBS:AVX            /home/jsoc/avx/lib
185 > GSL_LIBS:IA64           /home/jsoc/lib/linux-x86_64
186 >
187 > MPI_INCS:X86_64         /home/jsoc/mpich2/include
188 > MPI_INCS:IA32          
189 > MPI_INCS:AVX            /home/jsoc/avx/include
190 > MPI_INCS:IA64          
191 >
192 > MPI_LIBS:X86_64         /home/jsoc/mpich2/lib
193 > MPI_LIBS:AVX            /home/jsoc/avx/lib
194 >
195 > MPI_PATH:X86_64         /home/jsoc/mpich2/bin
196 > MPI_PATH:AVX            /home/jsoc/avx/bin
197 >
198 > TAR_INCS:X86_64         /home/jsoc/include
199 > TAR_INCS:IA32           /home/jsoc/include
200 > TAR_INCS:AVX            /home/jsoc/avx/include
201 > TAR_INCS:IA64           /home/jsoc/include
202 >
203 > TAR_LIBS:X86_64         /home/jsoc/lib/linux-x86_64
204 > TAR_LIBS:IA32           /home/jsoc/lib/linux-ia32
205 > TAR_LIBS:AVX            /home/jsoc/lib/linux_avx
206 > TAR_LIBS:IA64           /home/jsoc/lib/linux-ia64
207 >
208 > # Set custom make file to tell the make system that the gcc cfitsio library is called
209 > # libcfitsio_gcc.a
210 > _CUST_
211 > ifeq ($(COMPILER), gcc)
212 >    ifeq ($(JSOC_MACHINE), linux_x86_64)
213 >    CFITSIO_LIB = cfitsio_gcc
214 >    endif
215 > endif
216 > _ENDCUST_
217 >
218 > __PROJ_MK_RULES__
219 > $(CEXESUMS):                    $(LIBSUMSAPI) $(LIBCJSON) $(LIBSUM) $(LIBDSTRUCT)
220 > $(MODEXESUMS):                  $(LIBSUMSAPI) $(LIBCJSON) $(LIBSUM)
221  
222   $(MODEXEDROBJ):                 CF_TGT := $(CF_TGT) -I$(SRCDIR)/proj/libs/dr
223   $(MODEXEDR) $(MODEXEDR_SOCK):   $(LIBDR)
21 __END__
224   __PROJ__
225   <?xml version='1.0'?>
226   <projects>
# Line 33 | Line 235 | __PROJ__
235               <subdir>stats</subdir>
236               <subdir>egsehmicomp</subdir>
237               <subdir>imrotate</subdir>
238 +             <subdir>projection</subdir>
239         </subdirs>
240     </proj>
241     <proj>
# Line 61 | Line 264 | __PROJ__
264          </filters>
265     </proj>
266     <proj>
267 +        <name>mhd_32daily</name>
268 +        <subdirs>
269 +                <subdir>apps</subdir>
270 +        </subdirs>
271 +   </proj>
272 +   <proj>
273 +        <name>mhd_64cr</name>
274 +        <subdirs>
275 +                <subdir>apps</subdir>
276 +        </subdirs>
277 +   </proj>
278 +   <proj>
279          <name>util</name>
280          <subdirs>
281               <subdir>apps</subdir>    
# Line 106 | Line 321 | __PROJ__
321     <proj>
322          <name>globalhs</name>
323          <subdirs>
324 <            <subdir>apps/src</subdir>
324 >            <subdir>apps</subdir>
325 >            <subdir>libs/dtgf</subdir>
326 >            <subdir>libs/inv2d</subdir>
327 >            <subdir>libs/pkbgn</subdir>
328 >            <subdir>libs/projection</subdir>
329          </subdirs>
330          <filters>
331               <filter>
# Line 135 | Line 354 | __PROJ__
354              <subdir>apps</subdir>
355              <subdir>off_flat_IDL</subdir>
356          </subdirs>
138        <filters>
139             <filter>
140                  <name>JSOC_MACHINE</name>
141                  <value>linux_x86_64</value>
142             </filter>
143       </filters>
357     </proj>
358    <proj>
359          <name>rings</name>
# Line 149 | Line 362 | __PROJ__
362          </subdirs>
363     </proj>
364    <proj>
365 +        <name>sharp</name>
366 +        <subdirs>
367 +             <subdir>apps</subdir>
368 +        </subdirs>
369 +        <filters>
370 +             <filter>
371 +                  <name>COMPILER</name>
372 +                  <value>icc</value>
373 +             </filter>
374 +       </filters>
375 +   </proj>
376 +  <proj>
377          <name>farside</name>
378          <subdirs>
379               <subdir>apps</subdir>
# Line 163 | Line 388 | __PROJ__
388     <proj>
389          <name>mag</name>
390          <subdirs>
166             <subdir>apps</subdir>
391               <subdir>pfss/apps</subdir>
392               <subdir>ambig/apps</subdir>
393               <subdir>harp/apps</subdir>
394 +             <subdir>harp/libs/matlab/mex/src/util</subdir>
395               <subdir>harp/libs/matlab/mex/src/mex2c</subdir>
396 +             <subdir>harp/libs/matlab/mfile-mex/standalone</subdir>
397 +             <subdir>harp/libs/matlab/mfile-mex/assignment</subdir>
398 +             <subdir>harp/libs/matlab/mfile-mex/fits</subdir>
399 +             <subdir>harp/libs/matlab/mfile-mex/hmi-mask-patch</subdir>
400               <subdir>ident/apps</subdir>
401               <subdir>ident/libs/mex2c</subdir>
402               <subdir>ident/libs/mexfunctions</subdir>
403               <subdir>ident/libs/util</subdir>
404 +             <subdir>libs</subdir>
405 +             <subdir>libs/util</subdir>
406               <subdir>patch/apps</subdir>
407               <subdir>nlfff/apps</subdir>
408               <subdir>d4vm/apps</subdir>
409               <subdir>remapmags/apps</subdir>
410               <subdir>synop/apps</subdir>
411 +             <subdir>polarfield/apps</subdir>
412          </subdirs>
413          <filters>
414               <filter>
# Line 190 | Line 422 | __PROJ__
422          <subdirs>
423              <subdir>apps</subdir>
424          </subdirs>
425 +        <filters>
426 +             <filter>
427 +                  <name>COMPILER</name>
428 +                  <value>icc</value>
429 +             </filter>
430 +       </filters>
431     </proj>
432     <proj>
433          <name>vfisv</name>
# Line 203 | Line 441 | __PROJ__
441              <subdir>apps</subdir>
442          </subdirs>
443     </proj>
444 +   <proj>
445 +        <name>cgem</name>
446 +        <subdirs>
447 +             <subdir>apps</subdir>
448 +             <subdir>lorentz/apps</subdir>
449 +             <subdir>pdfi/apps</subdir>
450 +        </subdirs>
451 +        <filters>
452 +             <filter>
453 +                  <name>COMPILER</name>
454 +                  <value>icc</value>
455 +             </filter>
456 +       </filters>
457 +   </proj>
458   </projects>
207 __END__
459   __PROJCFG__
460   #! /bin/csh -f
461  
462 < # Project-specific configuration (like adding links to scripts to the $JSOCROOT/scripts
212 < # directory).
213 <
214 < find ../proj/lev0/scripts -mindepth 1 \( -path \*CVS -prune -o -exec ln -s {} . \; -a -exec echo "  " {} " OK" \; \) -o -exec echo "  " {} " ERROR - couldn't create link" \;
215 <
216 < find ../proj/datacapture/scripts -mindepth 1 \( -path \*CVS -prune -o -exec ln -s {} . \; -a -exec echo "  " {} " OK" \; \) -o -exec echo "  " {} " ERROR - couldn't create link" \;
217 < __END__
218 < __LIBS__
219 < # JSOC_SDP third-party libraries used by base
220 <    POSTGRES_LIB = pq
221 <    CFITSIO_LIB = cfitsio
222 <
223 <    ifeq ($(JSOC_MACHINE), linux_x86_64)
224 <      POSTGRES_INCS = /usr/include
225 <      POSTGRES_LIBS = /usr/lib64
226 <      CFITSIO_INCS = /home/jsoc/include
227 <      CFITSIO_LIBS = /home/jsoc/lib/linux-x86_64
228 <    endif
229 <
230 <    ifeq ($(JSOC_MACHINE), linux_ia32)
231 <      POSTGRES_INCS = /usr/include
232 <      POSTGRES_LIBS = /usr/lib
233 <      CFITSIO_INCS = /home/jsoc/include
234 <      CFITSIO_LIBS = /home/jsoc/lib/linux-ia32
235 <    endif
236 <
237 <    ifeq ($(JSOC_MACHINE), linux_ia64)
238 <      POSTGRES_INCS = /usr/include/pgsql
239 <      POSTGRES_LIBS = /usr/lib
240 <      CFITSIO_INCS = /home/jsoc/include
241 <      CFITSIO_LIBS = /home/jsoc/lib/linux-x86_64
242 <    endif
243 <
244 < # JSOC_SDP third-party libraries used by the project directories
245 <    FFTW3_LIB = fftw3
246 <
247 <    ifeq ($(JSOC_MACHINE), linux_ia32)
248 <      FFTW_INCS = /home/jsoc/include
249 <      FFTW_LIBS = /home/jsoc/lib/linux-ia32
250 <    endif
251 <
252 <    ifeq ($(JSOC_MACHINE), linux_x86_64)
253 <      FFTW_INCS = /home/jsoc/include
254 <      FFTW_LIBS = /home/jsoc/lib/linux-x86_64
255 <    endif
256 <
257 < # Try to specialize for non-default machines
258 <    ifeq ($(MACHTYPE), j1)
259 <      POSTGRES_INCS = /usr/include/pgsql
260 <      POSTGRES_LIBS = /usr/lib64
261 <      CFITSIO_INCS = /home/jsoc/include
262 <      CFITSIO_LIBS = /home/jsoc/lib/linux-x86_64
263 <    endif
462 > set PERLBIN = ""
463  
464 <    ifeq ($(MACHTYPE), d02)
465 <      POSTGRES_INCS = /usr/include/pgsql
466 <      POSTGRES_LIBS = /usr/lib
467 <      CFITSIO_INCS = __CFITSIO_NOT_INSTALLED__
468 <      CFITSIO_LIBS = __CFITSIO_NOT_INSTALLED__
270 <   endif
271 <
272 <    ifeq ($(MACHTYPE), dbserver)
273 <      POSTGRES_INCS = /usr/local/pgsql/include
274 <      POSTGRES_LIBS = /usr/lib64
275 <      CFITSIO_INCS = /home/jsoc/include
276 <      CFITSIO_LIBS = /home/jsoc/lib/linux-x86_64
464 > if ($PERLBIN == "") then
465 >    if (-x /home/jsoc/bin/linux_x86_64/activeperl) then
466 >        set PERLBIN = "/home/jsoc/bin/linux_x86_64/activeperl"
467 >    else
468 >        set PERLBIN = "perl"
469      endif
470 + endif
471  
472 <    ifeq ($(MACHTYPE), cluster)
473 <      POSTGRES_INCS = __POSTGRES_DEVELOP_NOT_INSTALLED__
474 <      POSTGRES_LIBS = /usr/lib64
282 <      CFITSIO_INCS = /home/jsoc/include
283 <      CFITSIO_LIBS = /home/jsoc/lib/linux-x86_64
284 <    endif
285 <
286 <    ifeq ($(MACHTYPE), dcs)
287 <      POSTGRES_INCS = /usr/include/pgsql
288 <      POSTGRES_LIBS = /usr/lib64
289 <      CFITSIO_INCS = /home/jsoc/include
290 <      CFITSIO_LIBS = /home/jsoc/lib/linux-x86_64
291 <    endif
292 < # Set custom make file to tell the make system that the gcc cfitsio library is called
293 < # libcfitsio_gcc.a
294 <    ifeq ($(COMPILER), gcc)
295 <      ifeq ($(JSOC_MACHINE), linux_x86_64)
296 <        CFITSIO_LIB = cfitsio_gcc
297 <      endif
298 <    endif
299 < __END__
472 > # Project-specific configuration (like adding links to scripts to the $JSOCROOT/scripts
473 > # directory).
474 > 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"; } }'

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines