1 |
< |
### RPM cms cms-common 1.0 |
1 |
> |
### RPM cms cms-common 1.0 |
2 |
> |
## REVISION 1057 |
3 |
> |
## NOCOMPILER |
4 |
> |
%define closingbrace ) |
5 |
> |
%define online %(case %cmsplatf in *onl_*_*%closingbrace echo true;; *%closingbrace echo false;; esac) |
6 |
|
Source: cmsos |
7 |
|
%prep |
8 |
|
%build |
9 |
|
echo $SCRAM_ROOT |
10 |
|
%install |
11 |
|
|
12 |
< |
mkdir -p %instroot/common %instroot/bin %{instroot}/%{cmsplatf}/etc/profile.d |
12 |
> |
mkdir -p %instroot/common %instroot/bin %instroot/%{cmsplatf}/etc/profile.d |
13 |
|
|
14 |
|
# Do not create these common files if already exist |
15 |
|
# 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 |
+ |
%if "%online" != "true" |
20 |
|
cat << \EOF_CMSARCH_SH >%instroot/common/cmsarch |
21 |
|
#!/bin/sh |
22 |
|
osarch=`%instroot/common/cmsos` |
23 |
< |
compilerv=gcc323 |
23 |
> |
compilerv=gcc434 |
24 |
|
# 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 |
24 |
– |
slc3_ia32) compilerv=gcc323;; |
25 |
– |
slc3_amd64) compilerv=gcc344;; |
26 |
– |
slc4_ia32) compilerv=gcc345;; |
27 |
– |
slc4_amd64) compilerv=gcc345; osarch=slc4_ia32;; |
29 |
|
osx104_ia32) compilerv=gcc401;; |
30 |
|
osx104_ppc32) compilerv=gcc400;; |
31 |
+ |
osx105_*) compilerv=gcc401;; |
32 |
+ |
osx106_*) compilerv=gcc421;; |
33 |
+ |
slc5_*) compilerv=gcc434; osarch=slc5_amd64;; |
34 |
+ |
slc4_*) compilerv=gcc345; osarch=slc4_ia32;; |
35 |
+ |
*) compilerv=gcc434; osarch=slc5_ia32;; |
36 |
|
esac |
37 |
|
echo ${osarch}_${compilerv} |
38 |
|
else |
40 |
|
fi |
41 |
|
|
42 |
|
EOF_CMSARCH_SH |
43 |
+ |
%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 |
|
chmod 755 %instroot/common/cmsarch |
55 |
|
|
56 |
|
### BASH code |
94 |
|
fi |
95 |
|
|
96 |
|
# aliases |
97 |
< |
alias cmsenv='eval `scram runtime -sh`' |
98 |
< |
alias cmsrel='scram project CMSSW' |
97 |
> |
alias cmsenv='eval `scramv1 runtime -sh`' |
98 |
> |
alias cmsrel='scramv1 project CMSSW' |
99 |
|
|
100 |
|
if [ -f $CMS_PATH/SITECONF/local/JobConfig/cmsset_local.sh ]; then |
101 |
|
. $CMS_PATH/SITECONF/local/JobConfig/cmsset_local.sh |
103 |
|
|
104 |
|
if [ ! $CVSROOT ] |
105 |
|
then |
106 |
< |
CVSROOT=:kserver:cmscvs.cern.ch:/cvs_server/repositories/CMSSW |
106 |
> |
CVSROOT=:gserver:cmssw.cvs.cern.ch:/cvs/CMSSW |
107 |
|
export CVSROOT |
108 |
|
fi |
109 |
|
|
148 |
|
endif |
149 |
|
|
150 |
|
# aliases |
151 |
< |
alias cmsenv 'eval `scram runtime -csh`' |
152 |
< |
alias cmsrel 'scram project CMSSW' |
151 |
> |
alias cmsenv 'eval `scramv1 runtime -csh`' |
152 |
> |
alias cmsrel 'scramv1 project CMSSW' |
153 |
|
|
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 |
< |
setenv CVSROOT :kserver:cmscvs.cern.ch:/cvs_server/repositories/CMSSW |
159 |
> |
setenv CVSROOT :gserver:cmssw.cvs.cern.ch:/cvs/CMSSW |
160 |
|
endif |
161 |
|
|
162 |
|
unset here |
165 |
|
cat << \EOF_COMMON_SCRAM > %instroot/common/scram |
166 |
|
#!/bin/sh |
167 |
|
CMSARCH=`cmsarch` |
168 |
< |
srbase= |
169 |
< |
if [ "X$SCRAM_VERSION" = "X" ] ; then |
170 |
< |
sver=`cat %{instroot}/$CMSARCH/etc/default-scramv1-version` |
171 |
< |
dir=`/bin/pwd` |
172 |
< |
while [ ! -d ${dir}/.SCRAM -a "$dir" != "/" ] ; do |
173 |
< |
dir=`dirname $dir` |
174 |
< |
done |
175 |
< |
if [ -f ${dir}/config/scram_version ] ; then |
176 |
< |
ver=`cat ${dir}/config/scram_version` |
177 |
< |
if [ "X$ver" = "XV1_0_3-p1" ] ; then |
178 |
< |
if [ "X$CMSARCH" = "Xslc4_ia32_gcc345" ] ; then |
179 |
< |
ver=V1_0_3-p2 |
180 |
< |
fi |
181 |
< |
fi |
182 |
< |
case $ver in |
183 |
< |
V0_* ) srbase=lcg/SCRAM/${ver};; |
184 |
< |
* ) srbase=lcg/SCRAMV1/${ver};; |
168 |
< |
esac |
169 |
< |
if [ -f %{instroot}/$CMSARCH/${srbase}/etc/profile.d/init.sh ] ; then |
170 |
< |
sver=$ver |
171 |
< |
fi |
172 |
< |
fi |
173 |
< |
else |
174 |
< |
sver=$SCRAM_VERSION |
168 |
> |
srbase=%{instroot}/$CMSARCH |
169 |
> |
sver=$SCRAM_VERSION |
170 |
> |
dir=`/bin/pwd` |
171 |
> |
while [ ! -d ${dir}/.SCRAM ] && [ "$dir" != "/" ] ; do |
172 |
> |
dir=`dirname $dir` |
173 |
> |
done |
174 |
> |
if [ -f ${dir}/config/scram_version ] ; then |
175 |
> |
sver=`cat ${dir}/config/scram_version` |
176 |
> |
elif [ "X$sver" = "X" ] ; then |
177 |
> |
sver=`cat ${srbase}/etc/default-scramv1-version` |
178 |
> |
fi |
179 |
> |
if [ "X$sver" = "XV1_0_3-p1" ] && [ "X$CMSARCH" = "Xslc4_ia32_gcc345" ] ; then |
180 |
> |
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 |
> |
if [ "X${scram_rel_series}" != "X" ] && [ -f ${srbase}/etc/default-scram/${scram_rel_series} ] ; then |
184 |
> |
sver=`cat ${srbase}/etc/default-scram/${scram_rel_series}` |
185 |
|
fi |
186 |
|
scmd=scram |
187 |
+ |
srbase=%{instroot}/$CMSARCH/lcg/SCRAMV1 |
188 |
|
case $sver in |
189 |
< |
V0_* ) srbase=lcg/SCRAM/${sver}; scmd=scramv0;; |
190 |
< |
V1_0* ) srbase=lcg/SCRAMV1/${sver}; scmd=scramv1;; |
191 |
< |
* ) srbase=lcg/SCRAMV1/${sver};; |
189 |
> |
V0_* ) srbase=%{instroot}/$CMSARCH/lcg/SCRAM; scmd=scramv0;; |
190 |
> |
V1_0* ) scmd=scramv1;; |
191 |
> |
* ) ;; |
192 |
|
esac |
193 |
< |
source %{instroot}/$CMSARCH/${srbase}/etc/profile.d/init.sh |
193 |
> |
if [ ! -f ${srbase}/${sver}/etc/profile.d/init.sh ] ; then |
194 |
> |
echo "Unable to find SCRAM version $sver for $CMSARCH architecture." |
195 |
> |
exit 1 |
196 |
> |
fi |
197 |
> |
. ${srbase}/${sver}/etc/profile.d/init.sh |
198 |
|
# 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 |
|
CMSPLAT=`echo $CMSARCH | cut -d_ -f 2` |
202 |
|
USE_LINUX32= |
203 |
< |
if [ `uname` == Linux ]; then |
204 |
< |
if [ "$CMSPLAT" = "ia32" ] |
190 |
< |
then |
191 |
< |
USE_LINUX32=linux32 |
192 |
< |
fi |
203 |
> |
if [ `uname` = "Linux" ] && [ "$CMSPLAT" = "ia32" ] ; then |
204 |
> |
USE_LINUX32=linux32 |
205 |
|
fi |
206 |
< |
$USE_LINUX32 %{instroot}/$CMSARCH/${srbase}/bin/${scmd} $@ |
206 |
> |
$USE_LINUX32 ${srbase}/${sver}/bin/${scmd} $@ |
207 |
|
EOF_COMMON_SCRAM |
208 |
|
|
209 |
|
chmod +x %{instroot}/common/scram |
218 |
|
touch %instroot/%cmsplatf/etc/profile.d/dummy |
219 |
|
|
220 |
|
%post |
221 |
< |
echo $RPM_INSTALL_PREFIX |
222 |
< |
perl -p -i -e "s|%{instroot}|$RPM_INSTALL_PREFIX|g" $RPM_INSTALL_PREFIX/cmsset_default.sh |
223 |
< |
perl -p -i -e "s|%{instroot}|$RPM_INSTALL_PREFIX|g" $RPM_INSTALL_PREFIX/cmsset_default.csh |
224 |
< |
perl -p -i -e "s|%{instroot}|$RPM_INSTALL_PREFIX|g" $RPM_INSTALL_PREFIX/common/cmsos |
225 |
< |
perl -p -i -e "s|%{instroot}|$RPM_INSTALL_PREFIX|g" $RPM_INSTALL_PREFIX/common/cmsarch |
226 |
< |
perl -p -i -e "s|%{instroot}|$RPM_INSTALL_PREFIX|g" $RPM_INSTALL_PREFIX/common/scram |
221 |
> |
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 |
|
|
228 |
|
%files |
229 |
|
%i |