Revision: | 1.26 |
Committed: | Wed Apr 27 08:17:15 2011 UTC (14 years ago) by elmer |
Branch: | MAIN |
CVS Tags: | TW20120302a, bld_1321637643_reqmon_slc5_amd64_gcc461, bld_1320341101_PHEDEX-combined-agents_slc5_amd64_gcc434, bld_1320248863_PHEDEX-combined-agents_slc5_amd64_gcc434, bld_1318622241_wmagent_slc5_amd64_gcc434, bld_1318524794_asyncstageout_slc5_amd64_gcc434, bld_1318424717_crab-server3_slc5_amd64_gcc434, bld_1318423430_asyncstageout_slc5_amd64_gcc434, bld_1318410594_crab-server3_slc5_amd64_gcc434, TW20111010c, TW20111010b, TW20111010a, HG1111a-gcc434, HG1111a, HG1111a-bootstrap-gcc434, builder_2011-10-04_16-25-49_das, bld_1317721310_stagemanager-agent_slc5_amd64_gcc434, HG1111a-bootstrap-gcc461, builder_2011-09-30_15-50-42_PHEDEX-combined-agents, builder_2011-09-29_13-07-19_cmsweb, builder_2011-09-29_12-57-04_cmsweb, LT20110929b, LT20110929a, HG1109e, builder_2011-09-29_09-05-43_crab-server3, builder_2011-09-29_09-05-42_asyncstageout, builder_2011-09-29_05-49-40_wmagent, LT20110928b, LT20110928a, builder_2011-09-28_19-05-55_PHEDEX-combined-agents, builder_2011-09-28_16-45-33_das, builder_2011-09-28_16-05-45_das, TW20110928b, builder_2011-09-28_12-04-32_stagemanager-agent, builder_2011-09-28_12-04-32_stagemanager, TW20110928a, builder_2011-09-28_11-09-39_stagemanager-agent, builder_2011-09-27_17-51-30_reqmon, builder_2011-09-26_18-50-48_stagemanager-agent, builder_2011-09-26_18-50-48_stagemanager, HG1109d, builder_2011-09-23_12-46-40_cmsweb, builder_2011-09-23_12-37-00_cmsweb, builder_2011-09-23_12-09-06_wmagent, builder_2011-09-22_12-03-59_asyncstageout, builder_2011-09-22_11-25-57_crab-server3, builder_2011-09-22_11-24-38_asyncstageout, builder_2011-09-22_09-46-05_cmsweb, builder_2011-09-22_09-36-11_cmsweb, builder_2011-09-22_05-26-44_wmagent, builder_2011-09-21_18-06-30_asyncstageout, builder_2011-09-21_15-26-46_wmagent, builder_2011-09-21_12-53-09_crab-server3, builder_2011-09-21_12-53-09_asyncstageout, builder_2011-09-21_12-47-08_crab-server3, builder_2011-09-21_12-45-23_asyncstageout, builder_2011-09-20_21-03-55_regsvc, builder_2011-09-19_17-53-10_cmsweb, builder_2011-09-19_12-05-14_workqueue, builder_2011-09-15_17-45-48_PHEDEX-combined-agents, HG1109c-osx, builder_2011-09-14_13-06-06_cmsweb, HG1109c-bootstrap, builder_2011-09-13_22-04-02_filemover, TW20110913b, TW20110913a, builder_2011-09-13_12-46-32_cmsweb, HG1109c, LT20110913a, builder_2011-09-13_10-10-02_cmsweb, LT20110912a, TW20110911a, TW20110909d, TW20110909c, builder_2011-09-09_17-05-31_dbs3-client, TW20110909b, TW20110909a, builder_2011-09-08_22-46-50_reqmgr, HG1109b, builder_2011-09-07_19-00-35_cmsweb, builder_2011-09-06_22-45-07_globalmonitor, builder_2011-09-06_16-09-09_stagemanager-agent, builder_2011-09-06_15-53-16_stagemanager-agent, builder_2011-09-01_12-14-12_wmagent, HG1109a, builder_2011-08-29_19-08-40_cmsweb, builder_2011-08-27_00-05-05_asyncstageout, builder_2011-08-26_19-05-27_crab-server3, builder_2011-08-16_12-09-37_cmsweb, HG1108b, builder_2011-08-12_22-56-45_cmsweb, TW20110808a, builder_2011-08-04_18-42-50_stagemanager-agent, builder_2011-08-04_17-25-36_das, builder_2011-08-04_13-25-47_cmsweb, builder_2011-08-02_16-19-02_wmagent, TW20110729a, TW20110728d, TW20110728c, TW20110728b, TW20110728a, builder_2011-07-28_00-46-23_cmsweb, DBS_2_1_6-pre1, builder_2011-07-27_18-04-14_reqmgr, HG1108a, HG1108a-osx, HG1108a-bootstrap, pe20110427a-for43X-ports, pe20110427a-for43X |
Changes since 1.25: | +2 -2 lines |
Log Message: | Update to revision 1057. Update osarch default for slc5 to "slc5_amd64" (was slc5_ia32). This should have the effect of changing the default SCRAM_ARCH on SLC5 from slc5_ia32_gcc434 to slc5_amd64_gcc434. |
# | User | Rev | Content |
---|---|---|---|
1 | muzaffar | 1.11 | ### RPM cms cms-common 1.0 |
2 | elmer | 1.26 | ## REVISION 1057 |
3 | muzaffar | 1.15 | ## NOCOMPILER |
4 | muzaffar | 1.17 | %define closingbrace ) |
5 | elmer | 1.19 | %define online %(case %cmsplatf in *onl_*_*%closingbrace echo true;; *%closingbrace echo false;; esac) |
6 | muzaffar | 1.1 | Source: cmsos |
7 | %prep | ||
8 | %build | ||
9 | echo $SCRAM_ROOT | ||
10 | %install | ||
11 | |||
12 | muzaffar | 1.17 | mkdir -p %instroot/common %instroot/bin %instroot/%{cmsplatf}/etc/profile.d |
13 | muzaffar | 1.1 | |
14 | elmer | 1.6 | # Do not create these common files if already exist |
15 | muzaffar | 1.1 | # This is to avoid different arch creating these files |
16 | if [ ! -f %instroot/common/.cms-common ]; then | ||
17 | install -m 755 %_sourcedir/cmsos %instroot/common/cmsos | ||
18 | ### Detects the SCRAM_ARCH to be used. | ||
19 | muzaffar | 1.17 | %if "%online" != "true" |
20 | muzaffar | 1.1 | cat << \EOF_CMSARCH_SH >%instroot/common/cmsarch |
21 | #!/bin/sh | ||
22 | osarch=`%instroot/common/cmsos` | ||
23 | elmer | 1.20 | compilerv=gcc434 |
24 | muzaffar | 1.1 | # We need to assume 1 compiler per platform. |
25 | # There is no other way around this. | ||
26 | if [ ! "$SCRAM_ARCH" ] | ||
27 | then | ||
28 | case $osarch in | ||
29 | osx104_ia32) compilerv=gcc401;; | ||
30 | osx104_ppc32) compilerv=gcc400;; | ||
31 | muzaffar | 1.16 | osx105_*) compilerv=gcc401;; |
32 | dsr | 1.21 | osx106_*) compilerv=gcc421;; |
33 | elmer | 1.26 | slc5_*) compilerv=gcc434; osarch=slc5_amd64;; |
34 | elmer | 1.18 | slc4_*) compilerv=gcc345; osarch=slc4_ia32;; |
35 | elmer | 1.20 | *) compilerv=gcc434; osarch=slc5_ia32;; |
36 | muzaffar | 1.1 | esac |
37 | echo ${osarch}_${compilerv} | ||
38 | else | ||
39 | echo $SCRAM_ARCH | ||
40 | fi | ||
41 | |||
42 | EOF_CMSARCH_SH | ||
43 | muzaffar | 1.17 | %else |
44 | cat << \EOF_CMSARCH_SH >%instroot/common/cmsarch | ||
45 | #!/bin/sh | ||
46 | if [ ! "$SCRAM_ARCH" ] ; then | ||
47 | echo %cmsplatf | ||
48 | else | ||
49 | echo $SCRAM_ARCH | ||
50 | fi | ||
51 | |||
52 | EOF_CMSARCH_SH | ||
53 | %endif | ||
54 | muzaffar | 1.1 | chmod 755 %instroot/common/cmsarch |
55 | |||
56 | ### BASH code | ||
57 | |||
58 | cat << \EOF_CMSSET_DEFAULT_SH > %instroot/cmsset_default.sh | ||
59 | export PATH=%instroot/common:%instroot/bin:$PATH | ||
60 | |||
61 | if [ ! $SCRAM_ARCH ] | ||
62 | then | ||
63 | SCRAM_ARCH=`%instroot/common/cmsarch` | ||
64 | export SCRAM_ARCH | ||
65 | fi | ||
66 | |||
67 | here=%{instroot} | ||
68 | |||
69 | if [ "$VO_CMS_SW_DIR" != "" ] | ||
70 | then | ||
71 | here=$VO_CMS_SW_DIR | ||
72 | else | ||
73 | if [ "$OSG_APP" != "" ] | ||
74 | then | ||
75 | here=$OSG_APP/cmssoft/cms | ||
76 | fi | ||
77 | fi | ||
78 | |||
79 | if [ ! -d $here/${SCRAM_ARCH}/etc/profile.d ] | ||
80 | then | ||
81 | echo "Your shell is not able to find where cmsset_default.sh is located." | ||
82 | echo "Either you have not set VO_CMS_SW_DIR or OSG_APP correctly" | ||
83 | echo "or SCRAM_ARCH is not set to a valid architecture." | ||
84 | fi | ||
85 | |||
86 | for pkg in `/bin/ls $here/${SCRAM_ARCH}/etc/profile.d/ | grep 'S.*[.]sh'` | ||
87 | do | ||
88 | source $here/${SCRAM_ARCH}/etc/profile.d/$pkg | ||
89 | done | ||
90 | |||
91 | if [ ! $CMS_PATH ] | ||
92 | then | ||
93 | export CMS_PATH=$here | ||
94 | fi | ||
95 | |||
96 | # aliases | ||
97 | muzaffar | 1.9 | alias cmsenv='eval `scramv1 runtime -sh`' |
98 | alias cmsrel='scramv1 project CMSSW' | ||
99 | muzaffar | 1.1 | |
100 | if [ -f $CMS_PATH/SITECONF/local/JobConfig/cmsset_local.sh ]; then | ||
101 | . $CMS_PATH/SITECONF/local/JobConfig/cmsset_local.sh | ||
102 | fi | ||
103 | |||
104 | if [ ! $CVSROOT ] | ||
105 | then | ||
106 | muzaffar | 1.23 | CVSROOT=:gserver:cmssw.cvs.cern.ch:/cvs/CMSSW |
107 | muzaffar | 1.1 | export CVSROOT |
108 | fi | ||
109 | |||
110 | EOF_CMSSET_DEFAULT_SH | ||
111 | |||
112 | |||
113 | ### CSH code | ||
114 | |||
115 | cat << \EOF_CMSSET_DEFAULT_CSH > %instroot/cmsset_default.csh | ||
116 | |||
117 | if (${?PATH}) then | ||
118 | setenv PATH %instroot/common:%instroot/bin:$PATH | ||
119 | else | ||
120 | setenv PATH %instroot/common:%instroot/bin | ||
121 | endif | ||
122 | |||
123 | if ( ! ${?SCRAM_ARCH}) then | ||
124 | setenv SCRAM_ARCH `sh -c %instroot/common/cmsarch` | ||
125 | endif | ||
126 | |||
127 | set here=%instroot | ||
128 | |||
129 | if ( ${?VO_CMS_SW_DIR} ) then | ||
130 | set here=$VO_CMS_SW_DIR | ||
131 | else | ||
132 | # OSG | ||
133 | if ( ${?OSG_APP} ) then | ||
134 | set here=$OSG_APP/cmssoft/cms | ||
135 | endif | ||
136 | # OSG | ||
137 | endif | ||
138 | |||
139 | if ( ! -e $here/cmsset_default.csh ) then | ||
140 | echo "Please cd into the directory where cmsset_default.csh is." | ||
141 | endif | ||
142 | |||
143 | foreach pkg ( `/bin/ls ${here}/${SCRAM_ARCH}/etc/profile.d/ | grep 'S.*[.]csh'` ) | ||
144 | source ${here}/${SCRAM_ARCH}/etc/profile.d/$pkg | ||
145 | end | ||
146 | if ( ! ${?CMS_PATH} ) then | ||
147 | setenv CMS_PATH $here | ||
148 | endif | ||
149 | |||
150 | # aliases | ||
151 | muzaffar | 1.9 | alias cmsenv 'eval `scramv1 runtime -csh`' |
152 | alias cmsrel 'scramv1 project CMSSW' | ||
153 | muzaffar | 1.1 | |
154 | if( -e $CMS_PATH/SITECONF/local/JobConfig/cmsset_local.csh ) then | ||
155 | source $CMS_PATH/SITECONF/local/JobConfig/cmsset_local.csh | ||
156 | endif | ||
157 | |||
158 | if ( ! ${?CVSROOT}) then | ||
159 | muzaffar | 1.23 | setenv CVSROOT :gserver:cmssw.cvs.cern.ch:/cvs/CMSSW |
160 | muzaffar | 1.1 | endif |
161 | |||
162 | unset here | ||
163 | EOF_CMSSET_DEFAULT_CSH | ||
164 | |||
165 | cat << \EOF_COMMON_SCRAM > %instroot/common/scram | ||
166 | #!/bin/sh | ||
167 | CMSARCH=`cmsarch` | ||
168 | muzaffar | 1.10 | srbase=%{instroot}/$CMSARCH |
169 | sver=$SCRAM_VERSION | ||
170 | dir=`/bin/pwd` | ||
171 | muzaffar | 1.17 | while [ ! -d ${dir}/.SCRAM ] && [ "$dir" != "/" ] ; do |
172 | muzaffar | 1.10 | dir=`dirname $dir` |
173 | done | ||
174 | if [ -f ${dir}/config/scram_version ] ; then | ||
175 | sver=`cat ${dir}/config/scram_version` | ||
176 | muzaffar | 1.17 | elif [ "X$sver" = "X" ] ; then |
177 | muzaffar | 1.10 | sver=`cat ${srbase}/etc/default-scramv1-version` |
178 | fi | ||
179 | muzaffar | 1.17 | if [ "X$sver" = "XV1_0_3-p1" ] && [ "X$CMSARCH" = "Xslc4_ia32_gcc345" ] ; then |
180 | muzaffar | 1.10 | sver=V1_0_3-p2 |
181 | fi | ||
182 | scram_rel_series=`echo $sver | grep '^V[0-9]\+_[0-9]\+_[0-9]\+' | sed 's|^\(V[0-9]\+_[0-9]\+\)_.*|\1|'` | ||
183 | muzaffar | 1.17 | if [ "X${scram_rel_series}" != "X" ] && [ -f ${srbase}/etc/default-scram/${scram_rel_series} ] ; then |
184 | muzaffar | 1.10 | sver=`cat ${srbase}/etc/default-scram/${scram_rel_series}` |
185 | muzaffar | 1.1 | fi |
186 | scmd=scram | ||
187 | muzaffar | 1.10 | srbase=%{instroot}/$CMSARCH/lcg/SCRAMV1 |
188 | muzaffar | 1.1 | case $sver in |
189 | muzaffar | 1.10 | V0_* ) srbase=%{instroot}/$CMSARCH/lcg/SCRAM; scmd=scramv0;; |
190 | V1_0* ) scmd=scramv1;; | ||
191 | * ) ;; | ||
192 | muzaffar | 1.1 | esac |
193 | muzaffar | 1.10 | if [ ! -f ${srbase}/${sver}/etc/profile.d/init.sh ] ; then |
194 | muzaffar | 1.8 | echo "Unable to find SCRAM version $sver for $CMSARCH architecture." |
195 | exit 1 | ||
196 | fi | ||
197 | muzaffar | 1.17 | . ${srbase}/${sver}/etc/profile.d/init.sh |
198 | elmer | 1.2 | # In the case we are on linux ia32 we prepend the linux32 command to the |
199 | # actual scram command so that, no matter where the ia32 architecture is | ||
200 | # running (i686 or x84_64) scram detects it as ia32. | ||
201 | muzaffar | 1.1 | CMSPLAT=`echo $CMSARCH | cut -d_ -f 2` |
202 | elmer | 1.2 | USE_LINUX32= |
203 | muzaffar | 1.17 | if [ `uname` = "Linux" ] && [ "$CMSPLAT" = "ia32" ] ; then |
204 | muzaffar | 1.10 | USE_LINUX32=linux32 |
205 | muzaffar | 1.1 | fi |
206 | muzaffar | 1.10 | $USE_LINUX32 ${srbase}/${sver}/bin/${scmd} $@ |
207 | muzaffar | 1.1 | EOF_COMMON_SCRAM |
208 | |||
209 | chmod +x %{instroot}/common/scram | ||
210 | ln -sf scram %{instroot}/common/scramv1 | ||
211 | ln -sf scram %{instroot}/common/scramv0 | ||
212 | muzaffar | 1.5 | ln -sf ../common/cmsarch %instroot/bin/cmsarch |
213 | ln -sf ../common/cmsarch %instroot/bin/cmsos | ||
214 | ln -sf ../common/scramv1 %instroot/bin/scramv1 | ||
215 | muzaffar | 1.1 | touch %instroot/common/.cms-common |
216 | fi | ||
217 | |||
218 | touch %instroot/%cmsplatf/etc/profile.d/dummy | ||
219 | |||
220 | %post | ||
221 | muzaffar | 1.22 | echo $CMS_INSTALL_PREFIX |
222 | %{relocateCmsFiles} $RPM_INSTALL_PREFIX/cmsset_default.sh | ||
223 | %{relocateCmsFiles} $RPM_INSTALL_PREFIX/cmsset_default.csh | ||
224 | %{relocateCmsFiles} $RPM_INSTALL_PREFIX/common/cmsos | ||
225 | %{relocateCmsFiles} $RPM_INSTALL_PREFIX/common/cmsarch | ||
226 | %{relocateCmsFiles} $RPM_INSTALL_PREFIX/common/scram | ||
227 | muzaffar | 1.1 | |
228 | %files | ||
229 | %i | ||
230 | %instroot/cmsset_default.sh | ||
231 | %instroot/cmsset_default.csh | ||
232 | %instroot/common/cmsos | ||
233 | %instroot/common/cmsarch | ||
234 | %instroot/common/scram | ||
235 | %instroot/common/scramv1 | ||
236 | %instroot/common/scramv0 | ||
237 | muzaffar | 1.4 | %instroot/common/.cms-common |
238 | %instroot/bin/cmsos | ||
239 | %instroot/bin/cmsarch | ||
240 | %instroot/bin/scramv1 | ||
241 | muzaffar | 1.1 | %instroot/%cmsplatf/etc/profile.d |
242 | %exclude %instroot/%cmsplatf/etc/profile.d/* |