ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CMSDIST/dbs3.spec
Revision: 1.9
Committed: Thu May 27 09:20:30 2010 UTC (14 years, 11 months ago) by diego
Branch: MAIN
CVS Tags: aa20100820-dbs3, ge20100722-rpm-osx-64-bit, builder2010_07_08_1278610746-dbs3, MotT0_1_0_15, MotT0_1_0_14, MotT0_1_0_13, MotT0_1_0_12, MotT0_1_0_11, MotT0_1_0_10, MotT0_1_0_9, MotT0_1_0_8, MotT0_1_0_6, MotT0_1_0_5, MotT0_1_0_4, MotT0_1_0_3, dg20100527-dbs3
Changes since 1.8: +1 -1 lines
Log Message:
tag DBS_3_S4_0_pre3

File Contents

# User Rev Content
1 diego 1.9 ### RPM cms dbs3 DBS_3_S4_0_pre3
2 diego 1.1 ## INITENV +PATH PYTHONPATH %i/Server/Python/src
3     ## INITENV SET DBS3_SERVER_ROOT %i/Server/Python
4    
5 diego 1.4 %define cvsver %v
6 diego 1.1 %define configdir Config
7     %define instance cms_dbs
8     %define serverlogsdir Logs
9     %define service DBS
10     %define dburl oracle://user:passwd@db
11     %define dbowner schemaowner
12 diego 1.2 %define dbsver DBS_3_0_0
13 diego 1.1
14 diego 1.6 Requires: wmcore-webtools wmcore-db-oracle py2-cjson py2-mysqldb
15 diego 1.1 Source: cvs://:pserver:anonymous@cmscvs.cern.ch:2401/cvs_server/repositories/CMSSW?passwd=AA_:yZZ3e&strategy=export&nocache=true&module=COMP/DBS/DBS3&export=%{n}&tag=-r%{cvsver}&output=/%{n}.tar.gz
16    
17     %prep
18     %setup -n %{n}
19    
20     %build
21    
22     %install
23     cp -rp %_builddir/%{n}/* %i/
24     mkdir -p %{i}/%{configdir}
25     mkdir -p %{i}/%{serverlogsdir}
26    
27     #----------------------------------------
28     # Generates the script used to start dbs3
29 diego 1.3 cat << \EOF > %i/setup.sh
30 diego 1.1
31     if [ -z "$DBS3_ROOT" ]; then
32     source ./etc/profile.d/init.sh
33     fi
34    
35 diego 1.6 export MYSQL_UNIX_PORT=$MYSQL_ROOT/mysqldb/mysql.sock
36    
37 diego 1.1 dbs3_start1(){
38     if [ -z "$1" ]
39     then
40     $WMCORE_ROOT/src/python/WMCore/WebTools/Root.py -i $DBS3_ROOT/%{configdir}/%{instance}.py
41     else
42     $WMCORE_ROOT/src/python/WMCore/WebTools/Root.py -i $DBS3_ROOT/%{configdir}/$1.py
43     fi
44     }
45    
46     dbs3start(){
47     if [ -z "$1" ]
48     then
49     dbs3_start1 1>/dev/null 2>&1 &
50     else
51     dbs3_start1 $1 1>/dev/null 2>&1 &
52     fi
53     }
54    
55 diego 1.2 EOF
56 diego 1.1
57     #---------------------------
58     # Generates DBS config file
59 diego 1.3 cat << \EOF > %{i}/%{configdir}/%{instance}.py
60 diego 1.1 """
61     DBS Server configuration file
62     """
63     import os, logging
64     from WMCore.Configuration import Configuration
65    
66     config = Configuration()
67    
68     config.component_('Webtools')
69     config.Webtools.port = 8585
70     config.Webtools.host = '::'
71     config.Webtools.access_log_file = os.environ['DBS3_ROOT'] +"/%{serverlogsdir}/%{instance}.log"
72     config.Webtools.error_log_file = os.environ['DBS3_ROOT'] +"/%{serverlogsdir}/%{instance}.log"
73     config.Webtools.log_screen = True
74     config.Webtools.application = '%{instance}'
75    
76     config.component_('%{instance}')
77 diego 1.3 config.%{instance}.templates = os.environ['WMCORE_ROOT'] + '/src/templates/WMCore/WebTools'
78 diego 1.1 config.%{instance}.title = 'DBS Server'
79     config.%{instance}.description = 'CMS DBS Service'
80 diego 1.4 config.%{instance}.admin = 'yourname'
81 diego 1.1
82     config.%{instance}.section_('views')
83    
84     active=config.%{instance}.views.section_('active')
85     active.section_('%{service}')
86     active.%{service}.object = 'WMCore.WebTools.RESTApi'
87     active.%{service}.section_('model')
88     active.%{service}.model.object = 'dbs.web.DBSReaderModel'
89     active.%{service}.section_('formatter')
90     active.%{service}.formatter.object = 'WMCore.WebTools.RESTFormatter'
91    
92     active.%{service}.database = '%{dburl}'
93     active.%{service}.dbowner = '%{dbowner}'
94 diego 1.2 active.%{service}.version = '%{dbsver}'
95 diego 1.1
96 diego 1.2 EOF
97 diego 1.1
98     #-----------------------------------
99     # Generates DBS config file (writer)
100     sed -e 's/%{instance}.log/%{instance}_writer.log/g' -e 's/DBSReaderModel/DBSWriterModel/g' \
101     < %{i}/%{configdir}/%{instance}.py > %{i}/%{configdir}/%{instance}_writer.py
102    
103     #--------------------------------------------------------------------
104     # The following lines (including relocation ones in the post section)
105     # are necessary to correctly setup the environment.
106     rm -rf %i/etc/profile.d
107     # Copy dependencies to dependencies-setup.sh
108     mkdir -p %i/etc/profile.d
109     for x in %pkgreqs; do
110     case $x in /* ) continue ;; esac
111     p=%{instroot}/%{cmsplatf}/$(echo $x | sed 's/\([^+]*\)+\(.*\)+\([A-Z0-9].*\)/\1 \2 \3/' | tr ' ' '/')
112     echo ". $p/etc/profile.d/init.sh" >> %i/etc/profile.d/dependencies-setup.sh
113     echo "source $p/etc/profile.d/init.csh" >> %i/etc/profile.d/dependencies-setup.csh
114     done
115    
116     %post
117     %{relocateConfig}etc/profile.d/dependencies-setup.sh
118     %{relocateConfig}etc/profile.d/dependencies-setup.csh
119