Modification: etc/sv/openerp_server_lhc/local.sh - Stockage des documents a part
[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 700 -o "$sv" -g "$sv" \
110 "$home"/var/ \
111 "$home"/var/filestore
112
113 sudo install -d -m 2770 -o "$sv" -g "$sv"-addon \
114 "$home"/addon.d
115 sudo install -d -m 750 -o "$sv" -g "$sv" \
116 "$home"/etc \
117 /etc/openerp/"${sv#openerp_}"
118 sudo ln -fns \
119 /etc/openerp/"${sv#openerp_}" \
120 "$home"/etc/openerp
121
122 sudo adduser git "$sv"-addon
123 sudo adduser "$sv" "$sv"-addon
124 sudo adduser "$sv" postgres-data
125
126 for addon in \
127 lhc
128 do
129 sudo install -d -m 2771 -o "$sv" -g "$sv"-addon \
130 "$home"/addon.d/"$addon"
131 sudo ln -s "$home"/addon.d/"$addon" "$home"/addon.d/lhc_custom_oe
132 sudo -u git git \
133 --git-dir ~git-data/burette/"$addon".git \
134 --work-tree="$home"/addon.d/"$addon" \
135 checkout -f master
136 sudo -u git git \
137 --git-dir ~git-data/burette/"$addon".git \
138 --work-tree="$home"/addon.d/"$addon" \
139 clean -d -f -f -x
140 sudo chmod a-x \
141 /home/git/pub/burette/"$addon".git/hooks/post-update.sample
142 sudo install -m 550 -o git -g git /dev/stdin \
143 /home/git/pub/burette/"$addon".git/hooks/post-update <<-EOF
144 #!/bin/sh -efux
145 find . -type f -perm /+x -name 'post-update.*' |
146 while IFS= read -r hook
147 do "\$hook" "\$@"
148 done
149 EOF
150 sudo install -m 550 -o git -g git /dev/stdin \
151 /home/git/pub/burette/"$addon".git/hooks/post-update."$sv" <<-EOF
152 #!/bin/sh -efux
153 case \$1 in
154 (refs/heads/master)
155 git \\
156 --git-dir ~git-data/burette/"$addon".git \\
157 --work-tree="$home"/addon.d/"$addon" \\
158 checkout -f master
159 git \\
160 --git-dir ~git-data/burette/"$addon".git \\
161 --work-tree="$home"/addon.d/"$addon" \\
162 clean -d -f -f -x
163 #sv restart "$sv"
164 ;;
165 esac
166 EOF
167 done
168
169 exit 42