ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CMSDIST/SCRAMV1.spec
Revision: 1.26
Committed: Wed Sep 27 10:39:05 2006 UTC (18 years, 7 months ago) by eulisse
Branch: MAIN
Changes since 1.25: +0 -1 lines
Log Message:
Does not do the chmod +x for the wrapper anymore.

File Contents

# User Rev Content
1 eulisse 1.25 ### RPM lcg SCRAMV1 V1_0_1
2 argiro 1.1 ## INITENV +PATH PATH %instroot/bin
3 eulisse 1.7 ## INITENV +PATH PERL5LIB %{i}
4 eulisse 1.21 Requires: expat p5-template-toolkit p5-uri p5-xml-parser p5-libwww-perl cms-env
5 eulisse 1.24 Requires: scramv1-wrapper
6 eulisse 1.7 Provides: perl(SCRAM::Helper)
7     Provides: perl(Utilities::AddDir)
8     Provides: perl(Utilities::Architecture)
9     Provides: perl(Utilities::SCRAMUtils)
10     Provides: perl(ActiveDoc::GroupChecker)
11     Provides: perl(ActiveDoc::UserInterface_basic)
12     Provides: perl(ActiveDoc::UserQuery)
13     Provides: perl(Doxygen::Context)
14     Provides: perl(Graph::Graph)
15     Provides: perl(ObjectStore)
16 eulisse 1.24 Provides: perl(Utilities::SVNmodule)
17     Provides: perl(URL::URL_cvsfile)
18 eulisse 1.7
19 argiro 1.1 # This package is somewhat unusual compared to other packages we
20     # build: we install the normally versioned product "SCRAM", but also
21     # create the front-end "scram" wrapper and the package database. The
22     # latter do not follow the standard versioning.
23     #
24     # The front-end script can be overwritten by any version *PROVIDED*
25     # the platform string comes first as is the default (i.e. the
26     # installation tree looks like <platf>/lcg/SCRAM/<version>/src).
27     #
28     # The database is only created, but never changeed. It is made part
29     # of this package, but none of the files in it are included, so if
30     # the package is removed, the directory will left intact. (FIXME:
31     # check this is really so -- should we use %dir, or the default is
32     # good?)
33     #
34     # The front-end wrapper and the script go at the installation root,
35     # not anywhere in the package tree. They must remain modifiable.
36     #
37     # We do the install ourselves, as "Installation/install_scram" would
38     # do, but putting the results elsewhere and using our own scram
39     # wrapper instead of using the supplied one -- mainly for easier
40     # override of SCRAM_LOOKUPDB; the wrapper is really rather simple so
41     # there is no point in trying to patch it.
42     #
43     # FIXME: should we have more than one project database and link them
44     # together into one big one?
45    
46 eulisse 1.2 %define cvsrepo cvs://:pserver:anonymous@cmscvs.cern.ch:2401/cvs_server/repositories/SCRAM?passwd=AA_:yZZ3e
47 argiro 1.1
48 eulisse 1.2 Source0: %{cvsrepo}&tag=-r%{v}&module=SCRAM&output=/source.tar.gz
49 argiro 1.1
50     %prep
51     %setup -n SCRAM
52     %build
53     %install
54     tar -cf - . | tar -C %i -xvvf -
55 eulisse 1.7 rm -rf %i/cgi
56 eulisse 1.2 mkdir -p %instroot/bin %instroot/share/scramdb %i/Installation
57 eulisse 1.19 mkdir -p %i/bin
58 eulisse 1.13 touch %instroot/share/scramdb/project.lookup
59 eulisse 1.2
60 eulisse 1.19 cat Installation/scram.pl.in | sed -e "s|@PERLEXE@|/usr/bin/env perl|;s|@SCRAM_HOME@|%i|;s|@INSTALLDIR@|%i/src|" > %i/bin/scramv1
61 eulisse 1.24 cat Installation/scram.pl.in | sed -e "s|@PERLEXE@|/usr/bin/env perl|;s|@SCRAM_HOME@|%i|;s|@INSTALLDIR@|%i/src|" > %i/src/main/scram.pl
62     chmod +x %i/src/main/scram.pl
63 eulisse 1.7 cat Installation/SCRAM_SITE.pm.in | sed -e "s|@SCRAM_HOME@|%i|;s|@SCRAM_LOOKUPDB_DIR@|%instroot/share/scramdb/|;s|@PERLEXE@|/usr/bin/env perl|;s|@TT2INSTALLDIR@|$TEMPLATE_TOOLKIT_ROOT/lib|;s|@SITETEMPLATEDIR@|%i/Templates|;s|@SCRAM_SITENAME@|STANDALONE|" > %i/Installation/SCRAM_SITE.pm
64 eulisse 1.2
65     # cat > %instroot/bin/scramv1 << \EOF
66     # #!/bin/sh
67     #
68     # # FIXME: Handle -re?
69     # # FIXME: Since we can install the same package on many platforms in
70     # # one tree, should the project lookup database be platform-specific?
71     #
72     # SCRAM=$0
73     # : ${SCRAM_HOME=%i}
74     # : ${SCRAM_LOOKUPDB=%instroot/share/scramdb/project.lookup}
75     # : ${SCRAMPERL="/usr/bin/env perl"}
76     # PERL5LIB=$SCRAM_HOME/src${PERL5LIB+":$PERL5LIB"}
77     # : ${SITENAME=CERN}
78     # : ${SEARCHOVRD=true}
79     # : ${LOCTOOLS=NODEFAULT}
80     # export SCRAM SCRAM_HOME SCRAM_LOOKUPDB SCRAMPERL
81     # export PERL5LIB SITENAME SEARCHOVRD LOCTOOLS
82     #
83     # exec perl "$SCRAM_HOME/src/scramcli" ${1+"$@"}
84     # EOF
85 eulisse 1.19 chmod 755 %i/bin/scramv1
86    
87 eulisse 1.3 mkdir %i/etc
88     echo $PERL5LIB > %i/etc/perl5lib.env
89 eulisse 1.6
90 eulisse 1.15 mkdir -p %{instroot}/%{cmsplatf}/etc/profile.d
91 eulisse 1.6 mkdir -p %{i}/etc/profile.d
92     echo "#!/bin/sh" > %i/etc/profile.d/dependencies-setup.sh
93     echo "source $EXPAT_ROOT/etc/profile.d/init.sh" >> %i/etc/profile.d/dependencies-setup.sh
94     echo "source $P5_TEMPLATE_TOOLKIT_ROOT/etc/profile.d/init.sh" >> %i/etc/profile.d/dependencies-setup.sh
95     echo "source $P5_URI_ROOT/etc/profile.d/init.sh" >> %i/etc/profile.d/dependencies-setup.sh
96     echo "source $P5_XML_PARSER_ROOT/etc/profile.d/init.sh" >> %i/etc/profile.d/dependencies-setup.sh
97     echo "source $P5_LIBWWW_PERL_ROOT/etc/profile.d/init.sh" >> %i/etc/profile.d/dependencies-setup.sh
98    
99 eulisse 1.11 echo "#!/bin/csh" > %i/etc/profile.d/dependencies-setup.csh
100     echo "source $EXPAT_ROOT/etc/profile.d/init.csh" >> %i/etc/profile.d/dependencies-setup.csh
101     echo "source $P5_TEMPLATE_TOOLKIT_ROOT/etc/profile.d/init.csh" >> %i/etc/profile.d/dependencies-setup.csh
102     echo "source $P5_URI_ROOT/etc/profile.d/init.csh" >> %i/etc/profile.d/dependencies-setup.csh
103     echo "source $P5_XML_PARSER_ROOT/etc/profile.d/init.csh" >> %i/etc/profile.d/dependencies-setup.csh
104     echo "source $P5_LIBWWW_PERL_ROOT/etc/profile.d/init.csh" >> %i/etc/profile.d/dependencies-setup.csh
105    
106 eulisse 1.7 perl -p -i -e "s|#!.*perl|/usr/bin/env perl|" %{i}/doc/doxygen/DoxyFilt.pl
107    
108 eulisse 1.5 %post
109 eulisse 1.6 %{relocateConfig}etc/perl5lib.env
110 eulisse 1.5 %{relocateConfig}Installation/SCRAM_SITE.pm
111 eulisse 1.19 %{relocateConfig}bin/scramv1
112 eulisse 1.24 %{relocateConfig}src/main/scram.pl
113 eulisse 1.6 %{relocateConfig}etc/profile.d/dependencies-setup.sh
114 eulisse 1.12 %{relocateConfig}etc/profile.d/dependencies-setup.csh
115 eulisse 1.24 # If and only if there is no default-scramv1 set the default to be the version we package in this spec.
116     OLD_VERSION=""
117     if [ ! -f $RPM_INSTALL_PREFIX/%{cmsplatf}/etc/default-scramv1-version ]
118     then
119     OLD_VERSION=`cat $RPM_INSTALL_PREFIX/%{cmsplatf}/etc/default-scramv1-version`
120     fi
121     NEW_VERSION=%v
122     (echo $OLD_VERSION;echo $NEW_VERSION) | sort | tail -1 > $RPM_INSTALL_PREFIX/%{cmsplatf}/etc/default-scramv1-version
123 eulisse 1.15
124 argiro 1.1 %files
125     %i
126     %instroot/share/scramdb
127 eulisse 1.13 %exclude %instroot/share/scramdb/project.lookup
128 eulisse 1.18 %exclude %i/scripts/DrDOC.sh