Show More
@@ -3,7 +3,7 b' python:' | |||||
3 | - "2.6" |
|
3 | - "2.6" | |
4 | - "2.7" |
|
4 | - "2.7" | |
5 |
|
5 | |||
6 |
env: |
|
6 | env: | |
7 | - TEST_DB=sqlite:////tmp/kallithea_test.sqlite |
|
7 | - TEST_DB=sqlite:////tmp/kallithea_test.sqlite | |
8 | - TEST_DB=mysql://root@127.0.0.1/kallithea_test |
|
8 | - TEST_DB=mysql://root@127.0.0.1/kallithea_test | |
9 | - TEST_DB=postgresql://postgres@127.0.0.1/kallithea_test |
|
9 | - TEST_DB=postgresql://postgres@127.0.0.1/kallithea_test |
@@ -3,153 +3,153 b'' | |||||
3 | REM Command file for Sphinx documentation |
|
3 | REM Command file for Sphinx documentation | |
4 |
|
4 | |||
5 | if "%SPHINXBUILD%" == "" ( |
|
5 | if "%SPHINXBUILD%" == "" ( | |
6 |
|
|
6 | set SPHINXBUILD=sphinx-build | |
7 | ) |
|
7 | ) | |
8 | set BUILDDIR=_build |
|
8 | set BUILDDIR=_build | |
9 | set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% . |
|
9 | set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% . | |
10 | if NOT "%PAPER%" == "" ( |
|
10 | if NOT "%PAPER%" == "" ( | |
11 |
|
|
11 | set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS% | |
12 | ) |
|
12 | ) | |
13 |
|
13 | |||
14 | if "%1" == "" goto help |
|
14 | if "%1" == "" goto help | |
15 |
|
15 | |||
16 | if "%1" == "help" ( |
|
16 | if "%1" == "help" ( | |
17 |
|
|
17 | :help | |
18 |
|
|
18 | echo.Please use `make ^<target^>` where ^<target^> is one of | |
19 |
|
|
19 | echo. html to make standalone HTML files | |
20 |
|
|
20 | echo. dirhtml to make HTML files named index.html in directories | |
21 |
|
|
21 | echo. singlehtml to make a single large HTML file | |
22 |
|
|
22 | echo. pickle to make pickle files | |
23 |
|
|
23 | echo. json to make JSON files | |
24 |
|
|
24 | echo. htmlhelp to make HTML files and a HTML help project | |
25 |
|
|
25 | echo. qthelp to make HTML files and a qthelp project | |
26 |
|
|
26 | echo. devhelp to make HTML files and a Devhelp project | |
27 |
|
|
27 | echo. epub to make an epub | |
28 |
|
|
28 | echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter | |
29 |
|
|
29 | echo. text to make text files | |
30 |
|
|
30 | echo. man to make manual pages | |
31 |
|
|
31 | echo. changes to make an overview over all changed/added/deprecated items | |
32 |
|
|
32 | echo. linkcheck to check all external links for integrity | |
33 |
|
|
33 | echo. doctest to run all doctests embedded in the documentation if enabled | |
34 |
|
|
34 | goto end | |
35 | ) |
|
35 | ) | |
36 |
|
36 | |||
37 | if "%1" == "clean" ( |
|
37 | if "%1" == "clean" ( | |
38 |
|
|
38 | for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i | |
39 |
|
|
39 | del /q /s %BUILDDIR%\* | |
40 |
|
|
40 | goto end | |
41 | ) |
|
41 | ) | |
42 |
|
42 | |||
43 | if "%1" == "html" ( |
|
43 | if "%1" == "html" ( | |
44 |
|
|
44 | %SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html | |
45 |
|
|
45 | echo. | |
46 |
|
|
46 | echo.Build finished. The HTML pages are in %BUILDDIR%/html. | |
47 |
|
|
47 | goto end | |
48 | ) |
|
48 | ) | |
49 |
|
49 | |||
50 | if "%1" == "dirhtml" ( |
|
50 | if "%1" == "dirhtml" ( | |
51 |
|
|
51 | %SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml | |
52 |
|
|
52 | echo. | |
53 |
|
|
53 | echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml. | |
54 |
|
|
54 | goto end | |
55 | ) |
|
55 | ) | |
56 |
|
56 | |||
57 | if "%1" == "singlehtml" ( |
|
57 | if "%1" == "singlehtml" ( | |
58 |
|
|
58 | %SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml | |
59 |
|
|
59 | echo. | |
60 |
|
|
60 | echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml. | |
61 |
|
|
61 | goto end | |
62 | ) |
|
62 | ) | |
63 |
|
63 | |||
64 | if "%1" == "pickle" ( |
|
64 | if "%1" == "pickle" ( | |
65 |
|
|
65 | %SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle | |
66 |
|
|
66 | echo. | |
67 |
|
|
67 | echo.Build finished; now you can process the pickle files. | |
68 |
|
|
68 | goto end | |
69 | ) |
|
69 | ) | |
70 |
|
70 | |||
71 | if "%1" == "json" ( |
|
71 | if "%1" == "json" ( | |
72 |
|
|
72 | %SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json | |
73 |
|
|
73 | echo. | |
74 |
|
|
74 | echo.Build finished; now you can process the JSON files. | |
75 |
|
|
75 | goto end | |
76 | ) |
|
76 | ) | |
77 |
|
77 | |||
78 | if "%1" == "htmlhelp" ( |
|
78 | if "%1" == "htmlhelp" ( | |
79 |
|
|
79 | %SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp | |
80 |
|
|
80 | echo. | |
81 |
|
|
81 | echo.Build finished; now you can run HTML Help Workshop with the ^ | |
82 | .hhp project file in %BUILDDIR%/htmlhelp. |
|
82 | .hhp project file in %BUILDDIR%/htmlhelp. | |
83 |
|
|
83 | goto end | |
84 | ) |
|
84 | ) | |
85 |
|
85 | |||
86 | if "%1" == "qthelp" ( |
|
86 | if "%1" == "qthelp" ( | |
87 |
|
|
87 | %SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp | |
88 |
|
|
88 | echo. | |
89 |
|
|
89 | echo.Build finished; now you can run "qcollectiongenerator" with the ^ | |
90 | .qhcp project file in %BUILDDIR%/qthelp, like this: |
|
90 | .qhcp project file in %BUILDDIR%/qthelp, like this: | |
91 |
|
|
91 | echo.^> qcollectiongenerator %BUILDDIR%\qthelp\Kallithea.qhcp | |
92 |
|
|
92 | echo.To view the help file: | |
93 |
|
|
93 | echo.^> assistant -collectionFile %BUILDDIR%\qthelp\Kallithea.ghc | |
94 |
|
|
94 | goto end | |
95 | ) |
|
95 | ) | |
96 |
|
96 | |||
97 | if "%1" == "devhelp" ( |
|
97 | if "%1" == "devhelp" ( | |
98 |
|
|
98 | %SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp | |
99 |
|
|
99 | echo. | |
100 |
|
|
100 | echo.Build finished. | |
101 |
|
|
101 | goto end | |
102 | ) |
|
102 | ) | |
103 |
|
103 | |||
104 | if "%1" == "epub" ( |
|
104 | if "%1" == "epub" ( | |
105 |
|
|
105 | %SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub | |
106 |
|
|
106 | echo. | |
107 |
|
|
107 | echo.Build finished. The epub file is in %BUILDDIR%/epub. | |
108 |
|
|
108 | goto end | |
109 | ) |
|
109 | ) | |
110 |
|
110 | |||
111 | if "%1" == "latex" ( |
|
111 | if "%1" == "latex" ( | |
112 |
|
|
112 | %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex | |
113 |
|
|
113 | echo. | |
114 |
|
|
114 | echo.Build finished; the LaTeX files are in %BUILDDIR%/latex. | |
115 |
|
|
115 | goto end | |
116 | ) |
|
116 | ) | |
117 |
|
117 | |||
118 | if "%1" == "text" ( |
|
118 | if "%1" == "text" ( | |
119 |
|
|
119 | %SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text | |
120 |
|
|
120 | echo. | |
121 |
|
|
121 | echo.Build finished. The text files are in %BUILDDIR%/text. | |
122 |
|
|
122 | goto end | |
123 | ) |
|
123 | ) | |
124 |
|
124 | |||
125 | if "%1" == "man" ( |
|
125 | if "%1" == "man" ( | |
126 |
|
|
126 | %SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man | |
127 |
|
|
127 | echo. | |
128 |
|
|
128 | echo.Build finished. The manual pages are in %BUILDDIR%/man. | |
129 |
|
|
129 | goto end | |
130 | ) |
|
130 | ) | |
131 |
|
131 | |||
132 | if "%1" == "changes" ( |
|
132 | if "%1" == "changes" ( | |
133 |
|
|
133 | %SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes | |
134 |
|
|
134 | echo. | |
135 |
|
|
135 | echo.The overview file is in %BUILDDIR%/changes. | |
136 |
|
|
136 | goto end | |
137 | ) |
|
137 | ) | |
138 |
|
138 | |||
139 | if "%1" == "linkcheck" ( |
|
139 | if "%1" == "linkcheck" ( | |
140 |
|
|
140 | %SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck | |
141 |
|
|
141 | echo. | |
142 |
|
|
142 | echo.Link check complete; look for any errors in the above output ^ | |
143 | or in %BUILDDIR%/linkcheck/output.txt. |
|
143 | or in %BUILDDIR%/linkcheck/output.txt. | |
144 |
|
|
144 | goto end | |
145 | ) |
|
145 | ) | |
146 |
|
146 | |||
147 | if "%1" == "doctest" ( |
|
147 | if "%1" == "doctest" ( | |
148 |
|
|
148 | %SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest | |
149 |
|
|
149 | echo. | |
150 |
|
|
150 | echo.Testing of doctests in the sources finished, look at the ^ | |
151 | results in %BUILDDIR%/doctest/output.txt. |
|
151 | results in %BUILDDIR%/doctest/output.txt. | |
152 |
|
|
152 | goto end | |
153 | ) |
|
153 | ) | |
154 |
|
154 | |||
155 | :end |
|
155 | :end |
@@ -2,11 +2,11 b'' | |||||
2 | * Sphinx stylesheet -- default theme |
|
2 | * Sphinx stylesheet -- default theme | |
3 | * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
3 | * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
4 | */ |
|
4 | */ | |
5 |
|
5 | |||
6 | @import url("basic.css"); |
|
6 | @import url("basic.css"); | |
7 |
|
7 | |||
8 | /* -- page layout ----------------------------------------------------------- */ |
|
8 | /* -- page layout ----------------------------------------------------------- */ | |
9 |
|
9 | |||
10 | body { |
|
10 | body { | |
11 | font-family: Arial, sans-serif; |
|
11 | font-family: Arial, sans-serif; | |
12 | font-size: 100%; |
|
12 | font-size: 100%; | |
@@ -28,18 +28,18 b' div.bodywrapper {' | |||||
28 | hr{ |
|
28 | hr{ | |
29 | border: 1px solid #B1B4B6; |
|
29 | border: 1px solid #B1B4B6; | |
30 | } |
|
30 | } | |
31 |
|
31 | |||
32 | div.document { |
|
32 | div.document { | |
33 | background-color: #eee; |
|
33 | background-color: #eee; | |
34 | } |
|
34 | } | |
35 |
|
35 | |||
36 | div.body { |
|
36 | div.body { | |
37 | background-color: #ffffff; |
|
37 | background-color: #ffffff; | |
38 | color: #3E4349; |
|
38 | color: #3E4349; | |
39 | padding: 0 30px 30px 30px; |
|
39 | padding: 0 30px 30px 30px; | |
40 | font-size: 0.8em; |
|
40 | font-size: 0.8em; | |
41 | } |
|
41 | } | |
42 |
|
42 | |||
43 | div.footer { |
|
43 | div.footer { | |
44 | color: #555; |
|
44 | color: #555; | |
45 | width: 100%; |
|
45 | width: 100%; | |
@@ -47,12 +47,12 b' div.footer {' | |||||
47 | text-align: center; |
|
47 | text-align: center; | |
48 | font-size: 75%; |
|
48 | font-size: 75%; | |
49 | } |
|
49 | } | |
50 |
|
50 | |||
51 | div.footer a { |
|
51 | div.footer a { | |
52 | color: #444; |
|
52 | color: #444; | |
53 | text-decoration: underline; |
|
53 | text-decoration: underline; | |
54 | } |
|
54 | } | |
55 |
|
55 | |||
56 | div.related { |
|
56 | div.related { | |
57 | background-color: #577632; |
|
57 | background-color: #577632; | |
58 | line-height: 32px; |
|
58 | line-height: 32px; | |
@@ -60,11 +60,11 b' div.related {' | |||||
60 | text-shadow: 0px 1px 0 #444; |
|
60 | text-shadow: 0px 1px 0 #444; | |
61 | font-size: 0.80em; |
|
61 | font-size: 0.80em; | |
62 | } |
|
62 | } | |
63 |
|
63 | |||
64 | div.related a { |
|
64 | div.related a { | |
65 | color: #E2F3CC; |
|
65 | color: #E2F3CC; | |
66 | } |
|
66 | } | |
67 |
|
67 | |||
68 | div.sphinxsidebar { |
|
68 | div.sphinxsidebar { | |
69 | font-size: 0.75em; |
|
69 | font-size: 0.75em; | |
70 | line-height: 1.5em; |
|
70 | line-height: 1.5em; | |
@@ -73,7 +73,7 b' div.sphinxsidebar {' | |||||
73 | div.sphinxsidebarwrapper{ |
|
73 | div.sphinxsidebarwrapper{ | |
74 | padding: 20px 0; |
|
74 | padding: 20px 0; | |
75 | } |
|
75 | } | |
76 |
|
76 | |||
77 | div.sphinxsidebar h3, |
|
77 | div.sphinxsidebar h3, | |
78 | div.sphinxsidebar h4 { |
|
78 | div.sphinxsidebar h4 { | |
79 | font-family: Arial, sans-serif; |
|
79 | font-family: Arial, sans-serif; | |
@@ -89,30 +89,29 b' div.sphinxsidebar h4 {' | |||||
89 | div.sphinxsidebar h4{ |
|
89 | div.sphinxsidebar h4{ | |
90 | font-size: 1.1em; |
|
90 | font-size: 1.1em; | |
91 | } |
|
91 | } | |
92 |
|
92 | |||
93 | div.sphinxsidebar h3 a { |
|
93 | div.sphinxsidebar h3 a { | |
94 | color: #444; |
|
94 | color: #444; | |
95 | } |
|
95 | } | |
96 |
|
96 | |||
97 |
|
||||
98 | div.sphinxsidebar p { |
|
97 | div.sphinxsidebar p { | |
99 | color: #888; |
|
98 | color: #888; | |
100 | padding: 5px 20px; |
|
99 | padding: 5px 20px; | |
101 | } |
|
100 | } | |
102 |
|
101 | |||
103 | div.sphinxsidebar p.topless { |
|
102 | div.sphinxsidebar p.topless { | |
104 | } |
|
103 | } | |
105 |
|
104 | |||
106 | div.sphinxsidebar ul { |
|
105 | div.sphinxsidebar ul { | |
107 | margin: 10px 20px; |
|
106 | margin: 10px 20px; | |
108 | padding: 0; |
|
107 | padding: 0; | |
109 | color: #000; |
|
108 | color: #000; | |
110 | } |
|
109 | } | |
111 |
|
110 | |||
112 | div.sphinxsidebar a { |
|
111 | div.sphinxsidebar a { | |
113 | color: #444; |
|
112 | color: #444; | |
114 | } |
|
113 | } | |
115 |
|
114 | |||
116 | div.sphinxsidebar input { |
|
115 | div.sphinxsidebar input { | |
117 | border: 1px solid #ccc; |
|
116 | border: 1px solid #ccc; | |
118 | font-family: sans-serif; |
|
117 | font-family: sans-serif; | |
@@ -126,19 +125,19 b' div.sphinxsidebar input[type=text]{' | |||||
126 | div.sphinxsidebar input[type=image] { |
|
125 | div.sphinxsidebar input[type=image] { | |
127 | border: 0; |
|
126 | border: 0; | |
128 | } |
|
127 | } | |
129 |
|
128 | |||
130 | /* -- body styles ----------------------------------------------------------- */ |
|
129 | /* -- body styles ----------------------------------------------------------- */ | |
131 |
|
130 | |||
132 | a { |
|
131 | a { | |
133 | color: #005B81; |
|
132 | color: #005B81; | |
134 | text-decoration: none; |
|
133 | text-decoration: none; | |
135 | } |
|
134 | } | |
136 |
|
135 | |||
137 | a:hover { |
|
136 | a:hover { | |
138 | color: #E32E00; |
|
137 | color: #E32E00; | |
139 | text-decoration: underline; |
|
138 | text-decoration: underline; | |
140 | } |
|
139 | } | |
141 |
|
140 | |||
142 | div.body h1, |
|
141 | div.body h1, | |
143 | div.body h2, |
|
142 | div.body h2, | |
144 | div.body h3, |
|
143 | div.body h3, | |
@@ -153,30 +152,30 b' div.body h6 {' | |||||
153 | padding: 5px 0 5px 10px; |
|
152 | padding: 5px 0 5px 10px; | |
154 | text-shadow: 0px 1px 0 white |
|
153 | text-shadow: 0px 1px 0 white | |
155 | } |
|
154 | } | |
156 |
|
155 | |||
157 | div.body h1 { border-top: 20px solid white; margin-top: 0; font-size: 200%; } |
|
156 | div.body h1 { border-top: 20px solid white; margin-top: 0; font-size: 200%; } | |
158 | div.body h2 { font-size: 150%; background-color: #C8D5E3; } |
|
157 | div.body h2 { font-size: 150%; background-color: #C8D5E3; } | |
159 | div.body h3 { font-size: 120%; background-color: #D8DEE3; } |
|
158 | div.body h3 { font-size: 120%; background-color: #D8DEE3; } | |
160 | div.body h4 { font-size: 110%; background-color: #D8DEE3; } |
|
159 | div.body h4 { font-size: 110%; background-color: #D8DEE3; } | |
161 | div.body h5 { font-size: 100%; background-color: #D8DEE3; } |
|
160 | div.body h5 { font-size: 100%; background-color: #D8DEE3; } | |
162 | div.body h6 { font-size: 100%; background-color: #D8DEE3; } |
|
161 | div.body h6 { font-size: 100%; background-color: #D8DEE3; } | |
163 |
|
162 | |||
164 | a.headerlink { |
|
163 | a.headerlink { | |
165 | color: #c60f0f; |
|
164 | color: #c60f0f; | |
166 | font-size: 0.8em; |
|
165 | font-size: 0.8em; | |
167 | padding: 0 4px 0 4px; |
|
166 | padding: 0 4px 0 4px; | |
168 | text-decoration: none; |
|
167 | text-decoration: none; | |
169 | } |
|
168 | } | |
170 |
|
169 | |||
171 | a.headerlink:hover { |
|
170 | a.headerlink:hover { | |
172 | background-color: #c60f0f; |
|
171 | background-color: #c60f0f; | |
173 | color: white; |
|
172 | color: white; | |
174 | } |
|
173 | } | |
175 |
|
174 | |||
176 | div.body p, div.body dd, div.body li { |
|
175 | div.body p, div.body dd, div.body li { | |
177 | line-height: 1.5em; |
|
176 | line-height: 1.5em; | |
178 | } |
|
177 | } | |
179 |
|
178 | |||
180 | div.admonition p.admonition-title + p { |
|
179 | div.admonition p.admonition-title + p { | |
181 | display: inline; |
|
180 | display: inline; | |
182 | } |
|
181 | } | |
@@ -189,29 +188,29 b' div.note {' | |||||
189 | background-color: #eee; |
|
188 | background-color: #eee; | |
190 | border: 1px solid #ccc; |
|
189 | border: 1px solid #ccc; | |
191 | } |
|
190 | } | |
192 |
|
191 | |||
193 | div.seealso { |
|
192 | div.seealso { | |
194 | background-color: #ffc; |
|
193 | background-color: #ffc; | |
195 | border: 1px solid #ff6; |
|
194 | border: 1px solid #ff6; | |
196 | } |
|
195 | } | |
197 |
|
196 | |||
198 | div.topic { |
|
197 | div.topic { | |
199 | background-color: #eee; |
|
198 | background-color: #eee; | |
200 | } |
|
199 | } | |
201 |
|
200 | |||
202 | div.warning { |
|
201 | div.warning { | |
203 | background-color: #ffe4e4; |
|
202 | background-color: #ffe4e4; | |
204 | border: 1px solid #f66; |
|
203 | border: 1px solid #f66; | |
205 | } |
|
204 | } | |
206 |
|
205 | |||
207 | p.admonition-title { |
|
206 | p.admonition-title { | |
208 | display: inline; |
|
207 | display: inline; | |
209 | } |
|
208 | } | |
210 |
|
209 | |||
211 | p.admonition-title:after { |
|
210 | p.admonition-title:after { | |
212 | content: ":"; |
|
211 | content: ":"; | |
213 | } |
|
212 | } | |
214 |
|
213 | |||
215 | pre { |
|
214 | pre { | |
216 | padding: 10px; |
|
215 | padding: 10px; | |
217 | background-color: White; |
|
216 | background-color: White; | |
@@ -222,7 +221,7 b' pre {' | |||||
222 | margin: 1.5em 0 1.5em 0; |
|
221 | margin: 1.5em 0 1.5em 0; | |
223 | box-shadow: 1px 1px 1px #d8d8d8; |
|
222 | box-shadow: 1px 1px 1px #d8d8d8; | |
224 | } |
|
223 | } | |
225 |
|
224 | |||
226 | tt { |
|
225 | tt { | |
227 | background-color: #ecf0f3; |
|
226 | background-color: #ecf0f3; | |
228 | color: #222; |
|
227 | color: #222; |
@@ -2,8 +2,8 b'' | |||||
2 | # Change variables/paths as necessary and place file /etc/init/celeryd.conf |
|
2 | # Change variables/paths as necessary and place file /etc/init/celeryd.conf | |
3 | # start/stop/restart as normal upstart job (ie: $ start celeryd) |
|
3 | # start/stop/restart as normal upstart job (ie: $ start celeryd) | |
4 |
|
4 | |||
5 |
description |
|
5 | description "Celery for Kallithea Mercurial Server" | |
6 |
author |
|
6 | author "Matt Zuba <matt.zuba@goodwillaz.org" | |
7 |
|
7 | |||
8 | start on starting kallithea |
|
8 | start on starting kallithea | |
9 | stop on stopped kallithea |
|
9 | stop on stopped kallithea |
@@ -47,7 +47,7 b' start)' | |||||
47 | ;; |
|
47 | ;; | |
48 | stop) |
|
48 | stop) | |
49 | stat_busy "Stopping $DAEMON" |
|
49 | stat_busy "Stopping $DAEMON" | |
50 |
[ -n "$PID" ] && kill $PID &>/dev/null |
|
50 | [ -n "$PID" ] && kill $PID &>/dev/null | |
51 | if [ $? = 0 ]; then |
|
51 | if [ $? = 0 ]; then | |
52 | rm_daemon $DAEMON |
|
52 | rm_daemon $DAEMON | |
53 | stat_done |
|
53 | stat_done | |
@@ -67,4 +67,4 b' status)' | |||||
67 | ;; |
|
67 | ;; | |
68 | *) |
|
68 | *) | |
69 | echo "usage: $0 {start|stop|restart|status}" |
|
69 | echo "usage: $0 {start|stop|restart|status}" | |
70 | esac No newline at end of file |
|
70 | esac |
@@ -2,9 +2,9 b'' | |||||
2 | ######################################## |
|
2 | ######################################## | |
3 | #### THIS IS A DEBIAN INIT.D SCRIPT #### |
|
3 | #### THIS IS A DEBIAN INIT.D SCRIPT #### | |
4 | ######################################## |
|
4 | ######################################## | |
5 |
|
5 | |||
6 | ### BEGIN INIT INFO |
|
6 | ### BEGIN INIT INFO | |
7 |
# Provides: kallithea |
|
7 | # Provides: kallithea | |
8 | # Required-Start: $all |
|
8 | # Required-Start: $all | |
9 | # Required-Stop: $all |
|
9 | # Required-Stop: $all | |
10 | # Default-Start: 2 3 4 5 |
|
10 | # Default-Start: 2 3 4 5 | |
@@ -12,29 +12,29 b'' | |||||
12 | # Short-Description: starts instance of kallithea |
|
12 | # Short-Description: starts instance of kallithea | |
13 | # Description: starts instance of kallithea using start-stop-daemon |
|
13 | # Description: starts instance of kallithea using start-stop-daemon | |
14 | ### END INIT INFO |
|
14 | ### END INIT INFO | |
15 |
|
15 | |||
16 | APP_NAME="kallithea" |
|
16 | APP_NAME="kallithea" | |
17 | APP_HOMEDIR="opt" |
|
17 | APP_HOMEDIR="opt" | |
18 | APP_PATH="/$APP_HOMEDIR/$APP_NAME" |
|
18 | APP_PATH="/$APP_HOMEDIR/$APP_NAME" | |
19 |
|
19 | |||
20 | CONF_NAME="production.ini" |
|
20 | CONF_NAME="production.ini" | |
21 |
|
21 | |||
22 | PID_PATH="$APP_PATH/$APP_NAME.pid" |
|
22 | PID_PATH="$APP_PATH/$APP_NAME.pid" | |
23 | LOG_PATH="$APP_PATH/$APP_NAME.log" |
|
23 | LOG_PATH="$APP_PATH/$APP_NAME.log" | |
24 |
|
24 | |||
25 | PYTHON_PATH="/$APP_HOMEDIR/$APP_NAME-venv" |
|
25 | PYTHON_PATH="/$APP_HOMEDIR/$APP_NAME-venv" | |
26 |
|
26 | |||
27 | RUN_AS="root" |
|
27 | RUN_AS="root" | |
28 |
|
28 | |||
29 | DAEMON="$PYTHON_PATH/bin/paster" |
|
29 | DAEMON="$PYTHON_PATH/bin/paster" | |
30 |
|
30 | |||
31 | DAEMON_OPTS="serve --daemon \ |
|
31 | DAEMON_OPTS="serve --daemon \ | |
32 | --user=$RUN_AS \ |
|
32 | --user=$RUN_AS \ | |
33 | --group=$RUN_AS \ |
|
33 | --group=$RUN_AS \ | |
34 | --pid-file=$PID_PATH \ |
|
34 | --pid-file=$PID_PATH \ | |
35 | --log-file=$LOG_PATH $APP_PATH/$CONF_NAME" |
|
35 | --log-file=$LOG_PATH $APP_PATH/$CONF_NAME" | |
36 |
|
36 | |||
37 |
|
37 | |||
38 | start() { |
|
38 | start() { | |
39 | echo "Starting $APP_NAME" |
|
39 | echo "Starting $APP_NAME" | |
40 | PYTHON_EGG_CACHE="/tmp" start-stop-daemon -d $APP_PATH \ |
|
40 | PYTHON_EGG_CACHE="/tmp" start-stop-daemon -d $APP_PATH \ | |
@@ -43,18 +43,18 b' start() {' | |||||
43 | --user $RUN_AS \ |
|
43 | --user $RUN_AS \ | |
44 | --exec $DAEMON -- $DAEMON_OPTS |
|
44 | --exec $DAEMON -- $DAEMON_OPTS | |
45 | } |
|
45 | } | |
46 |
|
46 | |||
47 | stop() { |
|
47 | stop() { | |
48 | echo "Stopping $APP_NAME" |
|
48 | echo "Stopping $APP_NAME" | |
49 | start-stop-daemon -d $APP_PATH \ |
|
49 | start-stop-daemon -d $APP_PATH \ | |
50 | --stop --quiet \ |
|
50 | --stop --quiet \ | |
51 | --pidfile $PID_PATH || echo "$APP_NAME - Not running!" |
|
51 | --pidfile $PID_PATH || echo "$APP_NAME - Not running!" | |
52 |
|
52 | |||
53 | if [ -f $PID_PATH ]; then |
|
53 | if [ -f $PID_PATH ]; then | |
54 | rm $PID_PATH |
|
54 | rm $PID_PATH | |
55 | fi |
|
55 | fi | |
56 | } |
|
56 | } | |
57 |
|
57 | |||
58 | status() { |
|
58 | status() { | |
59 | echo -n "Checking status of $APP_NAME ... " |
|
59 | echo -n "Checking status of $APP_NAME ... " | |
60 | pid=`cat $PID_PATH` |
|
60 | pid=`cat $PID_PATH` | |
@@ -65,7 +65,7 b' status() {' | |||||
65 | echo "NOT running" |
|
65 | echo "NOT running" | |
66 | fi |
|
66 | fi | |
67 | } |
|
67 | } | |
68 |
|
68 | |||
69 | case "$1" in |
|
69 | case "$1" in | |
70 | status) |
|
70 | status) | |
71 | status |
|
71 | status | |
@@ -87,4 +87,4 b' case "$1" in' | |||||
87 | *) |
|
87 | *) | |
88 | echo "Usage: $0 {start|stop|restart}" |
|
88 | echo "Usage: $0 {start|stop|restart}" | |
89 | exit 1 |
|
89 | exit 1 | |
90 | esac No newline at end of file |
|
90 | esac |
@@ -56,6 +56,6 b' restartdelay() {' | |||||
56 | #stop() |
|
56 | #stop() | |
57 | echo "sleep3" |
|
57 | echo "sleep3" | |
58 | sleep 3 |
|
58 | sleep 3 | |
59 |
|
59 | |||
60 | #start() |
|
60 | #start() | |
61 | } |
|
61 | } |
@@ -129,4 +129,4 b' case "$1" in' | |||||
129 | ;; |
|
129 | ;; | |
130 | esac |
|
130 | esac | |
131 |
|
131 | |||
132 | exit $RETVAL No newline at end of file |
|
132 | exit $RETVAL |
@@ -2,8 +2,8 b'' | |||||
2 | # Change variables/paths as necessary and place file /etc/init/kallithea.conf |
|
2 | # Change variables/paths as necessary and place file /etc/init/kallithea.conf | |
3 | # start/stop/restart as normal upstart job (ie: $ start kallithea) |
|
3 | # start/stop/restart as normal upstart job (ie: $ start kallithea) | |
4 |
|
4 | |||
5 |
description |
|
5 | description "Kallithea Mercurial Server" | |
6 |
author |
|
6 | author "Matt Zuba <matt.zuba@goodwillaz.org" | |
7 |
|
7 | |||
8 | start on (local-filesystems and runlevel [2345]) |
|
8 | start on (local-filesystems and runlevel [2345]) | |
9 | stop on runlevel [!2345] |
|
9 | stop on runlevel [!2345] | |
@@ -22,5 +22,5 b' env GROUP=hg' | |||||
22 | exec /var/hg/.virtualenvs/kallithea/bin/paster serve --user=$USER --group=$GROUP --pid-file=$PIDFILE --log-file=$LOGFILE $APPINI |
|
22 | exec /var/hg/.virtualenvs/kallithea/bin/paster serve --user=$USER --group=$GROUP --pid-file=$PIDFILE --log-file=$LOGFILE $APPINI | |
23 |
|
23 | |||
24 | post-stop script |
|
24 | post-stop script | |
25 |
|
|
25 | rm -f $PIDFILE | |
26 | end script |
|
26 | end script |
@@ -47,5 +47,5 b' numprocs_start = 5000 # possible should ' | |||||
47 | directory=/srv/kallithea |
|
47 | directory=/srv/kallithea | |
48 | command = /srv/kallithea/venv/bin/paster serve my.ini |
|
48 | command = /srv/kallithea/venv/bin/paster serve my.ini | |
49 | process_name = %(program_name)s_%(process_num)04d |
|
49 | process_name = %(program_name)s_%(process_num)04d | |
50 |
redirect_stderr=true |
|
50 | redirect_stderr=true | |
51 |
stdout_logfile=/%(here)s/kallithea.log |
|
51 | stdout_logfile=/%(here)s/kallithea.log |
@@ -8,4 +8,4 b' ldap_user = cn=kallithea,dc=example,dc=c' | |||||
8 | ldap_key = XXXXXXXXX |
|
8 | ldap_key = XXXXXXXXX | |
9 | base_dn = dc=example,dc=com |
|
9 | base_dn = dc=example,dc=com | |
10 |
|
10 | |||
11 | sync_users = True No newline at end of file |
|
11 | sync_users = True |
@@ -7,4 +7,3 b' username = Foo Bar foo.bar@example.com' | |||||
7 |
|
7 | |||
8 | [universal] |
|
8 | [universal] | |
9 | foo = bar |
|
9 | foo = bar | |
10 |
|
@@ -119,4 +119,3 b' install_kallithea "$temp/to" "$to_rev_ha' | |||||
119 | announce "Upgrade complete, now at the shown Alembic revision:" |
|
119 | announce "Upgrade complete, now at the shown Alembic revision:" | |
120 | alembic -c "$config_file" current -v |
|
120 | alembic -c "$config_file" current -v | |
121 | ) |
|
121 | ) | |
122 |
|
@@ -2,7 +2,7 b'' | |||||
2 |
|
2 | |||
3 | # Enforce some consistency in whitespace - just to avoid spurious whitespaces changes |
|
3 | # Enforce some consistency in whitespace - just to avoid spurious whitespaces changes | |
4 |
|
4 | |||
5 | files=`hg loc '*.py' '*.html' '*.css' '*.rst' '*.txt' '*.js' '*.ini' '*.cfg' CONTRIBUTORS LICENSE.md | egrep -v '/lockfiles.py|LICENSE-MERGELY.html|/codemirror/|/fontello/|(graph|mergely|native.history|select2/select2|yui.flot|yui.2.9|jquery.dataTables)\.js$|/email_templates/|/test_dump_html_mails.ref.html'` |
|
5 | files=`hg mani | egrep -v '/codemirror/|/fontello/|/email_templates/|(/lockfiles.py|^LICENSE-MERGELY.html|^docs/Makefile|^scripts/whitespacecleanup.sh|/(graph|mergely|native.history|select2/select2|yui.flot|yui.2.9|jquery.dataTables)\.js|/test_dump_html_mails.ref.html|\.png|\.gif|\.ico|\.pot|\.po|\.mo|\.tar\.gz|\.diff)$'` | |
6 |
|
6 | |||
7 | sed -i -e "s,`printf '\t'`, ,g" $files |
|
7 | sed -i -e "s,`printf '\t'`, ,g" $files | |
8 | sed -i -e "s, *$,,g" $files |
|
8 | sed -i -e "s, *$,,g" $files | |
@@ -17,7 +17,6 b" sed -i -e 's/^\\( [^: ]*\\) *: *\\([^/]\\" | |||||
17 | sed -i -e '1s|, |,|g' kallithea/public/css/{style,contextbar}.css |
|
17 | sed -i -e '1s|, |,|g' kallithea/public/css/{style,contextbar}.css | |
18 | sed -i -e 's/^\([^ ,/]\+ [^,]*[^ ,]\) *, *\(.\)/\1,\n\2/g' kallithea/public/css/{style,contextbar}.css |
|
18 | sed -i -e 's/^\([^ ,/]\+ [^,]*[^ ,]\) *, *\(.\)/\1,\n\2/g' kallithea/public/css/{style,contextbar}.css | |
19 | sed -i -e 's/^\([^ ,/].*\) */\1 /g' kallithea/public/css/{style,contextbar}.css |
|
19 | sed -i -e 's/^\([^ ,/].*\) */\1 /g' kallithea/public/css/{style,contextbar}.css | |
20 | sed -i -e 's,^--$,-- ,g' kallithea/templates/email_templates/main.txt |
|
|||
21 | sed -i -e 's,[ ][ ]*$,,g' -e 's, , ,g' kallithea/public/js/graph.js |
|
20 | sed -i -e 's,[ ][ ]*$,,g' -e 's, , ,g' kallithea/public/js/graph.js | |
22 |
|
21 | |||
23 | hg mani | xargs chmod -x |
|
22 | hg mani | xargs chmod -x |
1 | NO CONTENT: file was removed |
|
NO CONTENT: file was removed |
General Comments 0
You need to be logged in to leave comments.
Login now