ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CMSDIST/SCRAM.spec
Revision: 1.20
Committed: Tue Jul 11 10:23:32 2006 UTC (18 years, 9 months ago) by eulisse
Branch: MAIN
CVS Tags: for080_testfixes1, for080_testfixes, for080, for080p4
Changes since 1.19: +1 -0 lines
Log Message:
Do not package DrDOC.sh to avoid dependency on ksh.

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.12 Requires: p5-libwww-perl
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     touch %instroot/share/scramdbv0/project.lookup
57 argiro 1.1 cat > %instroot/bin/scram << \EOF
58     #!/bin/sh
59    
60     # FIXME: Handle -re?
61     # FIXME: Since we can install the same package on many platforms in
62     # one tree, should the project lookup database be platform-specific?
63    
64     SCRAM=$0
65     : ${SCRAM_HOME=%i}
66 eulisse 1.14 : ${SCRAM_LOOKUPDB=%instroot/share/scramdbv0/project.lookup}
67 argiro 1.1 : ${SCRAMPERL="/usr/bin/env perl"}
68     PERL5LIB=$SCRAM_HOME/src${PERL5LIB+":$PERL5LIB"}
69     : ${SITENAME=CERN}
70     : ${SEARCHOVRD=true}
71     : ${LOCTOOLS=NODEFAULT}
72     export SCRAM SCRAM_HOME SCRAM_LOOKUPDB SCRAMPERL
73     export PERL5LIB SITENAME SEARCHOVRD LOCTOOLS
74    
75     exec perl "$SCRAM_HOME/src/scramcli" ${1+"$@"}
76     EOF
77 eulisse 1.12
78 eulisse 1.16 mkdir -p %{instroot}/%{cmsplatf}/etc/profile.d
79 eulisse 1.12 mkdir -p %{i}/etc/profile.d
80     echo "#!/bin/sh" > %i/etc/profile.d/dependencies-setup.sh
81     echo "source $P5_LIBWWW_PERL_ROOT/etc/profile.d/init.sh" >> %i/etc/profile.d/dependencies-setup.sh
82     echo "#!/bin/csh" > %i/etc/profile.d/dependencies-setup.csh
83     echo "source $P5_LIBWWW_PERL_ROOT/etc/profile.d/init.csh" >> %i/etc/profile.d/dependencies-setup.csh
84    
85 argiro 1.1 chmod 755 %instroot/bin/scram
86 eulisse 1.4 perl -p -i -e "s|#!.*perl|#!/usr/bin/env perl|" $(find %{i})
87 eulisse 1.16 ln -sf %{i}/etc/profile.d/init.sh %{instroot}/%{cmsplatf}/etc/profile.d/S00SCRAM.sh
88     ln -sf %{i}/etc/profile.d/init.csh %{instroot}/%{cmsplatf}/etc/profile.d/S00SCRAM.csh
89    
90 argiro 1.1 %files
91     %i
92 eulisse 1.16 %{instroot}/bin/scram
93     %{instroot}/share/scramdbv0
94     %{instroot}/%{cmsplatf}/etc/profile.d/S00SCRAM.sh
95     %{instroot}/%{cmsplatf}/etc/profile.d/S00SCRAM.csh
96 eulisse 1.14 %exclude %instroot/share/scramdbv0/project.lookup
97 eulisse 1.20 %exclude %i/scripts/DrDOC.sh
98 eulisse 1.5 %post
99 eulisse 1.12 %{relocateConfig}etc/profile.d/dependencies-setup.sh
100     %{relocateConfig}etc/profile.d/dependencies-setup.csh
101 eulisse 1.8 perl -p -i -e "s|%instroot|$RPM_INSTALL_PREFIX|g" $RPM_INSTALL_PREFIX/bin/scram
102 eulisse 1.16 ln -sf $RPM_INSTALL_PREFIX/%pkgrel/etc/profile.d/init.sh $RPM_INSTALL_PREFIX/%{cmsplatf}/etc/profile.d/S00SCRAM.sh
103     ln -sf $RPM_INSTALL_PREFIX/%pkgrel/etc/profile.d/init.csh $RPM_INSTALL_PREFIX/%{cmsplatf}/etc/profile.d/S00SCRAM.csh
104 eulisse 1.19 #