f3f5f780508fb74bc280d4fb35efa30bd470248b
[lhc/ateliers.git] / etc / sv / openerp_server_lhc / local.sh
1 home=/home/"$sv"
2
3 while ! sudo -u postgres psql </dev/null
4 do sleep 1; done
5 "$tool"/local/postgresql-user-create "$sv"
6 "$tool"/local/postgresql-database-create "$sv"
7 sudo -u postgres psql -AqtX "$sv" <<-EOF
8 \set ON_ERROR_STOP on
9 GRANT USAGE ON SCHEMA pg_catalog TO $sv;
10 GRANT SELECT ON TABLE pg_catalog.pg_attribute TO $sv;
11 GRANT SELECT ON TABLE pg_catalog.pg_class TO $sv;
12 GRANT SELECT ON TABLE pg_catalog.pg_constraint TO $sv;
13 GRANT SELECT ON TABLE pg_catalog.pg_indexes TO $sv;
14 GRANT SELECT ON TABLE pg_catalog.pg_proc TO $sv;
15 GRANT SELECT ON TABLE pg_catalog.pg_type TO $sv;
16 EOF
17
18 "$tool"/local/adduser "$sv" \
19 --disabled-login \
20 --disabled-password \
21 --group \
22 --home "$home" \
23 --shell /bin/false \
24 --system
25 "$tool"/local/adduser "$sv"-addon \
26 --disabled-login \
27 --disabled-password \
28 --group \
29 --home "$home"/addon.d \
30 --shell /bin/false \
31 --system
32
33 sudo install -d -m 1777 -o root -g root \
34 /etc/openerp
35 sudo install -d -m 3771 -o "$sv" -g "$sv" \
36 "$home"
37 sudo -u "$sv" wget -c http://nightly.openerp.com/6.0/6.0/openerp-server-6.0.4-20130520-r3663.tar.gz -O /tmp/openerp-server.tar.gz
38 sudo -u "$sv" tar -xf /tmp/openerp-server.tar.gz -C "$home"
39 "$tool"/local/apt-get-install patch
40 sudo -u "$sv" patch -d "$home"/openerp-server-6.0.4/bin/addons/document_webdav/ <<- EOF
41 diff -Nru document_webdav.old/dav_fs.py document_webdav/dav_fs.py
42 --- document_webdav.old/dav_fs.py 2012-08-09 01:01:18.000000000 +0200
43 +++ document_webdav/dav_fs.py 2012-11-28 18:16:55.762897399 +0100
44 @@ -28,12 +28,12 @@
45 import netsvc
46 import urlparse
47
48 -from DAV.constants import COLLECTION #, OBJECT
49 -from DAV.errors import DAV_Error, DAV_Forbidden, DAV_NotFound
50 -from DAV.iface import dav_interface
51 +from pywebdav.lib.constants import COLLECTION #, OBJECT
52 +from pywebdav.lib.errors import DAV_Error, DAV_Forbidden, DAV_NotFound
53 +from pywebdav.lib.iface import dav_interface
54 import urllib
55
56 -from DAV.davcmd import copyone, copytree, moveone, movetree, delone, deltree
57 +from pywebdav.lib.davcmd import copyone, copytree, moveone, movetree, delone, deltree
58 from cache import memoize
59 from tools import misc
60
61 diff -Nru document_webdav.old/webdav.py document_webdav/webdav.py
62 --- document_webdav.old/webdav.py 2012-11-28 18:08:16.326780608 +0100
63 +++ document_webdav/webdav.py 2012-11-28 18:22:20.582972764 +0100
64 @@ -30,11 +30,11 @@
65 from tools.translate import _
66
67 try:
68 - from DAV import utils
69 - from DAV.propfind import PROPFIND
70 - from DAV.report import REPORT
71 + from pywebdav.lib import utils
72 + from pywebdav.lib.propfind import PROPFIND
73 + from pywebdav.lib.report import REPORT
74 except ImportError:
75 - raise osv.except_osv(_('PyWebDAV Import Error!'), _('Please install PyWebDAV from http://code.google.com/p/pywebdav/downloads/detail?name=PyWebDAV-0.9.4.tar.gz&can=2&q=/'))
76 + raise osv.except_osv(_('PyWebDAV Import Error!'), _('Please install PyWebDAV from http://code.google.com/p/pywebdav/downloads/detail?name=PyWebDAV-0.9.8.tar.gz&can=2&q='))
77
78 import tools
79
80 diff -Nru document_webdav.old/webdav_server.py document_webdav/webdav_server.py
81 --- document_webdav.old/webdav_server.py 2012-10-03 01:01:16.000000000 +0200
82 +++ document_webdav/webdav_server.py 2012-11-28 18:16:34.066892588 +0100
83 @@ -38,7 +38,7 @@
84 import netsvc
85 from dav_fs import openerp_dav_handler
86 from tools.config import config
87 -from DAV.WebDAVServer import DAVRequestHandler
88 +from pywebdav.lib.WebDAVServer import DAVRequestHandler
89 from service import http_server
90 from service.websrv_lib import FixSendError, HttpOptions
91 from BaseHTTPServer import BaseHTTPRequestHandler
92 @@ -48,10 +48,10 @@
93 import time
94 from string import atoi
95 import addons
96 -from DAV.utils import IfParser, TagList
97 -from DAV.errors import DAV_Error, DAV_Forbidden, DAV_NotFound
98 -from DAV.propfind import PROPFIND
99 -# from DAV.constants import DAV_VERSION_1, DAV_VERSION_2
100 +from pywebdav.lib.utils import IfParser, TagList
101 +from pywebdav.lib.errors import DAV_Error, DAV_Forbidden, DAV_NotFound
102 +from pywebdav.lib.propfind import PROPFIND
103 +# from pywebdav.lib.constants import DAV_VERSION_1, DAV_VERSION_2
104 from xml.dom import minidom
105 from redirect import RedirectHTTPHandler
106 _logger = logging.getLogger(__name__)
107 EOF
108
109 sudo install -d -m 2770 -o "$sv" -g "$sv"-addon \
110 "$home"/addon.d
111 sudo install -d -m 750 -o "$sv" -g "$sv" \
112 "$home"/etc \
113 /etc/openerp/"${sv#openerp_}"
114 sudo ln -fns \
115 /etc/openerp/"${sv#openerp_}" \
116 "$home"/etc/openerp
117
118 sudo adduser git "$sv"-addon
119 sudo adduser "$sv" "$sv"-addon
120 sudo adduser "$sv" postgres-data
121
122 for addon in \
123 lhc
124 do
125 sudo install -d -m 2771 -o "$sv" -g "$sv"-addon \
126 "$home"/addon.d/"$addon"
127 sudo ln -s "$home"/addon.d/"$addon" "$home"/addon.d/lhc_custom_oe
128 sudo -u git git \
129 --git-dir ~git-data/burette/"$addon".git \
130 --work-tree="$home"/addon.d/"$addon" \
131 checkout -f master
132 sudo -u git git \
133 --git-dir ~git-data/burette/"$addon".git \
134 --work-tree="$home"/addon.d/"$addon" \
135 clean -d -f -f -x
136 sudo chmod a-x \
137 /home/git/pub/burette/"$addon".git/hooks/post-update.sample
138 sudo install -m 550 -o git -g git /dev/stdin \
139 /home/git/pub/burette/"$addon".git/hooks/post-update <<-EOF
140 #!/bin/sh -efux
141 find . -type f -perm /+x -name 'post-update.*' |
142 while IFS= read -r hook
143 do "\$hook" "\$@"
144 done
145 EOF
146 sudo install -m 550 -o git -g git /dev/stdin \
147 /home/git/pub/burette/"$addon".git/hooks/post-update."$sv" <<-EOF
148 #!/bin/sh -efux
149 case \$1 in
150 (refs/heads/master)
151 git \\
152 --git-dir ~git-data/burette/"$addon".git \\
153 --work-tree="$home"/addon.d/"$addon" \\
154 checkout -f master
155 git \\
156 --git-dir ~git-data/burette/"$addon".git \\
157 --work-tree="$home"/addon.d/"$addon" \\
158 clean -d -f -f -x
159 #sv restart "$sv"
160 ;;
161 esac
162 EOF
163 done
164
165 exit 42