ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CMSDIST/dbs-light.spec
Revision: 1.3
Committed: Sat Sep 22 01:52:07 2007 UTC (17 years, 7 months ago) by valya
Branch: MAIN
Changes since 1.2: +15 -0 lines
Log Message:
Added Context tag into server configuration file. Added client/schemaVer into RPM itself

File Contents

# Content
1 ### RPM cms dbs-light DBS_1_0_8_pre2
2 ## INITENV +PATH PYTHONPATH %i/lib/Clients/Python
3
4 # in order to build DBS RPM you MUST specify which schema/client version should be used.
5 %define schemaVer=DBS_1_0_7
6 %define clientVer=DBS_1_0_7
7
8 %define cvstag %v
9 Source: cvs://:pserver:anonymous@cmscvs.cern.ch:2401/cvs_server/repositories/CMSSW?passwd=AA_:yZZ3e&module=DBS&export=DBS&tag=-r%{cvstag}&output=/dbs-light.tar.gz
10 #Source: cvs://:pserver:anonymous@cmscvs.cern.ch:2401/cvs_server/repositories/CMSSW?passwd=AA_:yZZ3e&module=DBS/{Servers/JavaServer,Clients/Python,Schema/NeXtGen/DBS-NeXtGen-SQLite_DEPLOYABLE.sql}&export=DBS&tag=-r%{cvstag}&output=/dbs-light.tar.gz
11 Requires: python openssl apache-ant sqlite
12 #Requires: apache-ant mysql oracle apache-tomcat
13
14 %prep
15 %setup -n DBS
16 %build
17 echo "PWD=$PWD"
18 # server
19 cd Servers/JavaServer
20 echo "PWD=$PWD"
21 ant --noconfig dist
22 cd ../../
23 # client
24 (make DBSHOME=%_builddir/DBS/Clients/Python )
25 # schema
26 (make DBSHOME=%_builddir/DBS/Schema/NeXtGen )
27
28 %install
29 mkdir -p %{i}/bin
30 mkdir -p %{i}/lib
31 # server
32 mkdir -p %{i}/Servers/JavaServer/
33 cp -r Servers/JavaServer/* %{i}/Servers/JavaServer
34
35 mkdir -p %{i}/etc/profile.d
36 (echo "#!/bin/sh"; \
37 echo "source $PYTHON_ROOT/etc/profile.d/init.sh"; \
38 echo "source $SQLITE_ROOT/etc/profile.d/init.sh"; \
39 echo "source $APACHE_ANT_ROOT/etc/profile.d/init.sh"; \
40 echo "source $OPENSSL_ROOT/etc/profile.d/init.sh"; \
41 echo -e "export PYTHONPATH=\044PYTHONPATH:\044DBS_LIGHT_ROOT/Clients/Python:\044DBS_LIGHT_ROOT/Clients/Python/DBSAPI"; \
42 echo -e "export DBS_CLIENT_CONFIG=\044DBS_LIGHT_ROOT/Clients/Python/DBSAPI/dbs.config"; \
43 ) > %{i}/etc/profile.d/dependencies-setup.sh
44
45 (echo "#!/bin/tcsh"; \
46 echo "source $PYTHON_ROOT/etc/profile.d/init.csh"; \
47 echo "source $SQLITE_ROOT/etc/profile.d/init.csh"; \
48 echo "source $APACHE_ANT_ROOT/etc/profile.d/init.csh"; \
49 echo "source $OPENSSL_ROOT/etc/profile.d/init.csh"; \
50 echo -e "setenv PYTHONPATH \044PYTHONPATH:\044DBS_LIGHT_ROOT/Clients/Python:\044DBS_LIGHT_ROOT/Clients/Python/DBSAPI"; \
51 echo -e "setenv DBS_CLIENT_CONFIG=\044DBS_LIGHT_ROOT/Clients/Python/DBSAPI/dbs.config"; \
52 ) > %{i}/etc/profile.d/dependencies-setup.csh
53
54 # client
55 mkdir -p %{i}/Clients/Python
56 cp -r Clients/Python/DBSAPI %{i}/Clients/Python
57
58 # schema
59 ls -l Schema/NeXtGen
60 mkdir -p %{i}/Schema/NeXtGen
61 cp -r Schema/NeXtGen/DBS-NeXtGen-SQLite_DEPLOYABLE.sql %{i}/Schema/NeXtGen/
62
63 %post
64 %{relocateConfig}etc/profile.d/dependencies-setup.sh
65 %{relocateConfig}etc/profile.d/dependencies-setup.csh
66
67 # setup approripate links and made post install procedure
68 . $RPM_INSTALL_PREFIX/%{pkgrel}/etc/profile.d/init.sh
69
70 # install DBS stand-along DB
71 if [ ! -f $RPM_INSTALL_PREFIX/%{pkgrel}/dbs.db ]; then
72 sqlite3 $RPM_INSTALL_PREFIX/%{pkgrel}/dbs.db < \
73 $RPM_INSTALL_PREFIX/%{pkgrel}/Schema/NeXtGen/DBS-NeXtGen-SQLite_DEPLOYABLE.sql
74 fi
75
76 # correct DBS client config file to operate in stand-along mode
77 cat $RPM_INSTALL_PREFIX/%{pkgrel}/Clients/Python/DBSAPI/dbs.config | \
78 sed "s/DBSHOME/#DBSHOME/g" |
79 sed "s/JAVAHOME/#JAVAHOME/g" |
80 sed "s/MODE=POST/#MODE=POST/g" > \
81 $RPM_INSTALL_PREFIX/%{pkgrel}/Clients/Python/DBSAPI/dbs.config.tmp
82 cat >> $RPM_INSTALL_PREFIX/%{pkgrel}/Clients/Python/DBSAPI/dbs.config.tmp << EOF
83 # RPM AUTO-CONFIG FOR STANDALONE MODE
84 MODE=EXEC
85 DBSHOME=`echo $DBS_LIGHT_ROOT`/Servers/JavaServer
86 JAVAHOME=`echo $JAVA_HOME`
87 EOF
88 mv $RPM_INSTALL_PREFIX/%{pkgrel}/Clients/Python/DBSAPI/dbs.config.tmp \
89 $RPM_INSTALL_PREFIX/%{pkgrel}/Clients/Python/DBSAPI/dbs.config
90
91 # correct DBS server config file
92 cat > $RPM_INSTALL_PREFIX/%{pkgrel}/Servers/JavaServer/etc/context.xml << EOF
93 <Context path="/servlet/DBSServlet" docBase="DBSServlet" debug="5" reloadable="true" crossContext="true">
94 <Resource name="jdbc/dbs"
95 auth="Container"
96 type="javax.sql.DataSource"
97 maxActive="0"
98 maxIdle="1"
99 maxWait="-1"
100 username=""
101 password=""
102 driverClassName="org.sqlite.JDBC"
103 url="jdbc:sqlite:`echo $RPM_INSTALL_PREFIX/%{pkgrel}/dbs.db`"/>
104 <SupportedSchemaVersion schemaversion="%{schemaVer}" />
105 <SupportedClientVersions clientversions="%{clientVer}" />
106 <DBSBlockConfig maxBlockSize="20000" maxBlockFiles="50" />
107 </Context>
108 EOF
109 cd $RPM_INSTALL_PREFIX/%{pkgrel}/Servers/JavaServer/
110 ant --noconfig jar
111 ls -l $PWD
112 find . -name "*.jar"