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