ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CMSDIST/cms-env.spec
Revision: 1.50
Committed: Sat Nov 17 01:00:30 2007 UTC (17 years, 5 months ago) by ratnik
Branch: MAIN
CVS Tags: CMSSW_1_7_5_ONLINE1, CMSSW_1_7_5_ONLINE, nr080115onl175, nr071121onl170_xdaq5, CMSSW_1_7_0_ONLINE, nr071116onlpre13
Changes since 1.49: +15 -4 lines
Log Message:
Changes for  online release that make setting SCRAM_ARCH at install time unnecessary; cleanup leftovers from obsolete dependency on scram

File Contents

# User Rev Content
1 dlange 1.44 ### RPM cms cms-env 1.0
2 eulisse 1.1 Source: cmsos
3     %prep
4     %build
5     %install
6    
7     mkdir -p %instroot/bin
8 ratnik 1.50
9     %if "%{?online_release:set}" != "set"
10 eulisse 1.1 install -m 755 %_sourcedir/cmsos %instroot/bin/cmsos
11 ratnik 1.50 %else
12     echo echo %{cmsos} > %instroot/bin/cmsos
13     chmod 755 %instroot/bin/cmsos
14     %endif
15    
16 eulisse 1.5 mkdir -p %{instroot}/%{cmsplatf}/etc/profile.d
17    
18 ratnik 1.50 %if "%{?online_release:set}" != "set"
19 eulisse 1.28 ### Detects the SCRAM_ARCH to be used.
20     cat << \EOF_CMSARCH_SH >%instroot/bin/cmsarch
21     #!/bin/sh
22     osarch=`%instroot/bin/cmsos`
23     compilerv=gcc323
24     # We need to assume 1 compiler per platform.
25     # There is no other way around this.
26 eulisse 1.31 if [ ! "$SCRAM_ARCH" ]
27 eulisse 1.29 then
28     case $osarch in
29     slc3_ia32) compilerv=gcc323;;
30     slc3_amd64) compilerv=gcc344;;
31     slc4_ia32) compilerv=gcc345;;
32 elmer 1.46 slc4_amd64) compilerv=gcc345; osarch=slc4_ia32;;
33 eulisse 1.33 osx104_ia32) compilerv=gcc401;;
34 elmer 1.40 osx104_ppc32) compilerv=gcc400;;
35 eulisse 1.29 esac
36     echo ${osarch}_${compilerv}
37     else
38     echo $SCRAM_ARCH
39     fi
40 ratnik 1.50 EOF_CMSARCH_SH
41     %else
42     cat << \EOF_CMSARCH_ONL >%instroot/bin/cmsarch
43     #!/bin/sh
44     echo %{cmsplatf}
45     EOF_CMSARCH_ONL
46     %endif
47 eulisse 1.29
48 eulisse 1.28 chmod 755 %instroot/bin/cmsarch
49    
50 eulisse 1.9 ### BASH code
51    
52 eulisse 1.1 cat << \EOF_CMSSET_DEFAULT_SH > %instroot/cmsset_default.sh
53     export PATH=%instroot/bin:$PATH
54 eulisse 1.2
55 eulisse 1.22 if [ ! $SCRAM_ARCH ]
56 eulisse 1.19 then
57 eulisse 1.28 SCRAM_ARCH=`%instroot/bin/cmsarch`
58 eulisse 1.19 export SCRAM_ARCH
59 eulisse 1.15 fi
60    
61 eulisse 1.16 here=%{instroot}
62    
63 eulisse 1.10 if [ "$VO_CMS_SW_DIR" != "" ]
64     then
65 eulisse 1.9 here=$VO_CMS_SW_DIR
66     else
67 eulisse 1.12 if [ "$OSG_APP" != "" ]
68     then
69     here=$OSG_APP/cmssoft/cms
70     fi
71 eulisse 1.10 fi
72 eulisse 1.9
73 eulisse 1.14 if [ ! -d $here/${SCRAM_ARCH}/etc/profile.d ]
74 eulisse 1.13 then
75 elmer 1.38 echo "Your shell is not able to find where cmsset_default.sh is located."
76     echo "Either you have not set VO_CMS_SW_DIR or OSG_APP correctly"
77     echo "or SCRAM_ARCH is not set to a valid architecture."
78 eulisse 1.13 fi
79 eulisse 1.9
80 eulisse 1.27 for pkg in `/bin/ls $here/${SCRAM_ARCH}/etc/profile.d/ | grep 'S.*[.]sh'`
81 eulisse 1.5 do
82     source $here/${SCRAM_ARCH}/etc/profile.d/$pkg
83     done
84 eulisse 1.21
85 eulisse 1.22 if [ ! $CMS_PATH ]
86 eulisse 1.21 then
87     export CMS_PATH=$here
88     fi
89 metson 1.32
90 elmer 1.46 # aliases
91 elmer 1.48 alias cmsenv='eval `scramv1 runtime -sh`'
92 elmer 1.47 alias cmsrel='scramv1 project CMSSW'
93 elmer 1.46
94 metson 1.32 if [ -f $CMS_PATH/SITECONF/local/JobConfig/cmsset_local.sh ]; then
95     . $CMS_PATH/SITECONF/local/JobConfig/cmsset_local.sh
96     fi
97 eulisse 1.1 EOF_CMSSET_DEFAULT_SH
98    
99 eulisse 1.9
100     ### CSH code
101    
102 eulisse 1.1 cat << \EOF_CMSSET_DEFAULT_CSH > %instroot/cmsset_default.csh
103 eulisse 1.7
104 eulisse 1.4 if (${?PATH}) then
105     setenv PATH %instroot/bin:$PATH
106     else
107     setenv PATH %instroot/bin
108     endif
109    
110 eulisse 1.19 if ( ! ${?SCRAM_ARCH}) then
111 eulisse 1.28 setenv SCRAM_ARCH `sh -c %instroot/bin/cmsarch`
112 eulisse 1.25 endif
113 eulisse 1.15
114 eulisse 1.22 set here=%instroot
115 eulisse 1.16
116 eulisse 1.7 if ( ${?VO_CMS_SW_DIR} ) then
117 eulisse 1.23 set here=$VO_CMS_SW_DIR
118 eulisse 1.7 else
119 eulisse 1.12 # OSG
120     if ( ${?OSG_APP} ) then
121 eulisse 1.23 set here=$OSG_APP/cmssoft/cms
122 eulisse 1.12 endif
123     # OSG
124 eulisse 1.7 endif
125    
126     if ( ! -e $here/cmsset_default.csh ) then
127     echo "Please cd into the directory where cmsset_default.csh is."
128     endif
129 eulisse 1.5
130 eulisse 1.27 foreach pkg ( `/bin/ls ${here}/${SCRAM_ARCH}/etc/profile.d/ | grep 'S.*[.]csh'` )
131 eulisse 1.5 source ${here}/${SCRAM_ARCH}/etc/profile.d/$pkg
132     end
133 eulisse 1.21 if ( ! ${?CMS_PATH} ) then
134     setenv CMS_PATH $here
135     endif
136 metson 1.32
137 elmer 1.46 # aliases
138 elmer 1.48 alias cmsenv 'eval `scramv1 runtime -csh`'
139 elmer 1.47 alias cmsrel 'scramv1 project CMSSW'
140 elmer 1.46
141 ratnik 1.49 if ( -e $CMS_PATH/SITECONF/local/JobConfig/cmsset_local.csh ) then
142 metson 1.32 source $CMS_PATH/SITECONF/local/JobConfig/cmsset_local.csh
143     endif
144 eulisse 1.22 unset here
145 eulisse 1.1 EOF_CMSSET_DEFAULT_CSH
146 eulisse 1.28 touch %instroot/%cmsplatf/etc/profile.d/dummy
147 eulisse 1.8 %pre
148 ratnik 1.49 if [ -f $RPM_INSTALL_PREFIX/cmsset_default.sh ]
149     then
150     cp $RPM_INSTALL_PREFIX/cmsset_default.sh $RPM_INSTALL_PREFIX/cmsset_default.sh.old`date +%Y%m%d`
151     fi
152     if [ -f $RPM_INSTALL_PREFIX/cmsset_default.csh ]
153     then
154     cp $RPM_INSTALL_PREFIX/cmsset_default.csh $RPM_INSTALL_PREFIX/cmsset_default.csh.old`date +%Y%m%d`
155     fi
156     if [ -d $RPM_INSTALL_PREFIX/bin ]
157     then
158     cp -r $RPM_INSTALL_PREFIX/bin $RPM_INSTALL_PREFIX/bin.old`date +%Y%m%d`
159     else
160     mkdir -p $RPM_INSTALL_PREFIX/bin
161     fi
162 eulisse 1.1 %post
163     echo $RPM_INSTALL_PREFIX
164 eulisse 1.3 perl -p -i -e "s|%{instroot}|$RPM_INSTALL_PREFIX|g" $RPM_INSTALL_PREFIX/cmsset_default.sh
165     perl -p -i -e "s|%{instroot}|$RPM_INSTALL_PREFIX|g" $RPM_INSTALL_PREFIX/cmsset_default.csh
166     perl -p -i -e "s|%{instroot}|$RPM_INSTALL_PREFIX|g" $RPM_INSTALL_PREFIX/bin/cmsos
167 eulisse 1.28 perl -p -i -e "s|%{instroot}|$RPM_INSTALL_PREFIX|g" $RPM_INSTALL_PREFIX/bin/cmsarch
168 eulisse 1.3 %files
169     %i
170     %instroot/cmsset_default.sh
171     %instroot/cmsset_default.csh
172     %instroot/bin/cmsos
173 eulisse 1.28 %instroot/bin/cmsarch
174 eulisse 1.5 %instroot/%cmsplatf/etc/profile.d
175 eulisse 1.6 %exclude %instroot/%cmsplatf/etc/profile.d/*