ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CMSDIST/dbs-light.spec
Revision: 1.5
Committed: Sat Sep 22 02:05:33 2007 UTC (17 years, 7 months ago) by valya
Branch: MAIN
Changes since 1.4: +3 -1 lines
Log Message:
Fixed DBS_SERVER_CONFIG

File Contents

# User Rev Content
1 valya 1.2 ### RPM cms dbs-light DBS_1_0_8_pre2
2 valya 1.1 ## INITENV +PATH PYTHONPATH %i/lib/Clients/Python
3    
4 valya 1.3 # in order to build DBS RPM you MUST specify which schema/client version should be used.
5 valya 1.4 %define schemaVer DBS_1_0_7
6     %define clientVer DBS_1_0_7
7 valya 1.3
8 valya 1.1 %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 valya 1.3 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 valya 1.5 echo -e "export DBS_SERVER_CONFIG=\044DBS_LIGHT_ROOT/Servers/JavaServer/etc/context.xml"; \
44 valya 1.1 ) > %{i}/etc/profile.d/dependencies-setup.sh
45    
46     (echo "#!/bin/tcsh"; \
47     echo "source $PYTHON_ROOT/etc/profile.d/init.csh"; \
48     echo "source $SQLITE_ROOT/etc/profile.d/init.csh"; \
49     echo "source $APACHE_ANT_ROOT/etc/profile.d/init.csh"; \
50     echo "source $OPENSSL_ROOT/etc/profile.d/init.csh"; \
51 valya 1.3 echo -e "setenv PYTHONPATH \044PYTHONPATH:\044DBS_LIGHT_ROOT/Clients/Python:\044DBS_LIGHT_ROOT/Clients/Python/DBSAPI"; \
52 valya 1.5 echo -e "setenv DBS_CLIENT_CONFIG \044DBS_LIGHT_ROOT/Clients/Python/DBSAPI/dbs.config"; \
53     echo -e "setenv DBS_SERVER_CONFIG \044DBS_LIGHT_ROOT/Servers/JavaServer/etc/context.xml"; \
54 valya 1.1 ) > %{i}/etc/profile.d/dependencies-setup.csh
55    
56     # client
57     mkdir -p %{i}/Clients/Python
58     cp -r Clients/Python/DBSAPI %{i}/Clients/Python
59    
60     # schema
61     ls -l Schema/NeXtGen
62     mkdir -p %{i}/Schema/NeXtGen
63     cp -r Schema/NeXtGen/DBS-NeXtGen-SQLite_DEPLOYABLE.sql %{i}/Schema/NeXtGen/
64    
65     %post
66     %{relocateConfig}etc/profile.d/dependencies-setup.sh
67     %{relocateConfig}etc/profile.d/dependencies-setup.csh
68    
69     # setup approripate links and made post install procedure
70     . $RPM_INSTALL_PREFIX/%{pkgrel}/etc/profile.d/init.sh
71    
72     # install DBS stand-along DB
73     if [ ! -f $RPM_INSTALL_PREFIX/%{pkgrel}/dbs.db ]; then
74     sqlite3 $RPM_INSTALL_PREFIX/%{pkgrel}/dbs.db < \
75     $RPM_INSTALL_PREFIX/%{pkgrel}/Schema/NeXtGen/DBS-NeXtGen-SQLite_DEPLOYABLE.sql
76     fi
77    
78     # correct DBS client config file to operate in stand-along mode
79     cat $RPM_INSTALL_PREFIX/%{pkgrel}/Clients/Python/DBSAPI/dbs.config | \
80 valya 1.3 sed "s/DBSHOME/#DBSHOME/g" |
81     sed "s/JAVAHOME/#JAVAHOME/g" |
82 valya 1.1 sed "s/MODE=POST/#MODE=POST/g" > \
83     $RPM_INSTALL_PREFIX/%{pkgrel}/Clients/Python/DBSAPI/dbs.config.tmp
84     cat >> $RPM_INSTALL_PREFIX/%{pkgrel}/Clients/Python/DBSAPI/dbs.config.tmp << EOF
85     # RPM AUTO-CONFIG FOR STANDALONE MODE
86     MODE=EXEC
87     DBSHOME=`echo $DBS_LIGHT_ROOT`/Servers/JavaServer
88     JAVAHOME=`echo $JAVA_HOME`
89     EOF
90     mv $RPM_INSTALL_PREFIX/%{pkgrel}/Clients/Python/DBSAPI/dbs.config.tmp \
91     $RPM_INSTALL_PREFIX/%{pkgrel}/Clients/Python/DBSAPI/dbs.config
92    
93     # correct DBS server config file
94     cat > $RPM_INSTALL_PREFIX/%{pkgrel}/Servers/JavaServer/etc/context.xml << EOF
95 valya 1.3 <Context path="/servlet/DBSServlet" docBase="DBSServlet" debug="5" reloadable="true" crossContext="true">
96 valya 1.1 <Resource name="jdbc/dbs"
97     auth="Container"
98     type="javax.sql.DataSource"
99     maxActive="0"
100     maxIdle="1"
101     maxWait="-1"
102     username=""
103     password=""
104     driverClassName="org.sqlite.JDBC"
105     url="jdbc:sqlite:`echo $RPM_INSTALL_PREFIX/%{pkgrel}/dbs.db`"/>
106 valya 1.3 <SupportedSchemaVersion schemaversion="%{schemaVer}" />
107     <SupportedClientVersions clientversions="%{clientVer}" />
108     <DBSBlockConfig maxBlockSize="20000" maxBlockFiles="50" />
109     </Context>
110 valya 1.1 EOF
111     cd $RPM_INSTALL_PREFIX/%{pkgrel}/Servers/JavaServer/
112     ant --noconfig jar
113     ls -l $PWD
114     find . -name "*.jar"