Revision: | 1.30 |
Committed: | Thu Mar 1 09:34:22 2012 UTC (13 years, 1 month ago) by eulisse |
Branch: | MAIN |
CVS Tags: | CMSSW_5_2_4_onlpatch5_ONLINE, CMSSW_5_2_4_onlpatch4_ONLINE, CMSSW_5_2_4_hltpatch4, geForCMSSW_5_2_4_hltpatch4-slc5_amd64_gcc462, CMSSW_5_2_4_onlpatch3_ONLINE, CMSSW_5_2_4_hltpatch3, geForCMSSW_5_2_4_hltpatch3-slc5_amd64_gcc462, CMSSW_5_2_4_hltpatch2, geForCMSSW_5_2_4_hltpatch2-slc5_amd64_gcc462, CMSSW_5_2_4_patch4, geForCMSSW_5_2_4_patch4-slc5_amd64_gcc462, CMSSW_6_0_0_pre3-osx107, CMSSW_6_0_0_pre3-slc6, CMSSW_6_0_0_pre3-gcc470, CMSSW_6_0_0_pre3, ForCMSSW_6_0_0_pre3-slc6_amd64_gcc462, daForCMSSW_6_0_0_pre3-osx107_amd64_gcc462, daForCMSSW_6_0_0_pre3-slc5_amd64_gcc470, CMSSW_5_2_4_patch3, geForCMSSW_5_2_4_patch3-slc5_amd64_gcc462, daForCMSSW_6_0_0_pre3-slc5_amd64_gcc462, CMSSW_5_2_4_patch2, geForCMSSW_5_2_4_patch2-slc5_amd64_gcc462, davidlt_20120419_1431-60X-gcc470, davidlt_20120418_2032-60X-gcc470, davidlt_20120418_1546-60X-gcc470, davidlt_test_3, davidlt_test_2, davidlt_test_1, CMSSW_5_2_4_onlpatch1_ONLINE, CMSSW_5_2_4_ONLINE, CMSSW_5_2_4_patch1, daForCMSSW_5_2_4_patch1-slc5_amd64_gcc462, CMSSW_5_2_4-osx107, CMSSW_5_2_4-osx106, daForCMSSW_5_2_4-osx106_amd64_gcc462, daForCMSSW_5_2_4-osx107_amd64_gcc462, CMSSW_5_2_4, daForCMSSW_5_2_4-slc5_amd64_gcc462, CMSSW_5_2_3_patch4_ONLINE, CMSSW_5_2_3_patch4, davidlt_20120406_1647-60X-gcc470, CMSSW_5_2_3_patch3, daForCMSSW_5_2_3_patch3-slc5_amd64_gcc462, davidlt_20120405_1007-60X-gcc470, CMSSW_6_0_0_pre2-osx107, CMSSW_6_0_0_pre2-slc6, CMSSW_6_0_0_pre2, sm20120404-60X-osx107, sm20120404-60X-slc6, sm20120404-60X-gcc470, sm20120404-60X, CMSSW_5_2_3_patch2, geForCMSSW_5_2_3_patch2-slc5_amd64_gcc462, davidlt_20120403_1447-60X-slc6, davidlt_20120403_1455-60X-gcc470, davidlt_20120403_1459-60X-osx107, davidlt_20120403_1446-60X, geForCMSSW_5_2_3-osx106_amd64_gcc462, geForCMSSW_5_2_3-osx107_amd64_gcc462, davidlt_20120401_1059-60X-slc6, CMSSW_5_2_3_patch1_ONLINE, CMSSW_5_2_3_patch1, av20120330-cmssw523patch1-gcc462onl, geForCMSSW_5_2_3_patch1-slc5_amd64_gcc462, CMSSW_5_2_3_onlpatch1_ONLINE, av20120329-cmssw523onlpatch1-gcc462onl, CMSSW_5_2_3_ONLINE, CMSSW_5_2_3, geForCMSSW_5_2_3-slc5_amd64_gcc462, sm20120327-60X-osx107, sm20120327-60X-gcc470, sm20120327-60X-slc6, sm20120327-60X, CMSSW_5_2_2_ONLINE, fw20120325-cmssw522-gcc462onl, av20120324-cmssw522-gcc462onl, CMSSW_6_0_0_pre1_LOOPER, davidlt_20120323_1820-slc6, davidlt_20120323_1438-osx107, davidlt_20120323_1340-60X, CMSSW_6_0_0_pre1-osx107, CMSSW_6_0_0_pre1-slc6, CMSSW_6_0_0_pre1, sm20120322-60x-slc6, eulisse_20120321_1634-52X, davidlt_20120321_1033-60X-lion, davidlt_20120321_1024-60X, geForCMSSW_5_2_2-osx107_amd64_gcc462, geForCMSSW_5_2_2-osx106_amd64_gcc462, CMSSW_5_2_2, geForCMSSW_5_2_2-slc5_amd64_gcc462, geForCMSSW_5_2_1-osx107_amd64_gcc462, ge20120314-52X-lion, geForCMSSW_5_2_1-osx106_amd64_gcc462, CMSSW_5_2_1, geForCMSSW_5_2_1-slc5_amd64_gcc462, davidlt_20120315_1325-60X-gcc470, davidlt_20120313_1031-60X-lion, davidlt_20120307_0959-60X-slc6, davidlt_20120313_1023-60X, davidlt_20120314_1407-60X-gcc470, BOOTSTRAP_slc5_amd64_gcc470, ge20120314-52X, davidlt_20120313_1031-52X-lion, davidlt_20120313_1023-52X, davidlt_60X_gcc470_2, davidlt_60X_gcc470, ge20120310-52X, geForCMSSW_5_2_0-osx106_amd64_gcc462, geForCMSSW_5_2_0-osx107_amd64_gcc462, CMSSW_5_2_0, davidlt_20120307_0959-52X-slc6, geForCMSSW_5_2_0-slc5_amd64_gcc462, ge20120305-52X-lion, ge20120305-52X, davidlt_20120304_1754-52X-slc6, sm20120302-52X-lion, sm20120302-52X, ge20120301-52X-lion, ge20120301-52X |
Changes since 1.29: | +2 -2 lines |
Log Message: | Use the new /local/reps path by default for CVSROOT. |
# | User | Rev | Content |
---|---|---|---|
1 | muzaffar | 1.11 | ### RPM cms cms-common 1.0 |
2 | muzaffar | 1.29 | ## REVISION 1101 |
3 | muzaffar | 1.15 | ## NOCOMPILER |
4 | muzaffar | 1.28 | |
5 | lat | 1.27 | %define online %(case %cmsplatf in (*onl_*_*) echo true;; (*) echo false;; esac) |
6 | muzaffar | 1.28 | %if "%{?cmsroot:set}" != "set" |
7 | %define cmsroot %instroot | ||
8 | %endif | ||
9 | |||
10 | muzaffar | 1.1 | Source: cmsos |
11 | muzaffar | 1.28 | |
12 | muzaffar | 1.1 | %prep |
13 | muzaffar | 1.28 | #Make sure that we always build cms-common with a different revision and |
14 | #hardcoded version 1.0 because this is what bootstrap.sh is going to install | ||
15 | %if "%v" != "1.0" | ||
16 | echo "ERROR: Please do not change the version. We have to build this RPM with a different REVISION" | ||
17 | echo " Please update the revision in %n.spec and make sure that version is set to 1.0" | ||
18 | exit 1 | ||
19 | %endif | ||
20 | |||
21 | muzaffar | 1.1 | %build |
22 | muzaffar | 1.28 | |
23 | muzaffar | 1.1 | %install |
24 | |||
25 | muzaffar | 1.28 | #Create all files in %i/%{pkgrevision} directory. |
26 | #This can be avoid if we move to --buildroot based builds | ||
27 | mkdir -p %i/%{pkgrevision}/common | ||
28 | cd %i/%{pkgrevision} | ||
29 | |||
30 | cp %_sourcedir/cmsos ./common/cmsos | ||
31 | muzaffar | 1.1 | |
32 | muzaffar | 1.17 | %if "%online" != "true" |
33 | muzaffar | 1.28 | cat << \EOF_CMSARCH_SH > ./common/cmsarch |
34 | muzaffar | 1.1 | #!/bin/sh |
35 | osarch=`%instroot/common/cmsos` | ||
36 | elmer | 1.20 | compilerv=gcc434 |
37 | muzaffar | 1.1 | # We need to assume 1 compiler per platform. |
38 | # There is no other way around this. | ||
39 | if [ ! "$SCRAM_ARCH" ] | ||
40 | then | ||
41 | case $osarch in | ||
42 | osx104_ia32) compilerv=gcc401;; | ||
43 | osx104_ppc32) compilerv=gcc400;; | ||
44 | muzaffar | 1.16 | osx105_*) compilerv=gcc401;; |
45 | dsr | 1.21 | osx106_*) compilerv=gcc421;; |
46 | lat | 1.27 | slc6_*) compilerv=gcc461; osarch=slc6_amd64;; |
47 | elmer | 1.26 | slc5_*) compilerv=gcc434; osarch=slc5_amd64;; |
48 | elmer | 1.18 | slc4_*) compilerv=gcc345; osarch=slc4_ia32;; |
49 | elmer | 1.20 | *) compilerv=gcc434; osarch=slc5_ia32;; |
50 | muzaffar | 1.1 | esac |
51 | echo ${osarch}_${compilerv} | ||
52 | else | ||
53 | echo $SCRAM_ARCH | ||
54 | fi | ||
55 | |||
56 | EOF_CMSARCH_SH | ||
57 | muzaffar | 1.17 | %else |
58 | muzaffar | 1.28 | cat << \EOF_CMSARCH_SH > ./common/cmsarch |
59 | muzaffar | 1.17 | #!/bin/sh |
60 | if [ ! "$SCRAM_ARCH" ] ; then | ||
61 | echo %cmsplatf | ||
62 | else | ||
63 | echo $SCRAM_ARCH | ||
64 | fi | ||
65 | |||
66 | EOF_CMSARCH_SH | ||
67 | %endif | ||
68 | muzaffar | 1.1 | |
69 | ### BASH code | ||
70 | |||
71 | muzaffar | 1.28 | cat << \EOF_CMSSET_DEFAULT_SH > ./cmsset_default.sh |
72 | muzaffar | 1.1 | export PATH=%instroot/common:%instroot/bin:$PATH |
73 | |||
74 | if [ ! $SCRAM_ARCH ] | ||
75 | then | ||
76 | SCRAM_ARCH=`%instroot/common/cmsarch` | ||
77 | export SCRAM_ARCH | ||
78 | fi | ||
79 | |||
80 | here=%{instroot} | ||
81 | |||
82 | if [ "$VO_CMS_SW_DIR" != "" ] | ||
83 | then | ||
84 | here=$VO_CMS_SW_DIR | ||
85 | else | ||
86 | if [ "$OSG_APP" != "" ] | ||
87 | then | ||
88 | here=$OSG_APP/cmssoft/cms | ||
89 | fi | ||
90 | fi | ||
91 | |||
92 | if [ ! -d $here/${SCRAM_ARCH}/etc/profile.d ] | ||
93 | then | ||
94 | echo "Your shell is not able to find where cmsset_default.sh is located." | ||
95 | echo "Either you have not set VO_CMS_SW_DIR or OSG_APP correctly" | ||
96 | echo "or SCRAM_ARCH is not set to a valid architecture." | ||
97 | fi | ||
98 | |||
99 | for pkg in `/bin/ls $here/${SCRAM_ARCH}/etc/profile.d/ | grep 'S.*[.]sh'` | ||
100 | do | ||
101 | source $here/${SCRAM_ARCH}/etc/profile.d/$pkg | ||
102 | done | ||
103 | |||
104 | if [ ! $CMS_PATH ] | ||
105 | then | ||
106 | export CMS_PATH=$here | ||
107 | fi | ||
108 | |||
109 | # aliases | ||
110 | muzaffar | 1.9 | alias cmsenv='eval `scramv1 runtime -sh`' |
111 | alias cmsrel='scramv1 project CMSSW' | ||
112 | muzaffar | 1.1 | |
113 | if [ -f $CMS_PATH/SITECONF/local/JobConfig/cmsset_local.sh ]; then | ||
114 | . $CMS_PATH/SITECONF/local/JobConfig/cmsset_local.sh | ||
115 | fi | ||
116 | |||
117 | if [ ! $CVSROOT ] | ||
118 | then | ||
119 | eulisse | 1.30 | CVSROOT=:gserver:cmssw.cvs.cern.ch:/local/reps/CMSSW |
120 | muzaffar | 1.1 | export CVSROOT |
121 | fi | ||
122 | |||
123 | EOF_CMSSET_DEFAULT_SH | ||
124 | |||
125 | |||
126 | ### CSH code | ||
127 | |||
128 | muzaffar | 1.28 | cat << \EOF_CMSSET_DEFAULT_CSH > ./cmsset_default.csh |
129 | muzaffar | 1.1 | |
130 | if (${?PATH}) then | ||
131 | setenv PATH %instroot/common:%instroot/bin:$PATH | ||
132 | else | ||
133 | setenv PATH %instroot/common:%instroot/bin | ||
134 | endif | ||
135 | |||
136 | if ( ! ${?SCRAM_ARCH}) then | ||
137 | setenv SCRAM_ARCH `sh -c %instroot/common/cmsarch` | ||
138 | endif | ||
139 | |||
140 | set here=%instroot | ||
141 | |||
142 | if ( ${?VO_CMS_SW_DIR} ) then | ||
143 | set here=$VO_CMS_SW_DIR | ||
144 | else | ||
145 | # OSG | ||
146 | if ( ${?OSG_APP} ) then | ||
147 | set here=$OSG_APP/cmssoft/cms | ||
148 | endif | ||
149 | # OSG | ||
150 | endif | ||
151 | |||
152 | muzaffar | 1.28 | if ( ! -d $here/${SCRAM_ARCH}/etc/profile.d ) then |
153 | echo "Your shell is not able to find where cmsset_default.csh is located." | ||
154 | echo "Either you have not set VO_CMS_SW_DIR or OSG_APP correctly" | ||
155 | echo "or SCRAM_ARCH is not set to a valid architecture." | ||
156 | muzaffar | 1.1 | endif |
157 | |||
158 | foreach pkg ( `/bin/ls ${here}/${SCRAM_ARCH}/etc/profile.d/ | grep 'S.*[.]csh'` ) | ||
159 | source ${here}/${SCRAM_ARCH}/etc/profile.d/$pkg | ||
160 | end | ||
161 | if ( ! ${?CMS_PATH} ) then | ||
162 | setenv CMS_PATH $here | ||
163 | endif | ||
164 | |||
165 | # aliases | ||
166 | muzaffar | 1.9 | alias cmsenv 'eval `scramv1 runtime -csh`' |
167 | alias cmsrel 'scramv1 project CMSSW' | ||
168 | muzaffar | 1.1 | |
169 | if( -e $CMS_PATH/SITECONF/local/JobConfig/cmsset_local.csh ) then | ||
170 | source $CMS_PATH/SITECONF/local/JobConfig/cmsset_local.csh | ||
171 | endif | ||
172 | |||
173 | if ( ! ${?CVSROOT}) then | ||
174 | eulisse | 1.30 | setenv CVSROOT :gserver:cmssw.cvs.cern.ch:/local/reps/CMSSW |
175 | muzaffar | 1.1 | endif |
176 | |||
177 | unset here | ||
178 | EOF_CMSSET_DEFAULT_CSH | ||
179 | |||
180 | muzaffar | 1.28 | cat << \EOF_COMMON_SCRAM > ./common/scram |
181 | muzaffar | 1.1 | #!/bin/sh |
182 | CMSARCH=`cmsarch` | ||
183 | muzaffar | 1.10 | srbase=%{instroot}/$CMSARCH |
184 | sver=$SCRAM_VERSION | ||
185 | dir=`/bin/pwd` | ||
186 | muzaffar | 1.17 | while [ ! -d ${dir}/.SCRAM ] && [ "$dir" != "/" ] ; do |
187 | muzaffar | 1.10 | dir=`dirname $dir` |
188 | done | ||
189 | if [ -f ${dir}/config/scram_version ] ; then | ||
190 | sver=`cat ${dir}/config/scram_version` | ||
191 | muzaffar | 1.17 | elif [ "X$sver" = "X" ] ; then |
192 | muzaffar | 1.10 | sver=`cat ${srbase}/etc/default-scramv1-version` |
193 | fi | ||
194 | muzaffar | 1.17 | if [ "X$sver" = "XV1_0_3-p1" ] && [ "X$CMSARCH" = "Xslc4_ia32_gcc345" ] ; then |
195 | muzaffar | 1.10 | sver=V1_0_3-p2 |
196 | fi | ||
197 | muzaffar | 1.28 | scram_rel_series=`echo $sver | grep '^V[0-9][0-9]*_[0-9][0-9]*_[0-9][0-9]*' | sed 's|^\(V[0-9][0-9]*_[0-9][0-9]*\)_.*|\1|'` |
198 | case $sver in | ||
199 | V[01]_*|V2_[012]_* ) ;; | ||
200 | * ) scram_rel_series=`echo $scram_rel_series | sed 's|_.*||'` ;; | ||
201 | esac | ||
202 | muzaffar | 1.17 | if [ "X${scram_rel_series}" != "X" ] && [ -f ${srbase}/etc/default-scram/${scram_rel_series} ] ; then |
203 | muzaffar | 1.10 | sver=`cat ${srbase}/etc/default-scram/${scram_rel_series}` |
204 | muzaffar | 1.1 | fi |
205 | scmd=scram | ||
206 | muzaffar | 1.10 | srbase=%{instroot}/$CMSARCH/lcg/SCRAMV1 |
207 | muzaffar | 1.1 | case $sver in |
208 | muzaffar | 1.10 | V0_* ) srbase=%{instroot}/$CMSARCH/lcg/SCRAM; scmd=scramv0;; |
209 | V1_0* ) scmd=scramv1;; | ||
210 | * ) ;; | ||
211 | muzaffar | 1.1 | esac |
212 | muzaffar | 1.10 | if [ ! -f ${srbase}/${sver}/etc/profile.d/init.sh ] ; then |
213 | muzaffar | 1.8 | echo "Unable to find SCRAM version $sver for $CMSARCH architecture." |
214 | exit 1 | ||
215 | fi | ||
216 | muzaffar | 1.17 | . ${srbase}/${sver}/etc/profile.d/init.sh |
217 | elmer | 1.2 | # In the case we are on linux ia32 we prepend the linux32 command to the |
218 | # actual scram command so that, no matter where the ia32 architecture is | ||
219 | # running (i686 or x84_64) scram detects it as ia32. | ||
220 | muzaffar | 1.1 | CMSPLAT=`echo $CMSARCH | cut -d_ -f 2` |
221 | elmer | 1.2 | USE_LINUX32= |
222 | muzaffar | 1.17 | if [ `uname` = "Linux" ] && [ "$CMSPLAT" = "ia32" ] ; then |
223 | muzaffar | 1.10 | USE_LINUX32=linux32 |
224 | muzaffar | 1.1 | fi |
225 | muzaffar | 1.10 | $USE_LINUX32 ${srbase}/${sver}/bin/${scmd} $@ |
226 | muzaffar | 1.1 | EOF_COMMON_SCRAM |
227 | |||
228 | muzaffar | 1.28 | find . -name "*" -type f | xargs chmod +x |
229 | |||
230 | %post | ||
231 | cd $RPM_INSTALL_PREFIX/%{pkgrel}/%{pkgrevision} | ||
232 | %{relocateCmsFiles} `find . -name "*" -type f` | ||
233 | |||
234 | mkdir -p $RPM_INSTALL_PREFIX/common $RPM_INSTALL_PREFIX/bin $RPM_INSTALL_PREFIX/etc/%{pkgname} $RPM_INSTALL_PREFIX/%{cmsplatf}/etc/profile.d | ||
235 | muzaffar | 1.1 | |
236 | muzaffar | 1.28 | #Check if a newer revision is already installed |
237 | #Also force installation if older revision has deleted cmsset_default.sh | ||
238 | if [ -f $RPM_INSTALL_PREFIX/cmsset_default.csh ] && [ -f $RPM_INSTALL_PREFIX/etc/%{pkgname}/revision ] ; then | ||
239 | oldrev=`cat $RPM_INSTALL_PREFIX/etc/%{pkgname}/revision` | ||
240 | if [ $oldrev -ge %{pkgrevision} ] ; then | ||
241 | exit 0 | ||
242 | fi | ||
243 | fi | ||
244 | |||
245 | for file in `find . -name "*" -type f`; do | ||
246 | rm -f $RPM_INSTALL_PREFIX/$file | ||
247 | cp $file $RPM_INSTALL_PREFIX/$file | ||
248 | done | ||
249 | muzaffar | 1.1 | |
250 | muzaffar | 1.28 | cd $RPM_INSTALL_PREFIX |
251 | rm -f common/scramv1; ln -s scram common/scramv1 | ||
252 | rm -f common/scramv0; ln -s scram common/scramv0 | ||
253 | rm -f bin/cmsarch; ln -s ../common/cmsarch bin/cmsarch | ||
254 | rm -f bin/cmsos; ln -s ../common/cmsarch bin/cmsos | ||
255 | rm -f bin/scramv1; ln -s ../common/scramv1 bin/scramv1 | ||
256 | echo %{pkgrevision} > etc/%{pkgname}/revision |