ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CMSDIST/SCRAM.spec
Revision: 1.25
Committed: Wed Aug 2 10:22:03 2006 UTC (18 years, 8 months ago) by eulisse
Branch: MAIN
CVS Tags: re20080623, forPHEDEX303, forPHEDEX-datasvc100, forPHEDEX302, forPHEDEX301, forPHEDEX300, forPHEDEX300pre14, forPHEDEX300pre13, forPHEDEX300pre12, forPHEDEX300pre11, forPHEDEX-datasvc002, forPHEDEX-datasvc001, forPHEDEX300pre7, forPHEDEX300pre6, forPHEDEX263, forPHEDEX262_cmsbuild2, forPHEDEX262_cmsbuild, forPHEDEX262, forPHEDEX261-slc3, forPHEDEX261, forPHEDEX260-1, forPHEDEX260, ge20071212-phedex, forPHEDEX2542, apFor1412, apFor1411, CMSSW_1_4_10, apForCMSSW1410, CMSSW_1_4_9, apForCMSSW149, apForCMSSW148, CMSSW_1_4_8-slc3ap, CMSSW_1_4_8-slc3, CMSSW_1_4_7-slc3, ap-20071013, ap20071012b, ap20071012a, forPHEDEX2541, forPHEDEX2540, forPHEDEX2536, forPHEDEX2535, CMSSW_1_4_6-slc3, forPHEDEX2534, CMSSW_1_5_4, CMSSW_1_5_3, dl070725, CMSSW_1_3_5, dl070719, forPHEDEX2533, forPHEDEX2532, CMSSW_1_5_2, CMSSW_1_5_1, dl070629t2, dl070629, CMSSW_1_3_1_HLT6-slc4, CMSSW_1_3_1_HLT6-slc3, CMSSW_1_5_0-ignominy470, dl070627c135, CMSSW_1_4_5-slc4, CMSSW_1_4_5-slc3, CMSSW_1_4_4-slc3, CMSSW_1_5_0, dl070621, CMSSW_1_5_0_pre6, forPHEDEX2531, forPHEDEX253, CMSSW_1_4_4-slc4, dl070616, ap-144-slc3, ap-144-slc4, nrFWLITE_150pre5_noseal_newboost, dl070615, dl070614xdaq, dl070614, ap-143g483-slc3, ap-143g483-slc4, CMSSW_1_4_3-slc4, CMSSW_1_4_3-slc3, CMSSW_1_3_1_HLT5-slc4, CMSSW_1_3_1_HLT5-slc3, CMSSW_1_5_0_pre5, dl070602t2, dl070602, CMSSW_1_5_0_pre4, nrFWLITE_150pre4, CMSSW_1_4_2-slc4, CMSSW_1_4_2-slc3, CMSSW_1_3_1_HLT4-slc4, CMSSW_1_3_1_HLT4-slc3, dl070522_150pre4cand, CMSSW_1_4_1-slc4, CMSSW_1_4_1-slc3, CMSSW_1_5_0_pre3, pe20070518c, pe20070518b, pe20070518a, CMSSW_1_4_0_DAQ1-slc3, CMSSW_1_4_0_DAQ1-slc4, CMSSW_1_3_4, pe20070517-for150p3ext, CMSSW_1_3_1_HLT3-slc4, CMSSW_1_3_1_HLT3-slc3, ap-140daq1-1-slc3, ap-140daq1-1-slc4, CMSSW_1_3_3-slc4, CMSSW_1_3_3, ap-140-1-slc3, ap-140-1-slc4, CMSSW_1_4_0_pre7-slc3, CMSSW_1_4_0_pre7, CMSSW_1_3_2-slc4, CMSSW_1_3_2, CMSSW_1_5_0_pre2, dl070505t4, dl070505t3, dl070505t2, dl070505, ap-140p7-1-slc4, ap-140p7-1-slc3, ap-140p6-1-slc4, ap-140p5-1-slc3, ap-140p5-1-slc4, dl070501, pe20070429-for131hlt2-slc4, pe20070429-for131hlt2-slc3, CMSSW_1_3_1_HLT1-slc3, CMSSW_1_5_0_pre1, dl070428_for140pre5_slc3, dl070428_for140pre5slc4t2, dl070428_for140pre5slc4, pe20070428b, pe20070428a, CMSSW_1_2_6, CMSSW_1_4_0_pre4, CMSSW_1_4_0_pre4-slc3, pe20070426-131hlt1-slc3, CMSSW_1_2_5, pe20070425c-for150p1, pe20070525b-slc4, pe20070525a, pe20070424b-slc3, pe20070424b-slc4, pe20070424a-slc4, pe20070424a-slc3, pe20070424-slc3, pe20070424-slc4, pe20070423b-slc3, pe20070423b-slc4, pe20070423a-slc3, pe20070423a-slc4, pe20070422b-slc4, pe20070422b-slc3, pe20070422a-slc4, pe20070422a-slc3, forPHEDEX252, pe20070414b-ports, pe20070414a-ports, forPHEDEX251-micro-pre1, pe20070412b-ports, pe20070412a-ports, pe20070411a-ports, CMSSW_1_2_4, CMSSW_1_3_1, CMSSW_1_3_1-slc4, pe20070409a-ports, pe20070408, dl070407, pe20070407a-ports, dl070406t2, pe20070407-ports, dl070406, CMSSW_1_4_0_pre3-slc3, CMSSW_1_4_0_pre3, CMSSW_1_2_3, nrCMSSW_1_4_0_pre3_rc0, nrCMSSW_1_4_0_pre3_rc0-slc4, nr070403_cms147-slc4, nr070403_cms147, pe20070401, dl070330, nrCMSSW_1_4_0_pre2_rc3, nrCMSSW_1_4_0_pre2_rc3-slc4, CMSSW_1_3_0-slc4, CMSSW_1_3_0, nrCMSSW_1_4_0_pre2_rc2-slc4, nrCMSSW_1_4_0_pre2_rc2, dl070327, nr070327_frontier, nr070327_frontier-slc4, nrCMSSW_1_4_0_pre2_rc1, nrCMSSW_1_4_0_pre2_rc1-slc4, nrCMSSW_1_4_0_pre2_rc0-slc3, nrCMSSW_1_4_0_pre2_rc0, CMSSW_1_3_0_pre6t3, CMSSW_1_4_0_pre1-cand-slc4, CMSSW_1_4_0_pre1-cand, CMSSW_1_3_0_pre6-slc4t2, CMSSW_1_3_0_pre6t2, CMSSW_1_3_0_pre6, CMSSW_1_3_0_pre6-slc4, for120_g4821, forPHEDEX251, POOL_2_4_9-p2-slc4, POOL_2_4_9-p2, nrCMSSW_1_3_0_pre5-m32-slc3, nrCMSSW_1_3_0_pre5-m32, CORAL_1_7_1-slc4, nr20070307_130pre5-m32-slc4, nr20070307_m32, CMSSW_1_3_0_pre5, CMSSW_1_3_0_pre5-slc4, nr070301_amd64m32, CMSSW_1_3_0_pre4-slc4-p1, CMSSW_1_3_0_pre4-p1, CMSSW_1_3_0_pre4, CMSSW_1_3_0_pre4-slc4, CMS_145_2-slc4, CMS_145_2-slc3, sfa160207, CMSSW_1_3_0_pre3-slc4, CMSSW_1_3_0_pre3, sfa120207slc4_p1, sfa120207slc4, sfa120207slc3, dl070211, nr070211_cms144a_2-p1slc4, nr070210_cms144a_2-p1slc4, cms144a_2-p1slc3, forCMS145_2_slc4, forCMS145_2_slc3, cms145pre5-slc4, forCMSSW120g482, cms145pre5-slc3, cms145pre4-slc3, cms145pre3-slc3, cms145pre2-slc3, cms145pre1-slc3, pe20070208, GE20070207, pe20070205b, forPHEDEX250, CMSSW_1_3_0_SLC4_pre2, pe20070205a, pe20070205, CMSSW_1_3_0_pre2, forCMS144_2-slc3, forCMS144_2-slc4, sfa010207-slc4, sfa010207-slc3, forCMSSW121-slc3, forCMSSW122-slc3, cms144slc3p2, cms144slc4p1, cms144slc3p1, cms144spc3p1, sfa300107, sfa390107, sfa290107, CMSSW_1_3_0_SLC4_pre1, CMSSW_1_3_0_pre1, for143hsv1-slc3-p5, for143hsv1-slc4-p5, for143hsv1-slc3-p4, for143hsv1-slc4-p4, for143hsv1-slc4-p3, for143hsv1-slc3-p3, for143hsv1-slc4-p2, for143hsv1-slc3-p2, for143hsv1-slc3-p1, for143hsv1-slc4, for143hsv1-slc3, for143hsv1, test143f_sv1-slc4, forCMSSW120-slc4, forCMSSW120g481, forCMSSW120-slc3, forCMS143f-slc4, forCMS143f-slc3, for120p9, pe20061201c, pe20061201b, pe20061201a, ge200611302202, for120p8-g481p2cms1, for120p8, for112, for120p7, for111, for120p6, cms143a-slc3, for120p5-slc3, forPHEDEX242, for120p5slc4, for120p5slc3, forCMS143_2_rootfix, forCMS143_2_slc4, forCMS143_2_slc3, sfa061106pm, sfa061106am, sa20061106, sfa031106pm, sfa031106, sfa021106, sa20061002, for120p4, for120p3, for120p2-slc4-rc1, forPHEDEX241, for106, ge20061020-for106, pre-for106, for120p2, for105, for104, for110, for120p1, for110p4, for103, for110p3, for102, pe060927, for101-take3, for101-take2, for101, forGeant481, for110p2, CMSSW_1_0_0, for110p5, for110p1, for084, for100p4, argiro-20060904-for100p4, for092, for137a_pre083_take2, pe20060827a, for137a_pre083, ge20060825, for100p2, for100pre1, for091, for082, for090, CMSSW_0_8_1, for090_RC1, CMSSW_0_9_0_pre3
Branch point for: lcgaa_for120p6_branch, lcg47branch
Changes since 1.24: +3 -3 lines
Log Message:
- cmsarch command is now provided to return the full architecture (cmsos only return the os/cpu part)
- cmsset_default.sh now uses cmsarch for code reuse.
- scramv1 and scramv0 now should work in mixed architectures mode.

