ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CRAB/python/configure
(Generate patch)

Comparing COMP/CRAB/python/configure (file contents):
Revision 1.41 by spiga, Thu Jul 26 17:24:36 2007 UTC vs.
Revision 1.75 by spiga, Wed Jan 13 19:11:08 2010 UTC

# Line 8 | Line 8
8  
9   # Subdir structure:
10   # top/
11 #     Boss/...
11   #     python/...
13 #     script/...
12   #     DBSAPI
13   #     DLSAPI
14 < #     PsetCode
14 > #     ProdCommon
15 > #     sqlite
16 > #     py2-pysqlite      
17   #
18   TopDir=`\pwd`
19 + ExtDir=$TopDir/external
20 + sqlite_ver=3.4.0
21 + pysql_ver=2.4.0
22  
23 < #############################################
24 < ######## BOSS CONFIGURATION #################
22 < #############################################
23 < BOSSVER=4_3_6-sl3-sl4
24 < BACKEND=SQLite
25 <
26 < function configureBoss {
27 < ## unpack and configure Boss
28 < cd Boss
29 < echo "unpacking BOSS distribution ${BOSSVER}"
30 < tar xzf BOSS_${BOSSVER}-bin.tar.gz
31 < cd BOSS_${BOSSVER}
32 <
33 < echo "Creating Env. files"
34 < source install.sh
35 < echo "Creating ./BossConfig.clad"
36 < cat > ./BossConfig.clad <<EOF
37 < # This is the BOSS configuration file
38 <
39 < [
40 < # BOSS temporary directory (where files are extracted from DB)
41 < BOSS_TMP_DIR = "/tmp";
42 <
43 < # BOSS update interval
44 < BOSS_MIN_UPD_INT = 30;  # at most one upd. every BOSS_MIN_UPD_INT sec.
45 < BOSS_MAX_UPD_INT = 180; # at least one upd. every BOSS_MAX_UPD_INT sec.
46 <
47 < # Maximum retries after post-process finishes before killing RTUpdator
48 < # (waits BOSS_UPD_INTERVAL*BOSS_MAX_RETRY seconds)
49 < BOSS_MAX_RETRY = 3;
50 <
51 < # Boss Database Backend
52 < DB_BACKEND = "${BACKEND}";
53 <
54 < # Info sent also to Monalisa (if empty not enabled)
55 < ML_URL = "";
56 < ]
57 < EOF
58 <
59 < echo "Setting environment"
60 < . bossenv.sh
61 < }
23 > SQLITE_ROOT=$TopDir/sqlite/
24 > PYSQLITE_ROOT=$TopDir/pysqlite/
25  
26   function configureCrab {
27   ## prapare the crab env
28 < cd $TopDir
28 > cd $ExtDir
29 >
30 > ## TEMPORARY HACK
31 > tar zxf crablib.tgz
32 > rm crablib.tgz
33 >
34 > tar zxf sqlite.tgz
35 > rm sqlite.tgz
36 >
37 > tar zxf py2-pysqlite.tgz
38 > rm py2-pysqlite.tgz
39 >
40 > tar zxf pyOpenSSL-0.6-python2.4.tar.gz
41 > rm pyOpenSSL-0.6-python2.4.tar.gz
42 >
43 > tar zxf simplejson.tgz
44 > rm simplejson.tgz
45 >
46 > tar zxf pbs_python.tgz
47 > rm pbs_python.tgz
48 >
49 > ## go to $TopDir
50 > cd ..
51  
52   # sh style
53   cat > crab.sh <<EOF
54   #! /bin/sh
55 + # first check if CRAB env has already been defined
56 + [ ! -z "\$CRABDIR" ] && ( echo 'CRAB environment already defined: exiting' ; exit 1 ; )
57 +
58   # CRAB related Stuff
59   export CRABDIR=$TopDir
60 < export CRABSCRIPT=\${CRABDIR}/script
60 > export EXTERNALDIR=$ExtDir
61  
62   CRABPATH=\${CRABDIR}/python
63 < CRABDLSAPIPATH=\${CRABDIR}/DLSAPI
63 > CRABDLSAPIPATH=\${EXTERNALDIR}/DLSAPI/bin
64   export CRABPYTHON=\${CRABDIR}/python
65 < export CRABDBSAPIPYTHON=\${CRABDIR}/DBSAPI
66 < export CRABDLSAPIPYTHON=\${CRABDIR}/DLSAPI
67 < export CRABPSETPYTHON=\${CRABDIR}/PsetCode
68 < export CRABPRODAGENTPYTHON=\${CRABDIR}/ProdAgentApi
69 < export CRABPRODCOMMONPYTHON=\${CRABDIR}/ProdCommon
65 > export CRABDBSAPIPYTHON=\${EXTERNALDIR}/DBSAPI
66 > export CRABDLSAPIPYTHON=\${EXTERNALDIR}/DLSAPI/lib
67 > export CRABPRODCOMMONPYTHON=\${EXTERNALDIR}
68 > export CRABLIBPYTHON=\${EXTERNALDIR}/crablib
69 >
70  
71   if [ -z "\$PATH" ]; then
72 < export PATH=\${CRABPATH}
72 > export PATH=\${CRABPATH}:\${CRABDLSAPIPATH}
73   else
74 < export PATH=\${CRABPATH}:\${PATH}
74 > export PATH=\${CRABPATH}:\${CRABDLSAPIPATH}:\${PATH}
75   fi
76   if [ -z "\$PYTHONPATH" ]; then
77 < export PYTHONPATH=\${CRABPYTHON}:\${CRABDBSAPIPYTHON}:\${CRABDLSAPIPYTHON}:\${CRABPSETPYTHON}:\${CRABPRODAGENTPYTHON}:\${CRABPRODCOMMONPYTHON}
77 > export PYTHONPATH=\${CRABPYTHON}:\${CRABDBSAPIPYTHON}:\${CRABDLSAPIPYTHON}:\${CRABPRODCOMMONPYTHON}:\${CRABLIBPYTHON}
78   else
79 < export PYTHONPATH=\${PYTHONPATH}:\${CRABPYTHON}:\${CRABDBSAPIPYTHON}:\${CRABDLSAPIPYTHON}:\${CRABPSETPYTHON}:\${CRABPRODAGENTPYTHON}:\${CRABPRODCOMMONPYTHON}
79 > export PYTHONPATH=\${PYTHONPATH}:\${CRABPYTHON}:\${CRABDBSAPIPYTHON}:\${CRABDLSAPIPYTHON}:\${CRABPRODCOMMONPYTHON}:\${CRABLIBPYTHON}
80   fi
81  
94 # BOSS related Stuff
95 source $TopDir/Boss/BOSS_$BOSSVER/bossenv.sh
82  
83 < # check whether central boss db is configured
83 > ## sqlite
84 > export CRABSQLITE=\${EXTERNALDIR}/sqlite/
85 > export CRABSQLITE_VERSION="3.3.5"
86 > export CRABSQLITE_ROOT=\$CRABSQLITE/\$CRABSQLITE_VERSION
87  
88 < # check if .bossrc dir exists
88 > export PATH=\${CRABSQLITE_ROOT}/bin:\${PATH}
89 > export LD_LIBRARY_PATH=\${LD_LIBRARY_PATH}:\${CRABSQLITE_ROOT}/lib
90  
101 if [ ! -d ~/.bossrc ]; then
102  mkdir ~/.bossrc
103 fi
91  
92 < # check if *clad files exist
92 > ## py2sql
93 > export CRABPYSQLITE=\${EXTERNALDIR}/py2-pysqlite
94 > export CRABPY2_PYSQLITE_VERSION="2.3.2"
95 > export CRABPY2_PYSQLITE_REVISION="1008"
96 > export CRABPY2_PYSQLITE_ROOT=\$CRABPYSQLITE/\$CRABPY2_PYSQLITE_VERSION
97 >
98 >
99 > export PYTHON_VERSION=2.3.4
100 > export PYTHONPATH=\${CRABPY2_PYSQLITE_ROOT}/lib/python2.4/site-packages:\$PYTHONPATH
101 > ## partially hardcoded path for python version "2.4"
102 > ## need to do something like:
103 > #export PYTHONPATH=\${CRABPY2_PYSQLITE_ROOT}/lib/python`echo $PYTHON_VERSION | cut -f1,2 -d.`/site-packages:\${PYTHONPATH}
104 >
105 > ## simplejson
106 > export CRABSIMPLEJSON=\${EXTERNALDIR}/simplejson
107 > export CRAB_SIMPLEJSON_VERSION="2.0.9"
108 > export CRAB_SIMPLEJSON_ROOT=\$CRABSIMPLEJSON/\$CRAB_SIMPLEJSON_VERSION
109 >
110 > export PYTHONPATH=\${CRAB_SIMPLEJSON_ROOT}/lib/python2.4/site-packages:\$PYTHONPATH
111 >
112 > ## pyOpenssl
113 > export PyOpenSSLPYTHON=\${EXTERNALDIR}
114 > export PYTHONPATH=\${PYTHONPATH}:\${PyOpenSSLPYTHON}
115 >
116 > ## pbs_python
117 > export CRABPBSPYTHON=\${EXTERNALDIR}/pbs_python
118 > export CRAB_PBSPYTHON_VERSION="3.2.0"
119 > export CRAB_PBSPYTHON_ROOT=\${CRABPBSPYTHON}/\${CRAB_PBSPYTHON_VERSION}
120 >
121 > export PYTHONPATH=\${CRAB_PBSPYTHON_ROOT}/lib/python2.4/site-packages/pbs:\$PYTHONPATH
122 >
123  
107 if [ ! -e ~/.bossrc/BossConfig.clad ]; then
108  if [ -e ~/BossConfig.clad ]; then
109    cp  ~/BossConfig.clad ~/.bossrc/BossConfig.clad
110  else
111    echo "User-boss DB not installed: run $\CRABDIR/configureBoss"
112    return 1
113  fi
114 fi
115 if [ ! -e ~/.bossrc/SQLiteConfig.clad ]; then
116  if [ -e ~/SQLiteConfig.clad ]; then
117    cp ~/SQLiteConfig.clad ~/.bossrc/SQLiteConfig.clad
118  else
119    echo "User-boss DB not installed: run $\CRABDIR/configureBoss"
120    return 1
121  fi
122 fi
123 if [ ! -e ~/.bossrc/MySQLRTConfig.clad ]; then
124  if [ -e ~/MySQLRTConfig.clad ]; then
125    cp  ~/MySQLRTConfig.clad  ~/.bossrc/MySQLRTConfig.clad
126  else
127    echo "User-boss DB not installed: run $\CRABDIR/configureBoss"
128    return 1
129  fi
130 fi
131 # now check a boss command to see if boss DB is up and running
132 if [ \`boss clientID 1>/dev/null | grep -c "not correctly configured"\` -ne 0 ]; then
133  echo "User-boss DB not installed: run $\CRABDIR/configureBoss"
134    return 1
135 fi
124   EOF
125  
126   # csh style
127   cat > crab.csh <<EOF
128   #! /bin/csh
129 + # first check if CRAB env has already been defined
130 + if ( \$?CRABDIR ) then
131 +   echo 'CRAB environment already defined: exiting'
132 +   exit 1
133 + endif
134   # CRAB related Stuff
135   setenv CRABDIR $TopDir
136 < setenv CRABSCRIPT \${CRABDIR}/script
136 > setenv EXTERNALDIR $ExtDir
137  
138   set CRABPATH=\${CRABDIR}/python
139 < set CRABDLSAPIPATH=\${CRABDIR}/DLSAPI
139 > set CRABDLSAPIPATH=\${EXTERNALDIR}/DLSAPI/bin
140   setenv CRABPYTHON \${CRABDIR}/python
141 < setenv CRABDBSAPIPYTHON \${CRABDIR}/DBSAPI
142 < setenv CRABDLSAPIPYTHON \${CRABDIR}/DLSAPI
143 < setenv CRABPSETPYTHON \${CRABDIR}/PsetCode
144 < setenv CRABPRODAGENTPYTHON \${CRABDIR}/ProdAgentApi
152 < setenv CRABPRODCOMMONPYTHON \${CRABDIR}/ProdCommon
141 > setenv CRABDBSAPIPYTHON \${EXTERNALDIR}/DBSAPI
142 > setenv CRABDLSAPIPYTHON \${EXTERNALDIR}/DLSAPI/lib
143 > setenv CRABPRODCOMMONPYTHON \${EXTERNALDIR}
144 > setenv CRABLIBPYTHON \${EXTERNALDIR}/crablib
145  
146   if ( ! \$?path ) then
147   set path=(\${CRABPATH})
# Line 157 | Line 149 | else
149   set path=( \${CRABPATH} \${path})
150   endif
151   if ( ! \$?PYTHONPATH ) then
152 < setenv PYTHONPATH \${CRABPYTHON}:\${CRABDBSAPIPYTHON}:\${CRABDLSAPIPYTHON}:\${CRABPSETPYTHON}:\${CRABPRODAGENTPYTHON}:\${CRABPRODCOMMONPYTHON}
152 > setenv PYTHONPATH \${CRABPYTHON}:\${CRABDBSAPIPYTHON}:\${CRABDLSAPIPYTHON}:\${CRABPRODCOMMONPYTHON}:\${CRABLIBPYTHON}
153   else
154 < setenv PYTHONPATH \${PYTHONPATH}:\${CRABPYTHON}:\${CRABDBSAPIPYTHON}:\${CRABDLSAPIPYTHON}:\${CRABPSETPYTHON}:\${CRABPRODAGENTPYTHON}:\${CRABPRODCOMMONPYTHON}
154 > setenv PYTHONPATH \${PYTHONPATH}:\${CRABPYTHON}:\${CRABDBSAPIPYTHON}:\${CRABDLSAPIPYTHON}:\${CRABPRODCOMMONPYTHON}:\${CRABLIBPYTHON}
155   endif
156  
165 # BOSS related Stuff
166 source $TopDir/Boss/BOSS_$BOSSVER/bossenv.csh
157  
158 < # check whether central boss db is configured
158 > ## sqlite
159 > setenv CRABSQLITE \${EXTERNALDIR}/sqlite/
160 > setenv CRABSQLITE_VERSION "3.3.5"
161 > setenv CRABSQLITE_ROOT \$CRABSQLITE/\$CRABSQLITE_VERSION
162  
163 < # check if .bossrc dir exists
163 > setenv PATH \${CRABSQLITE_ROOT}/bin:\${PATH}
164 > setenv LD_LIBRARY_PATH \${LD_LIBRARY_PATH}:\${CRABSQLITE_ROOT}/lib:\$EXTERNALDIR/crablib
165  
172 if ( ! -d ~/.bossrc ) then
173  mkdir ~/.bossrc
174 endif
166  
167 < # check if *clad files exist
168 < if ( ! -e ~/.bossrc/BossConfig.clad ) then
169 <  if ( -e ~/BossConfig.clad ) then
170 <    cp ~/BossConfig.clad ~/.bossrc/BossConfig.clad
171 <  else
181 <    echo "User-boss DB not installed: run \$CRABDIR/configureBoss"
182 <    exit 1
183 <  endif
184 < endif
185 < if ( ! -e ~/.bossrc/SQLiteConfig.clad ) then
186 <  if ( -e ~/SQLiteConfig.clad ) then
187 <    cp ~/SQLiteConfig.clad ~/.bossrc/SQLiteConfig.clad
188 <  else
189 <    echo "User-boss DB not installed: run \$CRABDIR/configureBoss"
190 <    exit 1
191 <  endif
192 < endif
193 < if ( ! -e ~/.bossrc/MySQLRTConfig.clad ) then
194 <  if ( -e ~/MySQLRTConfig.clad ) then
195 <    cp ~/MySQLRTConfig.clad  ~/.bossrc/MySQLRTConfig.clad
196 <  else
197 <    echo "User-boss DB not installed: run \$CRABDIR/configureBoss"
198 <    exit 1
199 <  endif
200 < endif
201 < # now check a boss command to see if boss DB is up and running
202 < if ( \`boss clientID |& grep -c "not correctly configured"\` ) then
203 <  echo "User-boss DB not installed: run \$CRABDIR/configureBoss"
204 <  exit 1
205 < endif
206 < EOF
207 < return
208 < }
167 > ## py2sql
168 > setenv CRABPYSQLITE \${EXTERNALDIR}/py2-pysqlite
169 > setenv CRABPY2_PYSQLITE_VERSION "2.3.2"
170 > setenv CRABPY2_PYSQLITE_REVISION "1008"
171 > setenv CRABPY2_PYSQLITE_ROOT \$CRABPYSQLITE/\$CRABPY2_PYSQLITE_VERSION
172  
173 < function configureDLSAPI {
174 < # part for PyXML install
175 < echo "DLSAPI Installation: begin at `date`"
176 < cd $TopDir/DLSAPI
177 < ./InstallPyXML.sh
178 < cd ..
179 < echo "DLSAPI Installation: end at `date`"
173 > setenv LD_LIBRARY_PATH \$CRABPY2_PYSQLITE_ROOT/lib:\$LD_LIBRARY_PATH
174 >
175 > setenv PYTHON_VERSION 2.3.4
176 > setenv PYTHONPATH \${CRABPY2_PYSQLITE_ROOT}/lib/python2.4/site-packages:\$PYTHONPATH
177 > ## partially hardcoded path for python version "2.4"
178 > ## need to do something like:
179 > #setenv PYTHONPATH \${CRABPY2_PYSQLITE_ROOT}/lib/python`echo $PYTHON_VERSION | cut -f1,2 -d.`/site-packages:\${PYTHONPATH}
180 >
181 > ## simplejson
182 > setenv CRABSIMPLEJSON \${EXTERNALDIR}/simplejson
183 > setenv CRAB_SIMPLEJSON_VERSION "2.0.9"
184 > setenv CRAB_SIMPLEJSON_ROOT \$CRABSIMPLEJSON/\$CRAB_SIMPLEJSON_VERSION
185 >
186 > setenv PYTHONPATH \${CRAB_SIMPLEJSON_ROOT}/lib/python2.4/site-packages:\$PYTHONPATH
187 >
188 > ## pyOpenssl
189 > setenv PyOpenSSLPYTHON \${EXTERNALDIR}
190 > setenv PYTHONPATH \${PYTHONPATH}:\${PyOpenSSLPYTHON}
191 >
192 > ## pbs_python
193 > setenv CRABPBSPYTHON \${EXTERNALDIR}/pbs_python
194 > setenv CRAB_PBSPYTHON_VERSION "3.2.0"
195 > setenv CRAB_PBSPYTHON_ROOT \${CRABPBSPYTHON}/\${CRAB_PBSPYTHON_VERSION}
196 >
197 > setenv PYTHONPATH \${CRAB_PBSPYTHON_ROOT}/lib/python2.4/site-packages/pbs:\$PYTHONPATH
198 >
199 >
200 > EOF
201   return
202   }
203  
204 < configureBoss
204 > echo
205 > echo -n Configuring CRAB.....
206   configureCrab
207 < configureDLSAPI
208 <
207 > echo "Done"
208 > echo

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines