ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CMSDIST/webtools.spec
Revision: 1.44
Committed: Tue Sep 30 16:18:05 2008 UTC (16 years, 6 months ago) by egeland
Branch: MAIN
CVS Tags: forPHEDEX-datasvc120_test1
Changes since 1.43: +1 -0 lines
Log Message:
require p5-crypt-cbc, which is needed for the perl SecurityModule

File Contents

# User Rev Content
1 valya 1.43 ### RPM cms webtools 1.3.7
2 eulisse 1.10 ## INITENV +PATH PYTHONPATH %i/lib/python`echo $PYTHON_VERSION | cut -d. -f 1,2`/site-packages
3 egeland 1.39 ## INITENV +PATH PERL5LIB %i/lib/perl
4    
5 eulisse 1.1 %define moduleName WEBTOOLS
6     %define exportName WEBTOOLS
7 valya 1.43 %define cvstag V01-03-14
8 eulisse 1.1 %define cvsserver cvs://:pserver:anonymous@cmscvs.cern.ch:2401/cvs_server/repositories/CMSSW?passwd=AA_:yZZ3e
9     Source: %cvsserver&strategy=checkout&module=%{moduleName}&nocache=true&export=%{exportName}&tag=-r%{cvstag}&output=/%{moduleName}.tar.gz
10 valya 1.40 Requires: python cherrypy py2-cheetah yui sqlite zlib py2-pysqlite expat openssl bz2lib db4 gdbm py2-cx-oracle py2-formencode py2-pycrypto oracle beautifulsoup py2-sqlalchemy oracle-env
11 egeland 1.44 Requires: p5-crypt-cbc
12 eulisse 1.8 Provides: perl(CGI)
13     Provides: perl(Crypt::CBC)
14     Provides: perl(SecurityModule)
15 eulisse 1.28 Provides: perl(DBI)
16 eulisse 1.1 %prep
17     %setup -n %{moduleName}
18     %build
19 eulisse 1.9 rm -rf %i/etc/profile.d
20 eulisse 1.29 mkdir -p %i/etc/profile.d
21 valya 1.38 mkdir -p %i/etc/init.d
22 eulisse 1.29 echo '#!/bin/sh' > %{i}/etc/profile.d/dependencies-setup.sh
23     echo '#!/bin/tcsh' > %{i}/etc/profile.d/dependencies-setup.csh
24     echo requiredtools `echo %{requiredtools} | sed -e's|\s+| |;s|^\s+||'`
25     for tool in `echo %{requiredtools} | sed -e's|\s+| |;s|^\s+||'`
26 eulisse 1.9 do
27 eulisse 1.29 case X$tool in
28     Xdistcc|Xccache )
29     ;;
30     * )
31     toolcap=`echo $tool | tr a-z- A-Z_`
32     eval echo ". $`echo ${toolcap}_ROOT`/etc/profile.d/init.sh" >> %{i}/etc/profile.d/dependencies-setup.sh
33     eval echo "source $`echo ${toolcap}_ROOT`/etc/profile.d/init.csh" >> %{i}/etc/profile.d/dependencies-setup.csh
34     ;;
35     esac
36 eulisse 1.9 done
37    
38 eulisse 1.29 perl -p -i -e 's|\. /etc/profile\.d/init\.sh||' %{i}/etc/profile.d/dependencies-setup.sh
39     perl -p -i -e 's|source /etc/profile\.d/init\.csh||' %{i}/etc/profile.d/dependencies-setup.csh
40 eulisse 1.1 %install
41     mkdir -p %i/etc
42 eulisse 1.10 mkdir -p %i/bin
43     mkdir -p %i/lib/python`echo $PYTHON_VERSION | cut -d. -f1,2`/site-packages
44 egeland 1.39 mkdir -p %i/lib/perl
45 valya 1.38
46     # copy init script
47     cp Applications/SiteDB/initscripts/start.sh %{i}/etc/init.d/
48     chmod a+x %{i}/etc/init.d/*
49    
50 metson 1.35 rm -rf Applications Configuration
51 egeland 1.39 cp -r SecurityModule/perl/lib/* %i/lib/perl
52 eulisse 1.10 cp -r * %i/lib/python`echo $PYTHON_VERSION | cut -d. -f1,2`/site-packages
53     cp cmsWeb %i/bin
54 valya 1.38
55 eulisse 1.1 cat << \EOF_CHERRYPY_CONF > %i/etc/cherrypy.conf
56     # Serve a complete directory
57     [/Common]
58 eulisse 1.6 tools.staticdir.on = True
59     tools.staticdir.dir = %i/Common
60 eulisse 1.1 [/Templates]
61 eulisse 1.6 tools.staticdir.on = True
62     tools.staticdir.dir = %i/Templates
63 eulisse 1.5 # Serve a complete directory
64     [/WEBTOOLS/Common]
65 eulisse 1.6 tools.staticdir.on = True
66     tools.staticdir.dir = %i/Common
67 eulisse 1.5 [/WEBTOOLS/Templates]
68 eulisse 1.6 tools.staticdir.on = True
69     tools.staticdir.dir = %i/Templates
70 eulisse 1.1 EOF_CHERRYPY_CONF
71 eulisse 1.2 cat << \EOF_APACHE2_HEADER > %i/etc/apache2-header.conf
72     RewriteEngine On
73     RewriteBase /cms/services
74     EOF_APACHE2_HEADER
75    
76     cat << \EOF_APACHE2_CONF > %i/etc/apache2.conf
77     <Directory %i/Common>
78     Allow from all
79     </Directory>
80     <Directory %i/Templates>
81     Allow from all
82     </Directory>
83     EOF_APACHE2_CONF
84    
85     cat << \EOF_APACHE2_FOOTER > %i/etc/apache2-footer.conf
86     RewriteRule ^/cms/services/webtools/Common(.*)$ %i/Common$1
87     RewriteRule ^/cms/services/webtools/Templates(.*)$ %i/Templates$1
88     EOF_APACHE2_FOOTER
89 eulisse 1.14 %define pythonv %(echo $PYTHON_ROOT | cut -d. -f1,2)
90 eulisse 1.1 %post
91     %{relocateConfig}etc/cherrypy.conf
92 eulisse 1.2 %{relocateConfig}etc/apache2.conf
93     %{relocateConfig}etc/apache2-header.conf
94     %{relocateConfig}etc/apache2-footer.conf
95 eulisse 1.9 %{relocateConfig}etc/profile.d/dependencies-setup.sh
96     %{relocateConfig}etc/profile.d/dependencies-setup.csh
97 eulisse 1.14 perl -p -i -e "s!\@RPM_INSTALL_PREFIX\@!$RPM_INSTALL_PREFIX/%pkgrel!" $RPM_INSTALL_PREFIX/%pkgrel/bin/cmsWeb
98 valya 1.33
99    
100     # setup approripate links and made post install procedure
101     . $RPM_INSTALL_PREFIX/%{pkgrel}/etc/profile.d/init.sh
102     if [ `hostname`=="cmswttest.cern.ch" ]; then
103     cat > $RPM_INSTALL_PREFIX/%{pkgrel}/lib/python`echo $PYTHON_VERSION | cut -d. -f1,2`/site-packages/Tools/SiteDBCore/security.ini << POST_EOF
104     [database]
105     dbtype = sqlite
106     dbname = $RPM_INSTALL_PREFIX/%{pkgrel}/lib/python`echo $PYTHON_VERSION | cut -d. -f1,2`/site-packages/Tools/SiteDBCore/sitedb.db
107     POST_EOF
108     else
109     if [ -n "${WEBTOOLS_CONF}" ] && [ -f ${WEBTOOLS_CONF}/sitedb/security.ini ]; then
110     ln -s ${WEBTOOLS_CONF}/sitedb/security.ini $RPM_INSTALL_PREFIX/%{pkgrel}/lib/python`echo $PYTHON_VERSION | cut -d. -f1,2`/site-packages/Tools/SiteDBCore/security.ini
111     fi
112     fi
113