ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CMSDIST/cms-env.spec
Revision: 1.13
Committed: Sun Jul 16 18:46:10 2006 UTC (18 years, 9 months ago) by eulisse
Branch: MAIN
Changes since 1.12: +5 -1 lines
Log Message:
removes zshism.

File Contents

# User Rev Content
1 eulisse 1.1 ### RPM cms cms-env 1.0
2     Source: cmsos
3     %prep
4     %build
5     echo $SCRAM_ROOT
6     %install
7     %define scramroot %(echo $SCRAM_ROOT)
8     %define scramv1root %(echo $SCRAMV1_ROOT)
9    
10     mkdir -p %instroot/bin
11     install -m 755 %_sourcedir/cmsos %instroot/bin/cmsos
12 eulisse 1.5 mkdir -p %{instroot}/%{cmsplatf}/etc/profile.d
13    
14 eulisse 1.9 ### BASH code
15    
16 eulisse 1.1 cat << \EOF_CMSSET_DEFAULT_SH > %instroot/cmsset_default.sh
17     export PATH=%instroot/bin:$PATH
18     export LD_LIBRARY_PATH=%instroot/lib:$LD_LIBRARY_PATH
19     export DYLD_FALLBACK_LIBRARY_PATH=%instroot/lib:$DYLD_FALLBACK_LIBRARY
20 eulisse 1.4 SCRAM_ARCH=$(cmsos)
21 eulisse 1.2
22     # We need to assume 1 compiler per platform.
23     # There is no other way around this.
24     case $SCRAM_ARCH in
25     slc3_ia32) compilerv=gcc323;;
26     slc3_amd64) compilerv=gcc345;;
27     osx104_ia32) compilerv=gcc400;;
28     osx104_pcc32) compilerv=gcc400;;
29     esac
30     SCRAM_ARCH=${SCRAM_ARCH}_$compilerv
31 eulisse 1.4 export SCRAM_ARCH
32 eulisse 1.2
33 eulisse 1.10 if [ "$VO_CMS_SW_DIR" != "" ]
34     then
35 eulisse 1.9 here=$VO_CMS_SW_DIR
36     else
37     here=`dirname $0`
38 eulisse 1.12
39     if [ "$OSG_APP" != "" ]
40     then
41     here=$OSG_APP/cmssoft/cms
42     fi
43 eulisse 1.10 fi
44 eulisse 1.9
45 eulisse 1.13 if [ -d $here/${SCRAM_ARCH}/etc/profile.d ]
46     then
47     echo "Your shell is not able to find where cmsset_default.sh is. Either cd into the directory where it is or move to zsh"
48     exit 1
49     fi
50 eulisse 1.9
51 eulisse 1.5 for pkg in `ls $here/${SCRAM_ARCH}/etc/profile.d/ | grep -e'^S.*[.]sh'`
52     do
53     source $here/${SCRAM_ARCH}/etc/profile.d/$pkg
54     done
55 eulisse 1.11 export CMS_PATH=$here
56 eulisse 1.1 EOF_CMSSET_DEFAULT_SH
57    
58 eulisse 1.9
59     ### CSH code
60    
61 eulisse 1.1 cat << \EOF_CMSSET_DEFAULT_CSH > %instroot/cmsset_default.csh
62 eulisse 1.7
63 eulisse 1.4 if (${?PATH}) then
64     setenv PATH %instroot/bin:$PATH
65     else
66     setenv PATH %instroot/bin
67     endif
68    
69     if (${?LD_LIBRARY_PATH}) then
70     setenv LD_LIBRARY_PATH %instroot/lib:$LD_LIBRARY_PATH
71     else
72     setenv LD_LIBRARY_PATH %instroot/lib
73     endif
74    
75     if (${?DYLD_FALLBACK_LIBRARY_PATH}) then
76     setenv DYLD_FALLBACK_LIBRARY_PATH %instroot/lib:$DYLD_FALLBACK_LIBRARY_PATH
77     else
78     setenv DYLD_FALLBACK_LIBRARY_PATH %instroot/lib
79     endif
80    
81     setenv CMSOSCOMMAND `which cmsos`
82     setenv SCRAM_ARCH `sh -c $CMSOSCOMMAND`
83     setenv compilerv gcc323
84     switch ( ${SCRAM_ARCH} )
85 eulisse 1.2 case slc3_ia32:
86     setenv compilerv gcc323
87     breaksw
88     case slc3_amd64:
89     setenv compilerv gcc345
90     breaksw
91     case osx104_ia32:
92     setenv compilerv gcc400
93     breaksw
94     case osx104_pcc32:
95     setenv compilerv gcc400
96     breaksw
97     endsw
98    
99 eulisse 1.4 setenv SCRAM_ARCH ${SCRAM_ARCH}_${compilerv}
100 eulisse 1.7 if ( ${?VO_CMS_SW_DIR} ) then
101     setenv here $VO_CMS_SW_DIR
102     else
103     setenv here .
104 eulisse 1.12 # OSG
105     if ( ${?OSG_APP} ) then
106     setenv here $OSG_APP/cmssoft/cms
107     endif
108     # OSG
109 eulisse 1.7 endif
110    
111     if ( ! -e $here/cmsset_default.csh ) then
112     echo "Please cd into the directory where cmsset_default.csh is."
113     endif
114 eulisse 1.5
115     foreach pkg ( `ls ${here}/${SCRAM_ARCH}/etc/profile.d/ | grep -e'^S.*[.]csh'` )
116     source ${here}/${SCRAM_ARCH}/etc/profile.d/$pkg
117     end
118 eulisse 1.11 setenv CMS_PATH $here
119 eulisse 1.1 EOF_CMSSET_DEFAULT_CSH
120    
121 eulisse 1.8 %pre
122     [ -f $RPM_INSTALL_PREFIX/cmsset_default.sh ] && cp $RPM_INSTALL_PREFIX/cmsset_default.sh $RPM_INSTALL_PREFIX/cmsset_default.sh.old`date +%Y%m%d`
123     [ -f $RPM_INSTALL_PREFIX/cmsset_default.csh ] && cp $RPM_INSTALL_PREFIX/cmsset_default.csh $RPM_INSTALL_PREFIX/cmsset_default.csh.old`date +%Y%m%d`
124     [ -d $RPM_INSTALL_PREFIX/bin ] && cp -r $RPM_INSTALL_PREFIX/bin $RPM_INSTALL_PREFIX/bin.old`date +%Y%m%d`
125 eulisse 1.1 %post
126     echo $RPM_INSTALL_PREFIX
127 eulisse 1.3 perl -p -i -e "s|%{instroot}|$RPM_INSTALL_PREFIX|g" $RPM_INSTALL_PREFIX/cmsset_default.sh
128     perl -p -i -e "s|%{instroot}|$RPM_INSTALL_PREFIX|g" $RPM_INSTALL_PREFIX/cmsset_default.csh
129     perl -p -i -e "s|%{instroot}|$RPM_INSTALL_PREFIX|g" $RPM_INSTALL_PREFIX/bin/cmsos
130     %files
131     %i
132     %instroot/cmsset_default.sh
133     %instroot/cmsset_default.csh
134     %instroot/bin/cmsos
135 eulisse 1.5 %instroot/%cmsplatf/etc/profile.d
136 eulisse 1.6 %exclude %instroot/%cmsplatf/etc/profile.d/*