File Contents

# User Rev Content
1 argiro 1.3 ### RPM lcg SCRAM V0_20_0
2 argiro 1.1 ## INITENV +PATH PATH %instroot/bin
3    
4     # This package is somewhat unusual compared to other packages we
5     # build: we install the normally versioned product "SCRAM", but also
6     # create the front-end "scram" wrapper and the package database. The
7     # latter do not follow the standard versioning.
8     #
9     # The front-end script can be overwritten by any version *PROVIDED*
10     # the platform string comes first as is the default (i.e. the
11     # installation tree looks like <platf>/lcg/SCRAM/<version>/src).
12     #
13     # The database is only created, but never changeed. It is made part
14     # of this package, but none of the files in it are included, so if
15     # the package is removed, the directory will left intact. (FIXME:
16     # check this is really so -- should we use %dir, or the default is
17     # good?)
18     #
19     # The front-end wrapper and the script go at the installation root,
20     # not anywhere in the package tree. They must remain modifiable.
21     #
22     # We do the install ourselves, as "Installation/install_scram" would
23     # do, but putting the results elsewhere and using our own scram
24     # wrapper instead of using the supplied one -- mainly for easier
25     # override of SCRAM_LOOKUPDB; the wrapper is really rather simple so
26     # there is no point in trying to patch it.
27     #
28     # FIXME: should we have more than one project database and link them
29     # together into one big one?
30    
31 argiro 1.3 %define cvsrepo cvs://:pserver:anonymous@spitools.cvs.cern.ch:2401/cvs/SPITOOLS?passwd=Ah<Z
32 argiro 1.1
33     Source0: %{cvsrepo}&tag=-r%{v}&module=%n&output=/source.tar.gz
34 eulisse 1.25 Requires: p5-libwww-perl cms-env
35 eulisse 1.11 Patch: scram-detect-make
36 eulisse 1.13 Patch2: scram-no-check-env
37 eulisse 1.10 Provides: perl(ActiveDoc::UserInterface_basic)
38     Provides: perl(ActiveDoc::UserQuery)
39 eulisse 1.12 Provides: perl(ActiveDoc::GroupChecker)
40 eulisse 1.10 Provides: perl(ObjectStore)
41     Provides: perl(Utilities::AddDir)
42 eulisse 1.4 Provides: perl(Utilities::GroupChecker)
43 eulisse 1.10 Provides: perl(Utilities::SCRAMUtils)
44 argiro 1.1
45     %prep
46     %setup -n %n
47 eulisse 1.11 pwd
48     %patch -p1
49 eulisse 1.13 %patch2 -p1
50 eulisse 1.4 rm src/URL/test/test_URL_cvsfile.pm
51 argiro 1.1 %build
52     %install
53     tar -cf - . | tar -C %i -xvvf -
54    
55 eulisse 1.14 mkdir -p %instroot/bin %instroot/share/scramdbv0
56 eulisse 1.24 mkdir -p %i/bin
57 eulisse 1.14 touch %instroot/share/scramdbv0/project.lookup
58 eulisse 1.24 [ -f %i/bin/scramv0 ] && rm %i/bin/scramv0
59     cat > %i/bin/scramv0 << \EOF
60 argiro 1.1 #!/bin/sh
61    
62     # FIXME: Handle -re?
63     # FIXME: Since we can install the same package on many platforms in
64     # one tree, should the project lookup database be platform-specific?
65    
66     SCRAM=$0
67     : ${SCRAM_HOME=%i}
68 eulisse 1.14 : ${SCRAM_LOOKUPDB=%instroot/share/scramdbv0/project.lookup}
69 argiro 1.1 : ${SCRAMPERL="/usr/bin/env perl"}
70     PERL5LIB=$SCRAM_HOME/src${PERL5LIB+":$PERL5LIB"}
71     : ${SITENAME=CERN}
72     : ${SEARCHOVRD=true}
73     : ${LOCTOOLS=NODEFAULT}
74     export SCRAM SCRAM_HOME SCRAM_LOOKUPDB SCRAMPERL
75     export PERL5LIB SITENAME SEARCHOVRD LOCTOOLS
76    
77     exec perl "$SCRAM_HOME/src/scramcli" ${1+"$@"}
78     EOF
79 eulisse 1.12
80 eulisse 1.24 [ -f %instroot/bin/scramv0 ] && rm %instroot/bin/scramv0
81     cat > %instroot/bin/scramv0 << \EOF_BIN_SCRAMV0
82     #!/bin/sh
83 eulisse 1.25 source %instroot/`cmsarch`/lcg/%n/%v/etc/profile.d/init.sh
84     %instroot/`cmsarch`/lcg/%n/%v/bin/scramv0 $@
85 eulisse 1.24 EOF_BIN_SCRAMV0
86    
87 eulisse 1.16 mkdir -p %{instroot}/%{cmsplatf}/etc/profile.d
88 eulisse 1.12 mkdir -p %{i}/etc/profile.d
89     echo "#!/bin/sh" > %i/etc/profile.d/dependencies-setup.sh
90     echo "source $P5_LIBWWW_PERL_ROOT/etc/profile.d/init.sh" >> %i/etc/profile.d/dependencies-setup.sh
91     echo "#!/bin/csh" > %i/etc/profile.d/dependencies-setup.csh
92     echo "source $P5_LIBWWW_PERL_ROOT/etc/profile.d/init.csh" >> %i/etc/profile.d/dependencies-setup.csh
93    
94 eulisse 1.23 chmod 755 %instroot/bin/scramv0
95 eulisse 1.24 chmod 755 %i/bin/scramv0
96 eulisse 1.4 perl -p -i -e "s|#!.*perl|#!/usr/bin/env perl|" $(find %{i})
97 eulisse 1.23 ln -sf scramv0 %{instroot}/bin/scram
98 eulisse 1.16
99 argiro 1.1 %files
100     %i
101 eulisse 1.16 %{instroot}/bin/scram
102 eulisse 1.21 %{instroot}/bin/scramv0
103 eulisse 1.16 %{instroot}/share/scramdbv0
104 eulisse 1.14 %exclude %instroot/share/scramdbv0/project.lookup
105 eulisse 1.20 %exclude %i/scripts/DrDOC.sh
106 eulisse 1.5 %post
107 eulisse 1.12 %{relocateConfig}etc/profile.d/dependencies-setup.sh
108     %{relocateConfig}etc/profile.d/dependencies-setup.csh
109 eulisse 1.24 %{relocateConfig}bin/scramv0
110 eulisse 1.23 perl -p -i -e "s|%instroot|$RPM_INSTALL_PREFIX|g" $RPM_INSTALL_PREFIX/bin/scramv0