ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CMSDIST/SCRAM.spec
Revision: 1.29
Committed: Tue Aug 30 14:41:04 2011 UTC (13 years, 8 months ago) by lat
Branch: MAIN
CVS Tags: HEAD
Changes since 1.28: +0 -0 lines
State: FILE REMOVED
Error occurred while calculating annotation data.
Log Message:
Remove old obsolete RPMs and patches.

File Contents

# Content
1 ### RPM lcg SCRAM V0_20_1
2 ## 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 %define cvsrepo cvs://:pserver:anonymous@spitools.cvs.cern.ch:2401/cvs/SPITOOLS?passwd=Ah<Z
32
33 Source0: %{cvsrepo}&tag=-r%{v}&module=%n&output=/source.tar.gz
34 Requires: p5-libwww-perl cms-env
35 Patch: scram-detect-make
36 Patch2: scram-no-check-env
37 Provides: perl(ActiveDoc::UserInterface_basic)
38 Provides: perl(ActiveDoc::UserQuery)
39 Provides: perl(ActiveDoc::GroupChecker)
40 Provides: perl(ObjectStore)
41 Provides: perl(Utilities::AddDir)
42 Provides: perl(Utilities::GroupChecker)
43 Provides: perl(Utilities::SCRAMUtils)
44
45 %prep
46 %setup -n %n
47 pwd
48 %patch -p1
49 %patch2 -p1
50 rm src/URL/test/test_URL_cvsfile.pm
51 %build
52 %install
53 tar -cf - . | tar -C %i -xvvf -
54
55 mkdir -p %instroot/bin %instroot/share/scramdbv0
56 mkdir -p %i/bin
57 touch %instroot/share/scramdbv0/project.lookup
58 [ -f %i/bin/scramv0 ] && rm %i/bin/scramv0
59 cat > %i/bin/scramv0 << \EOF
60 #!/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 : ${SCRAM_LOOKUPDB=%instroot/share/scramdbv0/project.lookup}
69 : ${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
80 [ -f %instroot/bin/scramv0 ] && rm %instroot/bin/scramv0
81 cat > %instroot/bin/scramv0 << \EOF_BIN_SCRAMV0
82 #!/bin/sh
83 source %instroot/`cmsarch`/lcg/%n/%v/etc/profile.d/init.sh
84 %instroot/`cmsarch`/lcg/%n/%v/bin/scramv0 $@
85 EOF_BIN_SCRAMV0
86
87 mkdir -p %{instroot}/%{cmsplatf}/etc/profile.d
88 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 chmod 755 %instroot/bin/scramv0
95 chmod 755 %i/bin/scramv0
96 perl -p -i -e "s|#!.*perl|#!/usr/bin/env perl|" $(find %{i})
97 ln -sf scramv0 %{instroot}/bin/scram
98
99 %files
100 %i
101 %{instroot}/bin/scram
102 %{instroot}/bin/scramv0
103 %{instroot}/share/scramdbv0
104 %exclude %instroot/share/scramdbv0/project.lookup
105 %exclude %i/scripts/DrDOC.sh
106 %post
107 %{relocateConfig}etc/profile.d/dependencies-setup.sh
108 %{relocateConfig}etc/profile.d/dependencies-setup.csh
109 %{relocateConfig}bin/scramv0
110 perl -p -i -e "s|%instroot|$RPM_INSTALL_PREFIX|g" $RPM_INSTALL_PREFIX/bin/scramv0