1 |
< |
### RPM cms dbs-light DBS_1_0_8_pre1 |
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 |
28 |
|
%install |
29 |
|
mkdir -p %{i}/bin |
30 |
|
mkdir -p %{i}/lib |
31 |
+ |
|
32 |
+ |
# client |
33 |
+ |
mkdir -p %{i}/Clients/Python |
34 |
+ |
cp -r Clients/Python/DBSAPI %{i}/Clients/Python |
35 |
+ |
|
36 |
+ |
# schema |
37 |
+ |
ls -l Schema/NeXtGen |
38 |
+ |
mkdir -p %{i}/Schema/NeXtGen |
39 |
+ |
cp -r Schema/NeXtGen/DBS-NeXtGen-SQLite_DEPLOYABLE.sql %{i}/Schema/NeXtGen/ |
40 |
+ |
|
41 |
|
# server |
42 |
|
mkdir -p %{i}/Servers/JavaServer/ |
29 |
– |
cp -r Servers/JavaServer/* %{i}/Servers/JavaServer |
43 |
|
|
44 |
|
mkdir -p %{i}/etc/profile.d |
45 |
|
(echo "#!/bin/sh"; \ |
47 |
|
echo "source $SQLITE_ROOT/etc/profile.d/init.sh"; \ |
48 |
|
echo "source $APACHE_ANT_ROOT/etc/profile.d/init.sh"; \ |
49 |
|
echo "source $OPENSSL_ROOT/etc/profile.d/init.sh"; \ |
50 |
+ |
echo -e "export PYTHONPATH=\044PYTHONPATH:\044DBS_LIGHT_ROOT/Clients/Python:\044DBS_LIGHT_ROOT/Clients/Python/DBSAPI"; \ |
51 |
+ |
echo -e "export DBS_CLIENT_CONFIG=\044DBS_LIGHT_ROOT/Clients/Python/DBSAPI/dbs.config"; \ |
52 |
+ |
echo -e "export DBS_SERVER_CONFIG=\044DBS_LIGHT_ROOT/Servers/JavaServer/etc/context.xml"; \ |
53 |
|
) > %{i}/etc/profile.d/dependencies-setup.sh |
54 |
|
|
55 |
|
(echo "#!/bin/tcsh"; \ |
57 |
|
echo "source $SQLITE_ROOT/etc/profile.d/init.csh"; \ |
58 |
|
echo "source $APACHE_ANT_ROOT/etc/profile.d/init.csh"; \ |
59 |
|
echo "source $OPENSSL_ROOT/etc/profile.d/init.csh"; \ |
60 |
+ |
echo -e "setenv PYTHONPATH \044PYTHONPATH:\044DBS_LIGHT_ROOT/Clients/Python:\044DBS_LIGHT_ROOT/Clients/Python/DBSAPI"; \ |
61 |
+ |
echo -e "setenv DBS_CLIENT_CONFIG \044DBS_LIGHT_ROOT/Clients/Python/DBSAPI/dbs.config"; \ |
62 |
+ |
echo -e "setenv DBS_SERVER_CONFIG \044DBS_LIGHT_ROOT/Servers/JavaServer/etc/context.xml"; \ |
63 |
|
) > %{i}/etc/profile.d/dependencies-setup.csh |
64 |
|
|
65 |
< |
# client |
66 |
< |
mkdir -p %{i}/Clients/Python |
67 |
< |
cp -r Clients/Python/DBSAPI %{i}/Clients/Python |
65 |
> |
# compile server code |
66 |
> |
cd Servers/JavaServer |
67 |
> |
ant --noconfig jar |
68 |
> |
ls -l $PWD |
69 |
> |
find . -name "*.jar" |
70 |
> |
cd ../../ |
71 |
> |
cp -r Servers/JavaServer/* %{i}/Servers/JavaServer |
72 |
|
|
50 |
– |
# schema |
51 |
– |
ls -l Schema/NeXtGen |
52 |
– |
mkdir -p %{i}/Schema/NeXtGen |
53 |
– |
cp -r Schema/NeXtGen/DBS-NeXtGen-SQLite_DEPLOYABLE.sql %{i}/Schema/NeXtGen/ |
54 |
– |
|
73 |
|
%post |
74 |
|
%{relocateConfig}etc/profile.d/dependencies-setup.sh |
75 |
|
%{relocateConfig}etc/profile.d/dependencies-setup.csh |
85 |
|
|
86 |
|
# correct DBS client config file to operate in stand-along mode |
87 |
|
cat $RPM_INSTALL_PREFIX/%{pkgrel}/Clients/Python/DBSAPI/dbs.config | \ |
88 |
+ |
sed "s/DBSHOME/#DBSHOME/g" | |
89 |
+ |
sed "s/JAVAHOME/#JAVAHOME/g" | |
90 |
|
sed "s/MODE=POST/#MODE=POST/g" > \ |
91 |
|
$RPM_INSTALL_PREFIX/%{pkgrel}/Clients/Python/DBSAPI/dbs.config.tmp |
92 |
|
cat >> $RPM_INSTALL_PREFIX/%{pkgrel}/Clients/Python/DBSAPI/dbs.config.tmp << EOF |
100 |
|
|
101 |
|
# correct DBS server config file |
102 |
|
cat > $RPM_INSTALL_PREFIX/%{pkgrel}/Servers/JavaServer/etc/context.xml << EOF |
103 |
+ |
<Context path="/servlet/DBSServlet" docBase="DBSServlet" debug="5" reloadable="true" crossContext="true"> |
104 |
|
<Resource name="jdbc/dbs" |
105 |
|
auth="Container" |
106 |
|
type="javax.sql.DataSource" |
111 |
|
password="" |
112 |
|
driverClassName="org.sqlite.JDBC" |
113 |
|
url="jdbc:sqlite:`echo $RPM_INSTALL_PREFIX/%{pkgrel}/dbs.db`"/> |
114 |
+ |
<SupportedSchemaVersion schemaversion="%{schemaVer}" /> |
115 |
+ |
<SupportedClientVersions clientversions="%{clientVer}" /> |
116 |
+ |
<DBSBlockConfig maxBlockSize="20000" maxBlockFiles="50" /> |
117 |
+ |
</Context> |
118 |
|
EOF |
119 |
< |
cd $RPM_INSTALL_PREFIX/%{pkgrel}/Servers/JavaServer/ |
120 |
< |
ant --noconfig jar |
121 |
< |
ls -l $PWD |
122 |
< |
find . -name "*.jar" |
119 |
> |
|
120 |
> |
# obsolete code for reference, since it demonstrates how to do post-install compilation |
121 |
> |
#cd $RPM_INSTALL_PREFIX/%{pkgrel}/Servers/JavaServer/ |
122 |
> |
#ant --noconfig jar |
123 |
> |
#ls -l $PWD |
124 |
> |
#find . -name "*.jar" |
125 |
> |
#find $RPM_INSTALL_PREFIX/%{pkgrel} -name "*.jar" |