Merge lp:~dobey/ubuntuone-client/py-only into lp:ubuntuone-client
- py-only
- Merge into trunk
Proposed by
dobey
Status: | Merged |
---|---|
Approved by: | dobey |
Approved revision: | 1403 |
Merged at revision: | 1397 |
Proposed branch: | lp:~dobey/ubuntuone-client/py-only |
Merge into: | lp:ubuntuone-client |
Diff against target: |
964 lines (+300/-529) 15 files modified
.bzrignore (+2/-73) Makefile.am (+0/-154) VERSION (+0/-1) autogen.sh (+0/-21) configure.ac (+0/-139) contrib/draw-fsm (+2/-1) data/Makefile.am (+0/-48) docs/Makefile.am (+0/-6) run-tests (+34/-9) run-tests.bat (+8/-3) setup.cfg (+2/-0) setup.py (+252/-0) ubuntuone/clientdefs.py.in (+0/-8) windows/clientdefs.py (+0/-53) windows/logging.conf (+0/-13) |
To merge this branch: | bzr merge lp:~dobey/ubuntuone-client/py-only |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Mike McCracken (community) | Approve | ||
Brian Curtin (community) | Approve | ||
Alejandro J. Cura (community) | Approve | ||
Review via email: mp+168105@code.launchpad.net |
Commit message
Convert build system from autotools to DistUtilsExtra
Description of the change
To post a comment you must log in.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file '.bzrignore' |
2 | --- .bzrignore 2011-02-09 19:54:46 +0000 |
3 | +++ .bzrignore 2013-06-07 17:44:24 +0000 |
4 | @@ -1,86 +1,15 @@ |
5 | -Makefile |
6 | -Makefile.in |
7 | -Makefile.in.in |
8 | POTFILES |
9 | -.deps |
10 | -.libs |
11 | -autom4te.cache |
12 | build |
13 | dist |
14 | -m4 |
15 | -tmp |
16 | _trial_temp |
17 | -aclocal.m4 |
18 | -config.guess |
19 | -config.h |
20 | -config.h.in |
21 | -config.log |
22 | -config.status |
23 | -config.sub |
24 | -configure |
25 | -depcomp |
26 | -install-sh |
27 | -intltool-* |
28 | -libtool |
29 | -ltmain.sh |
30 | -missing |
31 | -setup.py |
32 | -stamp-* |
33 | +*.egg-info |
34 | + |
35 | *.desktop |
36 | *.gmo |
37 | -*.icon |
38 | -*.la |
39 | -*.lo |
40 | -*.menu |
41 | *_pb2.py |
42 | *.pot |
43 | *.pyc |
44 | -*.rendercache |
45 | *.service |
46 | -.intltool-merge-cache |
47 | -gtk-doc.make |
48 | |
49 | -ubuntuone-client-*.tar.* |
50 | -hicolor |
51 | -icons |
52 | -storageprotocol |
53 | clientdefs.py |
54 | -docs/syncdaemon_dbus_api.txt |
55 | -docs/reference/html* |
56 | -docs/reference/libsyncdaemon-decl-list.txt |
57 | -docs/reference/libsyncdaemon-decl-list.txt.bak |
58 | -docs/reference/libsyncdaemon-decl.txt |
59 | -docs/reference/libsyncdaemon-decl.txt.bak |
60 | -docs/reference/libsyncdaemon-overrides.txt |
61 | -docs/reference/libsyncdaemon-sections.txt |
62 | -docs/reference/libsyncdaemon-undeclared.txt |
63 | -docs/reference/libsyncdaemon-undocumented.txt |
64 | -docs/reference/libsyncdaemon-unused.txt |
65 | -docs/reference/libsyncdaemon.args |
66 | -docs/reference/libsyncdaemon.hierarchy |
67 | -docs/reference/libsyncdaemon.interfaces |
68 | -docs/reference/libsyncdaemon.prerequisites |
69 | -docs/reference/libsyncdaemon.signals |
70 | -docs/reference/libsyncdaemon.types |
71 | -docs/reference/*.stamp |
72 | -docs/reference/tmpl |
73 | -docs/reference/xml* |
74 | logging.conf |
75 | -ubuntuone-marshallers.[ch] |
76 | - |
77 | -nautilus/test-contacts-picker |
78 | -nautilus/test-highlight |
79 | - |
80 | -libsyncdaemon/syncdaemon-marshal.[ch] |
81 | -libsyncdaemon/test-libsyncdaemon |
82 | -libsyncdaemon/test-libsyncdaemon-vapi |
83 | -libsyncdaemon/test-libsyncdaemon-vapi.c |
84 | -libsyncdaemon/libsyncdaemon-1.0.pc |
85 | -libsyncdaemon/Syncdaemon-1.0.gir |
86 | -libsyncdaemon/Syncdaemon-1.0.typelib |
87 | -libsyncdaemon/libsyncdaemon-1.0.deps |
88 | -libsyncdaemon/libsyncdaemon-1.0.vapi |
89 | -*_vala.stamp |
90 | - |
91 | -ubuntuone.gnome-settings-plugin |
92 | -test-gsd-ubuntuone |
93 | |
94 | === removed file 'Makefile.am' |
95 | --- Makefile.am 2013-06-05 20:09:11 +0000 |
96 | +++ Makefile.am 1970-01-01 00:00:00 +0000 |
97 | @@ -1,154 +0,0 @@ |
98 | -SUBDIRS = data po docs |
99 | - |
100 | -# Shut libtoolize up |
101 | -ACLOCAL_AMFLAGS = -I m4 |
102 | - |
103 | -# PYTHONPATH for local Python scripts |
104 | -PYTHONPATH="$(SSO_PATH):$(USP_PATH):$(top_builddir):$(top_srcdir)" |
105 | - |
106 | -# Python packages we want to install |
107 | -pythonpkgdir = $(pythondir)/$(PACKAGE) |
108 | -pypackages = \ |
109 | - ubuntuone \ |
110 | - $(shell SRCDIR="ubuntuone"; for i in `find $$SRCDIR -type d`; do DIRNAME=`basename $$i`; if [ "x$$DIRNAME" != "xtest" ]; then printf "$$i "; fi; done) |
111 | - |
112 | -# Install our scripts and extra data here |
113 | -bin_SCRIPTS = \ |
114 | - bin/ubuntuone-launch \ |
115 | - bin/u1sdtool |
116 | - |
117 | -libexec_SCRIPTS = \ |
118 | - bin/ubuntuone-syncdaemon \ |
119 | - bin/ubuntuone-proxy-tunnel \ |
120 | - bin/ubuntuone-login |
121 | - |
122 | -clientdefsdir = $(pythonpkgdir)/ubuntuone |
123 | -clientdefs_in_files = ubuntuone/clientdefs.py.in |
124 | -clientdefs_DATA = $(clientdefs_in_files:.py.in=.py) |
125 | - |
126 | -# Don't end up pulling in storage-protocol source as well |
127 | -pyfiles = $(shell SRCDIR="$(top_srcdir)/ubuntuone"; for i in `find $$SRCDIR -type f -name "*.py"`; do if [ ! -f $$i.in ]; then printf "$$i "; fi; done) |
128 | - |
129 | -$(clientdefs_DATA): $(clientdefs_in_files) ubuntuone |
130 | - sed -e 's|\@localedir\@|$(localedir)|g' \ |
131 | - -e 's|\@libexecdir\@|$(libexecdir)|g' \ |
132 | - -e 's|\@GETTEXT_PACKAGE\@|$(GETTEXT_PACKAGE)|g' \ |
133 | - -e 's|\@SSO_APP_NAME\@|$(SSO_APP_NAME)|g' \ |
134 | - -e 's|\@SSO_TC_URL\@|$(SSO_TC_URL)|g' \ |
135 | - -e 's|\@SSO_PING_URL\@|$(SSO_PING_URL)|g' \ |
136 | - -e 's|\@VERSION\@|$(VERSION)|g' < $< > $@ |
137 | - |
138 | -logging.conf: data/logging.conf.in Makefile |
139 | - $(MAKE) -C data logging.conf |
140 | - |
141 | -lint: $(clientdefs_DATA) Makefile |
142 | - PYTHONPATH="$(PYTHONPATH)" SRCDIR="$(srcdir)" USE_PYFLAKES="true" u1lint -i ubuntuone/platform/filesystem_notifications/pyinotify_agnostic.py |
143 | - |
144 | -test: logging.conf $(clientdefs_DATA) Makefile |
145 | - echo "$(PYTHONPATH)" |
146 | - if test "x$(builddir)" == "x$(srcdir)"; then \ |
147 | - PYTHONPATH="$(PYTHONPATH)" u1trial -r $(REACTOR) -p tests/platform/windows,tests/proxy -i "test_windows.py,test_darwin.py,test_fsevents_daemon.py" tests || exit 1; \ |
148 | - PYTHONPATH="$(PYTHONPATH)" u1trial -r qt4 -p tests/platform/windows -i "test_windows.py,test_darwin.py" tests/proxy || exit 1; \ |
149 | - PYTHONPATH="$(PYTHONPATH)" $(PYTHON) tests/platform/check_reactor_import.py || exit 1; \ |
150 | - fi |
151 | - rm -rf _trial_temp |
152 | - |
153 | -test-proxy: logging.conf $(clientdefs_DATA) Makefile |
154 | - if test "x$(builddir)" == "x$(srcdir)"; then \ |
155 | - PYTHONPATH="$(PYTHONPATH)" u1trial -r qt4 -p tests/platform/windows -i "test_windows.py,test_darwin.py" tests/proxy || exit 1; \ |
156 | - fi |
157 | - rm -rf _trial_temp |
158 | - |
159 | -test-coverage: logging.conf $(clientdefs_DATA) Makefile |
160 | - if test "x$(builddir)" == "x$(srcdir)"; then \ |
161 | - PYTHONPATH="$(PYTHONPATH)" u1trial -r $(REACTOR) -c -p tests/platform/windows -i "test_windows.py,test_darwin.py" tests; \ |
162 | - fi |
163 | - rm -rf _trial_temp |
164 | - |
165 | -check: lint test Makefile |
166 | - |
167 | -docs: $(clientdefs_DATA) Makefile |
168 | - $(mkdir_p) docs |
169 | - if test "x$(builddir)" != "x$(srcdir)" -a -f "$(srcdir)/docs/syncdaemon_dbus_api.txt"; then \ |
170 | - $(LN_S) "$(top_srcdir)/docs/syncdaemon_dbus_api.txt" "docs/syncdaemon_dbus_api.txt"; \ |
171 | - else \ |
172 | - PYTHONPATH="$(PYTHONPATH)" SRCDIR="$(srcdir)" $(PYTHON) $(srcdir)/contrib/dbus-docs; \ |
173 | - fi |
174 | - |
175 | -ubuntuone: Makefile |
176 | - if test "x$(builddir)" != "x$(srcdir)"; then \ |
177 | - $(mkdir_p) ubuntuone; \ |
178 | - $(mkdir_p) tests; \ |
179 | - (cd ubuntuone && $(LNDIR) $(srcdir)/../ubuntuone > /dev/null); \ |
180 | - (cd tests && $(LNDIR) $(srcdir)/../tests > /dev/null); \ |
181 | - fi |
182 | - |
183 | -all-local: logging.conf $(clientdefs_DATA) |
184 | - |
185 | -sd_path = ubuntuone/syncdaemon |
186 | - |
187 | -u1fsfsm: $(srcdir)/ubuntuone/syncdaemon/u1fsfsm.ods |
188 | - PYTHONPATH=$(PYTHONPATH) \ |
189 | - HAS_OOFFICE="true" \ |
190 | - XDG_CACHE_HOME="$(builddir)/_trial_temp/xdg_cache" \ |
191 | - $(PYTHON) -t $(srcdir)/$(sd_path)/fsm/fsm_parser.py \ |
192 | - -o $(builddir)/$(sd_path)/u1fsfsm.py $< |
193 | - PYTHONPATH=$(PYTHONPATH) \ |
194 | - HAS_OOFFICE="true" \ |
195 | - XDG_CACHE_HOME="$(builddir)/_trial_temp/xdg_cache" \ |
196 | - $(PYTHON) -t $(srcdir)/$(sd_path)/fsm/fsm.py \ |
197 | - $(srcdir)/$(sd_path)/u1fsfsm.py |
198 | - |
199 | -install-data-local: $(clientdefs_DATA) |
200 | - for package in $(pypackages); do \ |
201 | - $(mkdir_p) $(DESTDIR)$(pythonpkgdir)/$$package; \ |
202 | - for module in $(top_srcdir)/$$package/*.py; do \ |
203 | - $(install_sh_DATA) $$module $(DESTDIR)$(pythonpkgdir)/$$package; \ |
204 | - done; \ |
205 | - done |
206 | - echo "$(PACKAGE)" > $(DESTDIR)$(pythondir)/$(PACKAGE).pth |
207 | - |
208 | -uninstall-local: |
209 | - for package in $(pypackages); do \ |
210 | - for module in $(top_srcdir)/$$package/*.py; do \ |
211 | - modname=`basename $$module`; \ |
212 | - rm -f $(DESTDIR)$(pythonpkgdir)/$$package/$$modname; \ |
213 | - done; \ |
214 | - rmdir -p --ignore-fail-on-non-empty $(DESTDIR)$(pythonpkgdir)/$$package; \ |
215 | - done |
216 | - rm -f $(DESTDIR)$(pythondir)/$(PACKAGE).pth |
217 | - |
218 | -clean-local: |
219 | - for i in `find $(builddir) -name "*.pyc"`; do \ |
220 | - rm -f $$i; \ |
221 | - done |
222 | - rm -rf build dist _trial_temp |
223 | - |
224 | -EXTRA_DIST = \ |
225 | - $(srcdir)/ubuntuone/syncdaemon/u1fsfsm.ods \ |
226 | - $(pyfiles) \ |
227 | - $(clientdefs_in_files) \ |
228 | - LICENSE \ |
229 | - LICENSE.OpenSSL \ |
230 | - HACKING \ |
231 | - VERSION \ |
232 | - bin \ |
233 | - contrib \ |
234 | - tests |
235 | - |
236 | -CLEANFILES = \ |
237 | - $(clientdefs_DATA) |
238 | - |
239 | -MAINTAINERCLEANFILES = \ |
240 | - Makefile.in \ |
241 | - aclocal.m4 \ |
242 | - config.guess \ |
243 | - config.h.in \ |
244 | - config.sub \ |
245 | - configure \ |
246 | - depcomp \ |
247 | - install-sh \ |
248 | - libtool \ |
249 | - ltmain.sh \ |
250 | - missing \ |
251 | - mkinstalldirs |
252 | |
253 | === removed file 'VERSION' |
254 | --- VERSION 2013-05-28 21:50:41 +0000 |
255 | +++ VERSION 1970-01-01 00:00:00 +0000 |
256 | @@ -1,1 +0,0 @@ |
257 | -99.12 |
258 | |
259 | === removed file 'autogen.sh' |
260 | --- autogen.sh 2013-06-05 20:09:11 +0000 |
261 | +++ autogen.sh 1970-01-01 00:00:00 +0000 |
262 | @@ -1,21 +0,0 @@ |
263 | -#!/bin/sh |
264 | -# Run this to generate all the initial makefiles, etc. |
265 | - |
266 | -srcdir=`dirname $0` |
267 | -test -z "$srcdir" && srcdir=. |
268 | - |
269 | -PKG_NAME="ubuntuone-client" |
270 | -REQUIRED_AUTOMAKE_VERSION="1.10" |
271 | - |
272 | -(test -f $srcdir/configure.ac) || { |
273 | - echo -n "**Error**: Directory "\`$srcdir\'" does not look like the" |
274 | - echo " top-level $PKG_NAME directory" |
275 | - exit 1 |
276 | -} |
277 | - |
278 | -which gnome-autogen.sh || { |
279 | - echo "You need to install gnome-common from the GNOME source repository" |
280 | - exit 1 |
281 | -} |
282 | -mkdir -p "$srcdir/m4" |
283 | -USE_GNOME2_MACROS=1 . gnome-autogen.sh |
284 | |
285 | === removed file 'configure.ac' |
286 | --- configure.ac 2013-06-05 20:09:11 +0000 |
287 | +++ configure.ac 1970-01-01 00:00:00 +0000 |
288 | @@ -1,139 +0,0 @@ |
289 | -dnl Process this file with autoconf to produce a configure script. |
290 | -AC_PREREQ(2.53) |
291 | - |
292 | -# We need to omit the trailing newline when catting the VERSION file |
293 | -AC_INIT([ubuntuone-client], m4_esyscmd([cat VERSION | tr -d '\012'])) |
294 | -AC_CONFIG_SRCDIR([VERSION]) |
295 | - |
296 | -AM_INIT_AUTOMAKE([1.10 foreign tar-ustar]) |
297 | - |
298 | -m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])]) |
299 | - |
300 | -# Workaround to make aclocal get the right flags |
301 | -AC_CONFIG_MACRO_DIR([m4]) |
302 | -AC_SUBST(ACLOCAL_AMFLAGS, "\${ACLOCAL_FLAGS} -I m4") |
303 | - |
304 | -IT_PROG_INTLTOOL([0.40.0]) |
305 | - |
306 | -GETTEXT_PACKAGE="${PACKAGE}" |
307 | -AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", |
308 | - [translation domain of this package]) |
309 | -AC_SUBST(GETTEXT_PACKAGE) |
310 | -localedir='$(prefix)/$(DATADIRNAME)/locale' |
311 | -AC_SUBST(localedir) |
312 | - |
313 | -# Need lndir for builddir != srcdir builds, because Python is not sane |
314 | -AC_PATH_PROG([LNDIR], [lndir], []) |
315 | -if test "x$LNDIR" = "x"; then |
316 | - AC_MSG_ERROR([lndir is required to build ubuntuone-client]) |
317 | -fi |
318 | - |
319 | -# Alter default logging if we're development vs. stable |
320 | -AC_MSG_CHECKING([development series build]) |
321 | -DEVVERSION="`echo $PACKAGE_VERSION|cut -d. -f2`" |
322 | -if expr $DEVVERSION % 2 > /dev/null != "0"; then |
323 | - debugging=yes |
324 | - AC_MSG_RESULT([yes]) |
325 | -else |
326 | - debugging=no |
327 | - AC_MSG_RESULT([no]) |
328 | -fi |
329 | - |
330 | -AC_ARG_ENABLE([debug], |
331 | - AC_HELP_STRING([--enable-debug], |
332 | - [Enable debug logging by default [default=auto]]), |
333 | - enable_debug=$enableval, |
334 | - enable_debug=$debugging) |
335 | -if test "x$enable_debug" != "xno"; then |
336 | - LOG_LEVEL="DEBUG" |
337 | - LOG_FILE_SIZE="10485760" |
338 | - CFLAGS="${CFLAGS} -Wall -Werror" |
339 | - AC_SUBST(CFLAGS) |
340 | -else |
341 | - LOG_LEVEL="INFO" |
342 | - LOG_FILE_SIZE="1048576" |
343 | -fi |
344 | -AC_SUBST(LOG_LEVEL) |
345 | -AC_SUBST(LOG_FILE_SIZE) |
346 | - |
347 | -# Check for python 2.6 |
348 | -AM_PATH_PYTHON([2.6]) |
349 | - |
350 | -# Specify the path for ubuntu-sso-client source |
351 | -AC_MSG_CHECKING([for ubuntu-sso-client]) |
352 | -AC_ARG_WITH([sso], |
353 | - AC_HELP_STRING([--with-sso], |
354 | - [Specify path to ubuntu-sso-client [default=auto]]), |
355 | - [with_sso=$withval], |
356 | - [with_sso=auto]) |
357 | -SSO_PATH="" |
358 | -if test "x$with_sso" = "xauto"; then |
359 | - SSO_PATH="" |
360 | - AC_MSG_RESULT([using system path]) |
361 | -else |
362 | - SSO_PATH="$with_sso" |
363 | - AC_MSG_RESULT([$SSO_PATH]) |
364 | -fi |
365 | -AC_SUBST(SSO_PATH) |
366 | - |
367 | -# Specify the path for ubuntuone-storage-protocol source |
368 | -AC_MSG_CHECKING([for ubuntuone-storage-protocol]) |
369 | -AC_ARG_WITH([protocol], |
370 | - AC_HELP_STRING([--with-protocol], |
371 | - [Specify path to storage protocol [default=auto]]), |
372 | - [with_protocol=$withval], |
373 | - [with_protocol=auto]) |
374 | -USP_PATH="" |
375 | -if test "x$with_protocol" = "xauto"; then |
376 | - USP_PATH="" |
377 | - AC_MSG_RESULT([using system path]) |
378 | -else |
379 | - USP_PATH="$with_protocol" |
380 | - AC_MSG_RESULT([$USP_PATH]) |
381 | -fi |
382 | -AC_SUBST(USP_PATH) |
383 | - |
384 | -PKG_CHECK_MODULES(DBUS, [dbus-glib-1 >= 0.70]) |
385 | -AC_SUBST(DBUS_CFLAGS) |
386 | -AC_SUBST(DBUS_LIBS) |
387 | - |
388 | -dnl --------------------------------------------------------------------------- |
389 | -dnl - Are we specifying a different dbus root ? |
390 | -dnl --------------------------------------------------------------------------- |
391 | -AC_ARG_WITH(dbus-services, |
392 | - [AC_HELP_STRING([--with-dbus-services=<dir>], |
393 | - [where D-BUS services directory is])]) |
394 | -if ! test -z "$with_dbus_services" ; then |
395 | - DBUS_SERVICES_DIR="$with_dbus_services" |
396 | -else |
397 | - # D-BUS 0.23 and higher use $prefix/share/dbus-1/services |
398 | - DBUS_SERVICES_DIR="\${datadir}/dbus-1/services" |
399 | -fi |
400 | -AC_SUBST(DBUS_SERVICES_DIR) |
401 | - |
402 | -dnl Strings to pass to SSO data |
403 | -SSO_APP_NAME="Ubuntu One" |
404 | -SSO_TC_URL="https://one.ubuntu.com/terms/" |
405 | -SSO_PING_URL="https://one.ubuntu.com/oauth/sso-finished-so-get-tokens/" |
406 | -AC_SUBST(SSO_APP_NAME) |
407 | -AC_SUBST(SSO_TC_URL) |
408 | -AC_SUBST(SSO_PING_URL) |
409 | -AC_DEFINE_UNQUOTED([SSO_APP_NAME], ["$SSO_APP_NAME"], ["The Ubuntu One app name."]) |
410 | -AC_DEFINE_UNQUOTED([SSO_TC_URL], ["$SSO_TC_URL"], ["The Ubuntu One terms and conditions URL."]) |
411 | -AC_DEFINE_UNQUOTED([SSO_PING_URL], ["$SSO_PING_URL"], ["The Ubuntu One url to ping to when new tokens are stored."]) |
412 | - |
413 | -AC_CONFIG_FILES([ |
414 | -Makefile |
415 | -data/Makefile |
416 | -po/Makefile.in |
417 | -docs/Makefile |
418 | -]) |
419 | - |
420 | -if [[ -n "$(lsb_release -r | grep -v '1[2-9].[0-9][0-9]')" ]]; then |
421 | - REACTOR="glib"; |
422 | -else |
423 | - REACTOR="gi" |
424 | -fi |
425 | -AC_SUBST(REACTOR) |
426 | - |
427 | -AC_OUTPUT |
428 | |
429 | === renamed file 'ubuntuone/syncdaemon/fsm/fsm_draw.py' => 'contrib/draw-fsm' (properties changed: -x to +x) |
430 | --- ubuntuone/syncdaemon/fsm/fsm_draw.py 2012-04-09 20:07:05 +0000 |
431 | +++ contrib/draw-fsm 2013-06-07 17:44:24 +0000 |
432 | @@ -1,3 +1,4 @@ |
433 | +#!/usr/bin/python |
434 | # ubuntuone.syncdaemon.fsm.fsm_draw - draw a fsm |
435 | # |
436 | # Author: Lucio Torre <lucio.torre@canonical.com> |
437 | @@ -35,7 +36,7 @@ |
438 | import sys |
439 | |
440 | # pylint: disable-msg=F0401 |
441 | -import gtk |
442 | +from gi.repository import Gtk as gtk |
443 | |
444 | import xdot |
445 | from ubuntuone.syncdaemon.fsm import fsm |
446 | |
447 | === removed file 'data/Makefile.am' |
448 | --- data/Makefile.am 2013-02-13 20:57:13 +0000 |
449 | +++ data/Makefile.am 1970-01-01 00:00:00 +0000 |
450 | @@ -1,48 +0,0 @@ |
451 | - |
452 | -apportdir = $(datadir)/apport/package-hooks |
453 | -apport_DATA = source_ubuntuone-client.py |
454 | - |
455 | -crashdbdir = $(sysconfdir)/apport/crashdb.conf.d |
456 | -crashdb_DATA = ubuntuone-client-crashdb.conf |
457 | - |
458 | -configdir = $(sysconfdir)/xdg/ubuntuone |
459 | -config_in_files = logging.conf.in |
460 | -config_out_files = $(config_in_files:.conf.in=.conf) |
461 | -config_files = syncdaemon.conf |
462 | -config_DATA = $(config_files) $(config_out_files) |
463 | - |
464 | -autostartdir = $(sysconfdir)/xdg/autostart |
465 | -autostart_in_files = ubuntuone-launch.desktop.in |
466 | -autostart_DATA = $(autostart_in_files:.desktop.in=.desktop) |
467 | - |
468 | -@INTLTOOL_DESKTOP_RULE@ |
469 | - |
470 | -%.conf: %.conf.in |
471 | - @sed -e "s|\@LOG_LEVEL\@|$(LOG_LEVEL)|" \ |
472 | - -e "s|\@LOG_FILE_SIZE\@|$(LOG_FILE_SIZE)|" $< > $@ |
473 | - |
474 | -servicedir = $(DBUS_SERVICES_DIR) |
475 | -service_in_files = \ |
476 | - com.ubuntuone.SyncDaemon.service.in \ |
477 | - com.ubuntuone.Credentials.service.in |
478 | -service_DATA = $(service_in_files:.service.in=.service) |
479 | - |
480 | -%.service: %.service.in |
481 | - @sed -e "s|\@libexecdir\@|$(libexecdir)|" \ |
482 | - -e "s|\@bindir\@|$(bindir)|" $< > $@ |
483 | - |
484 | -EXTRA_DIST = \ |
485 | - $(config_in_files) \ |
486 | - $(config_files) \ |
487 | - $(autostart_in_files) \ |
488 | - $(service_in_files) \ |
489 | - $(apport_DATA) \ |
490 | - $(crashdb_DATA) |
491 | - |
492 | -CLEANFILES = \ |
493 | - $(config_out_files) \ |
494 | - $(autostart_DATA) \ |
495 | - $(service_DATA) |
496 | - |
497 | -MAINTAINERCLEANFILES = \ |
498 | - Makefile.in |
499 | |
500 | === removed file 'docs/Makefile.am' |
501 | --- docs/Makefile.am 2013-06-05 20:09:11 +0000 |
502 | +++ docs/Makefile.am 1970-01-01 00:00:00 +0000 |
503 | @@ -1,6 +0,0 @@ |
504 | - |
505 | -manfilesdir = $(mandir)/man1 |
506 | -manfiles_DATA = \ |
507 | - man/u1sdtool.1 |
508 | - |
509 | -EXTRA_DIST=$(manfiles_DATA) |
510 | |
511 | === renamed file 'run-mac-tests' => 'run-tests' |
512 | --- run-mac-tests 2012-08-16 06:36:31 +0000 |
513 | +++ run-tests 2013-06-07 17:44:24 +0000 |
514 | @@ -1,6 +1,6 @@ |
515 | #! /bin/bash |
516 | # |
517 | -# Copyright 2012 Canonical Ltd. |
518 | +# Copyright 2012-2013 Canonical Ltd. |
519 | # |
520 | # This program is free software: you can redistribute it and/or modify it |
521 | # under the terms of the GNU General Public License version 3, as published |
522 | @@ -27,7 +27,12 @@ |
523 | # version. If you delete this exception statement from all source |
524 | # files in the program, then also delete it here. |
525 | |
526 | -PYTHONPATH=../ubuntu-sso-client/:../ubuntuone-storage-protocol:../ubuntuone-dev-tools:../ubuntuone-fsevents-daemon/python:$PYTHONPATH |
527 | +PROXY_TESTS_PATH="tests/proxy" |
528 | +LINT_IGNORES="ubuntuone/platform/filesystem_notifications/pyinotify_agnostic.py" |
529 | + |
530 | +# Allow alternative python executable via environment variable. This is |
531 | +# useful for virtualenv testing. |
532 | +PYTHON=${PYTHON:-'python'} |
533 | |
534 | set -e |
535 | if [ $# -ne 0 ]; then |
536 | @@ -38,14 +43,34 @@ |
537 | MODULE="tests" |
538 | fi |
539 | |
540 | -echo "Executing the tests..." |
541 | -cp windows/clientdefs.py ubuntuone/clientdefs.py |
542 | -cp windows/logging.conf data/logging.conf |
543 | -# execute the tests with a number of ignored linux only modules |
544 | -u1trial --reactor=twisted -i "test_linux.py,test_windows.py" -p tests/platform/linux "$MODULE" |
545 | +style_check() { |
546 | + u1lint -i "$LINT_IGNORES" |
547 | + # Don't run pep8 yet, as there are a LOT of warnings to fix |
548 | + # pep8 --exclude '.bzr,.pc,build' . bin/* |
549 | +} |
550 | + |
551 | +SYSNAME=`uname -s` |
552 | + |
553 | +if [ "$SYSNAME" == "Darwin" ]; then |
554 | + IGNORE_FILES="test_linux.py,test_windows.py" |
555 | + IGNORE_PATHS="tests/platform/linux" |
556 | + REACTOR=qt4 |
557 | +else |
558 | + # Linux |
559 | + IGNORE_FILES="test_darwin.py,test_fsevents_daemon.py,test_windows.py" |
560 | + IGNORE_PATHS="tests/platform/windows" |
561 | + REACTOR=gi |
562 | +fi |
563 | + |
564 | +echo "*** Running test suite for ""$MODULE"" ***" |
565 | +$PYTHON ./setup.py build |
566 | +u1trial --reactor=$REACTOR -i "$IGNORE_FILES" -p "$IGNORE_PATHS,$PROXY_TESTS_PATH" "$MODULE" |
567 | +echo "*** Running tests for ubuntuone-client-proxy ***" |
568 | +u1trial --reactor=qt4 -i "$IGNORE_FILES" -p "$IGNORE_PATHS" "$PROXY_TESTS_PATH" |
569 | +$PYTHON ./setup.py clean |
570 | rm -rf _trial_temp |
571 | rm -rf build |
572 | |
573 | -python tests/platform/check_reactor_import.py |
574 | +$PYTHON tests/platform/check_reactor_import.py |
575 | |
576 | -USE_PYFLAKES="true" u1lint |
577 | +style_check |
578 | |
579 | === modified file 'run-tests.bat' |
580 | --- run-tests.bat 2012-10-08 20:02:06 +0000 |
581 | +++ run-tests.bat 2013-06-07 17:44:24 +0000 |
582 | @@ -70,11 +70,16 @@ |
583 | GOTO GETREST |
584 | :CONTINUEBATCH |
585 | |
586 | -ECHO Python found, executing the tests... |
587 | -COPY windows\clientdefs.py ubuntuone\clientdefs.py |
588 | -COPY windows\logging.conf data\logging.conf |
589 | +ECHO Python found at %PYTHONEXEPATH%, building auto-generated modules... |
590 | +:: call setup.py build so that necessary generated files are built |
591 | +::START "Build code" /D%CD% /WAIT "%PYTHONEXEPATH%\python.exe" setup.py build |
592 | +"%PYTHONEXEPATH%" setup.py build |
593 | +ECHO Running tests |
594 | :: execute the tests with a number of ignored linux and mac os only modules |
595 | "%TRIALPATH%" --reactor=twisted -c -p tests\platform\linux -i "test_linux.py,test_darwin.py,test_fsevents_daemon.py" %PARAMS% tests |
596 | +:: Clean the build from the setupt.py |
597 | +ECHO Cleaning the generated code before running the style checks... |
598 | +"%PYTHONEXEPATH%" setup.py clean |
599 | |
600 | IF %SKIPLINT% == 1 ( |
601 | ECHO Skipping style checks |
602 | |
603 | === added file 'setup.cfg' |
604 | --- setup.cfg 1970-01-01 00:00:00 +0000 |
605 | +++ setup.cfg 2013-06-07 17:44:24 +0000 |
606 | @@ -0,0 +1,2 @@ |
607 | +[build_i18n] |
608 | +desktop_files=[("etc/xdg/autostart", ("data/ubuntuone-launch.desktop.in",))] |
609 | |
610 | === added file 'setup.py' |
611 | --- setup.py 1970-01-01 00:00:00 +0000 |
612 | +++ setup.py 2013-06-07 17:44:24 +0000 |
613 | @@ -0,0 +1,252 @@ |
614 | +#!/usr/bin/python |
615 | +# |
616 | +# Copyright 2013 Canonical Ltd. |
617 | +# |
618 | +# This program is free software: you can redistribute it and/or modify it |
619 | +# under the terms of the GNU General Public License version 3, as published |
620 | +# by the Free Software Foundation. |
621 | +# |
622 | +# This program is distributed in the hope that it will be useful, but |
623 | +# WITHOUT ANY WARRANTY; without even the implied warranties of |
624 | +# MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR |
625 | +# PURPOSE. See the GNU General Public License for more details. |
626 | +# |
627 | +# You should have received a copy of the GNU General Public License along |
628 | +# with this program. If not, see <http://www.gnu.org/licenses/>. |
629 | +# |
630 | +# In addition, as a special exception, the copyright holders give |
631 | +# permission to link the code of portions of this program with the |
632 | +# OpenSSL library under certain conditions as described in each |
633 | +# individual source file, and distribute linked combinations |
634 | +# including the two. |
635 | +# You must obey the GNU General Public License in all respects |
636 | +# for all of the code used other than OpenSSL. If you modify |
637 | +# file(s) with this exception, you may extend this exception to your |
638 | +# version of the file(s), but you are not obligated to do so. If you |
639 | +# do not wish to do so, delete this exception statement from your |
640 | +# version. If you delete this exception statement from all source |
641 | +# files in the program, then also delete it here. |
642 | +"""Setup.py: build, distribute, clean.""" |
643 | + |
644 | +import os |
645 | +import sys |
646 | + |
647 | +try: |
648 | + import DistUtilsExtra.auto |
649 | + from DistUtilsExtra.command import build_extra, build_i18n |
650 | +except ImportError: |
651 | + print >> sys.stderr, 'To build this program you need '\ |
652 | + 'https://launchpad.net/python-distutils-extra' |
653 | + sys.exit(1) |
654 | +assert DistUtilsExtra.auto.__version__ >= '2.18', \ |
655 | + 'needs DistUtilsExtra.auto >= 2.18' |
656 | + |
657 | +try: |
658 | + from setuptools import find_packages |
659 | +except ImportError: |
660 | + from distutils.core import find_packages |
661 | + |
662 | + |
663 | +PROJECT_NAME = 'ubuntuone-client' |
664 | +VERSION = '13.05' |
665 | + |
666 | +POT_FILE = 'po/%s.pot' % PROJECT_NAME |
667 | +SERVICE_FILES = ['data/com.ubuntuone.Credentials.service', |
668 | + 'data/com.ubuntuone.SyncDaemon.service'] |
669 | +CONFIG_FILES = ['data/logging.conf'] |
670 | +CLIENTDEFS = 'ubuntuone/clientdefs.py' |
671 | + |
672 | +BUILD_FILES = [CLIENTDEFS] + CONFIG_FILES |
673 | +CLEANFILES = [POT_FILE, 'MANIFEST'] + BUILD_FILES + SERVICE_FILES |
674 | + |
675 | +if int(VERSION.split('.')[1]) % 2 != 0: |
676 | + LOG_LEVEL = 'DEBUG' |
677 | + LOG_FILE_SIZE = '10485760' |
678 | +else: |
679 | + LOG_LEVEL = 'INFO' |
680 | + LOG_FILE_SIZE = '1048576' |
681 | + |
682 | + |
683 | +def replace_variables(files_to_replace, prefix=None, *args, **kwargs): |
684 | + """Replace the @VERSION@ in the constants file with the actual version.""" |
685 | + for fname in files_to_replace: |
686 | + with open(fname + '.in') as in_file: |
687 | + content = in_file.read() |
688 | + with open(fname, 'w') as out_file: |
689 | + content = content.replace('@VERSION@', VERSION) |
690 | + content = content.replace('@PROJECT_NAME@', PROJECT_NAME) |
691 | + content = content.replace('@GETTEXT_PACKAGE@', PROJECT_NAME) |
692 | + content = content.replace('@LOG_LEVEL@', LOG_LEVEL) |
693 | + content = content.replace('@LOG_FILE_SIZE@', LOG_FILE_SIZE) |
694 | + if prefix is not None: |
695 | + content = content.replace( |
696 | + '@localedir@', os.path.join(prefix, |
697 | + 'share', 'locale')) |
698 | + content = content.replace( |
699 | + '@libexecdir@', os.path.join(prefix, |
700 | + 'lib', PROJECT_NAME)) |
701 | + out_file.write(content) |
702 | + |
703 | + |
704 | +class Install(DistUtilsExtra.auto.install_auto): |
705 | + """Class to install proper files.""" |
706 | + |
707 | + def run(self): |
708 | + """Do the install. |
709 | + |
710 | + Read from *.service.in and generate .service files by replacing |
711 | + @prefix@ by self.prefix. |
712 | + |
713 | + """ |
714 | + # Get just the prefix value, without the root |
715 | + prefix = self.install_data.replace( |
716 | + self.root if self.root is not None else '', '') |
717 | + replace_variables(SERVICE_FILES, prefix) |
718 | + DistUtilsExtra.auto.install_auto.run(self) |
719 | + # Replace the CLIENTDEFS paths here, so that we can do it directly in |
720 | + # the installed copy, rather than the lcoal copy. This allows us to |
721 | + # have a semi-generated version for use in tests, and a full version |
722 | + # for use in installed systems. |
723 | + with open(CLIENTDEFS) as in_file: |
724 | + content = in_file.read() |
725 | + with open(os.path.join(self.install_purelib, |
726 | + PROJECT_NAME, |
727 | + CLIENTDEFS), 'w') as out_file: |
728 | + content = content.replace( |
729 | + '@localedir@', os.path.join(prefix, 'share', 'locale')) |
730 | + content = content.replace( |
731 | + '@libexecdir@', os.path.join(prefix, 'lib', PROJECT_NAME)) |
732 | + out_file.write(content) |
733 | + |
734 | + |
735 | +class Build(build_extra.build_extra): |
736 | + """Build PyQt (.ui) files and resources.""" |
737 | + |
738 | + description = "build PyQt GUIs (.ui) and resources (.qrc)" |
739 | + |
740 | + def run(self): |
741 | + """Execute the command.""" |
742 | + replace_variables(BUILD_FILES) |
743 | + build_extra.build_extra.run(self) |
744 | + |
745 | + |
746 | +class Clean(DistUtilsExtra.auto.clean_build_tree): |
747 | + """Class to clean up after the build.""" |
748 | + |
749 | + def run(self): |
750 | + """Clean up the built files.""" |
751 | + for built_file in CLEANFILES: |
752 | + if os.path.exists(built_file): |
753 | + os.unlink(built_file) |
754 | + |
755 | + DistUtilsExtra.auto.clean_build_tree.run(self) |
756 | + |
757 | + |
758 | +class BuildLocale(build_i18n.build_i18n): |
759 | + """Workaround a bug in DistUtilsExtra.""" |
760 | + |
761 | + def run(self): |
762 | + """Magic.""" |
763 | + build_i18n.build_i18n.run(self) |
764 | + i = 0 |
765 | + for df in self.distribution.data_files: |
766 | + if df[0].startswith('etc/xdg/'): |
767 | + if sys.platform not in ('darwin', 'win32'): |
768 | + new_df = (df[0].replace('etc/xdg/', '/etc/xdg/'), df[1]) |
769 | + self.distribution.data_files[i] = new_df |
770 | + else: |
771 | + self.distribution.data_files.pop(i) |
772 | + i += 1 |
773 | + |
774 | + |
775 | +def set_py2exe_paths(): |
776 | + """Set the path so that py2exe finds the required modules.""" |
777 | + # Pylint does not understand same spaced imports |
778 | + # pylint: disable=F0401 |
779 | + import win32com |
780 | + # pylint: enable=F0401 |
781 | + try: |
782 | + # pylint: disable=F0401 |
783 | + import py2exe.mf as modulefinder |
784 | + # pylint: enable=F0401 |
785 | + except ImportError: |
786 | + import modulefinder |
787 | + |
788 | + # py2exe 0.6.4 introduced a replacement modulefinder. |
789 | + # This means we have to add package paths there, |
790 | + # not to the built-in one. If this new modulefinder gets |
791 | + # integrated into Python, then we might be able to revert |
792 | + # this some day. If this doesn't work, try import modulefinder |
793 | + for package_path in win32com.__path__[1:]: |
794 | + modulefinder.AddPackagePath("win32com", package_path) |
795 | + for extra_mod in ["win32com.server", "win32com.client"]: |
796 | + __import__(extra_mod) |
797 | + module = sys.modules[extra_mod] |
798 | + for module_path in module.__path__[1:]: |
799 | + modulefinder.AddPackagePath(extra_mod, module_path) |
800 | + |
801 | + |
802 | +# pylint: disable=C0103 |
803 | + |
804 | +cmdclass = { |
805 | + 'install': Install, |
806 | + 'build': Build, |
807 | + 'clean': Clean, |
808 | + 'build_i18n': BuildLocale, |
809 | +} |
810 | + |
811 | +bin_scripts = [ |
812 | + 'bin/u1sdtool', |
813 | + 'bin/ubuntuone-launch', |
814 | +] |
815 | + |
816 | +libexec_scripts = [ |
817 | + 'bin/ubuntuone-login', |
818 | + 'bin/ubuntuone-proxy-tunnel', |
819 | + 'bin/ubuntuone-syncdaemon', |
820 | +] |
821 | + |
822 | +data_files = [] |
823 | +scripts = [] |
824 | + |
825 | +if sys.platform == 'win32': |
826 | + set_py2exe_paths() |
827 | + extra = { |
828 | + 'options': { |
829 | + 'py2exe': { |
830 | + 'bundle_files': 1, |
831 | + 'skip_archive': 0, |
832 | + 'optimize': 1, |
833 | + 'dll_excludes': ["mswsock.dll", "powrprof.dll"], |
834 | + }, |
835 | + }, |
836 | + # add the console script so that py2exe compiles it |
837 | + 'console': bin_scripts + libexec_scripts, |
838 | + 'zipfile': None, |
839 | + } |
840 | +else: |
841 | + data_files.extend([ |
842 | + ('lib/%s' % PROJECT_NAME, libexec_scripts), |
843 | + ('share/dbus-1/services', SERVICE_FILES), |
844 | + ('/etc/xdg/ubuntuone', CONFIG_FILES + ['data/syncdaemon.conf']), |
845 | + ('/etc/apport/crashdb.conf.d', ['data/ubuntuone-client-crashdb.conf']), |
846 | + ('share/apport/package-hooks', ['data/source_ubuntuone-client.py']), |
847 | + ('share/man1', ['docs/man/u1sdtool.1']), |
848 | + ]) |
849 | + scripts.extend(bin_scripts) |
850 | + extra = {} |
851 | + |
852 | +DistUtilsExtra.auto.setup( |
853 | + name=PROJECT_NAME, |
854 | + version=VERSION, |
855 | + license='GPL v3', |
856 | + author='Ubuntu One Developers', |
857 | + author_email='ubuntuone-users@lists.launchpad.net', |
858 | + description='Ubuntu One file synchronization client', |
859 | + url='https://launchpad.net/%s' % PROJECT_NAME, |
860 | + extra_path=PROJECT_NAME, |
861 | + scripts=scripts, |
862 | + data_files=data_files, |
863 | + packages=find_packages(), |
864 | + cmdclass=cmdclass, |
865 | + **extra) |
866 | |
867 | === modified file 'ubuntuone/clientdefs.py.in' |
868 | --- ubuntuone/clientdefs.py.in 2012-04-09 20:07:05 +0000 |
869 | +++ ubuntuone/clientdefs.py.in 2013-06-07 17:44:24 +0000 |
870 | @@ -36,17 +36,9 @@ |
871 | |
872 | import gettext |
873 | |
874 | - |
875 | Q_ = lambda string: gettext.dgettext(GETTEXT_PACKAGE, string) |
876 | |
877 | -# pylint: disable-msg=C0301 |
878 | VERSION = "@VERSION@" |
879 | LOCALEDIR = "@localedir@" |
880 | LIBEXECDIR = "@libexecdir@" |
881 | GETTEXT_PACKAGE = "@GETTEXT_PACKAGE@" |
882 | - |
883 | -# these variables are Deprecated, use those defined in ubuntuone.credentials |
884 | -APP_NAME = "@SSO_APP_NAME@" |
885 | -TC_URL = "@SSO_TC_URL@" |
886 | -PING_URL = "@SSO_PING_URL@" |
887 | -DESCRIPTION = Q_("Ubuntu One requires an Ubuntu Single Sign On (SSO) account. This process will allow you to create a new account, if you do not yet have one.") |
888 | |
889 | === removed directory 'windows' |
890 | === removed file 'windows/clientdefs.py' |
891 | --- windows/clientdefs.py 2012-04-09 20:07:05 +0000 |
892 | +++ windows/clientdefs.py 1970-01-01 00:00:00 +0000 |
893 | @@ -1,53 +0,0 @@ |
894 | -# ubuntuone.clientdefs - Configure-time definitions |
895 | -# |
896 | -# Author: David Planella <david.planella@ubuntu.com> |
897 | -# |
898 | -# Copyright 2009-2012 Canonical Ltd. |
899 | -# |
900 | -# This program is free software: you can redistribute it and/or modify it |
901 | -# under the terms of the GNU General Public License version 3, as published |
902 | -# by the Free Software Foundation. |
903 | -# |
904 | -# This program is distributed in the hope that it will be useful, but |
905 | -# WITHOUT ANY WARRANTY; without even the implied warranties of |
906 | -# MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR |
907 | -# PURPOSE. See the GNU General Public License for more details. |
908 | -# |
909 | -# You should have received a copy of the GNU General Public License along |
910 | -# with this program. If not, see <http://www.gnu.org/licenses/>. |
911 | -# |
912 | -# In addition, as a special exception, the copyright holders give |
913 | -# permission to link the code of portions of this program with the |
914 | -# OpenSSL library under certain conditions as described in each |
915 | -# individual source file, and distribute linked combinations |
916 | -# including the two. |
917 | -# You must obey the GNU General Public License in all respects |
918 | -# for all of the code used other than OpenSSL. If you modify |
919 | -# file(s) with this exception, you may extend this exception to your |
920 | -# version of the file(s), but you are not obligated to do so. If you |
921 | -# do not wish to do so, delete this exception statement from your |
922 | -# version. If you delete this exception statement from all source |
923 | -# files in the program, then also delete it here. |
924 | -""" |
925 | -Ubuntu One client definitions. |
926 | - |
927 | -This is a package containing configure-time definitions for the Ubuntu One |
928 | -client. |
929 | -""" |
930 | - |
931 | -import gettext |
932 | - |
933 | - |
934 | -Q_ = lambda string: gettext.dgettext(GETTEXT_PACKAGE, string) |
935 | - |
936 | -# pylint: disable-msg=C0301 |
937 | -VERSION = '0.1' |
938 | -LOCALEDIR = '' |
939 | -LIBEXECDIR = '' |
940 | -GETTEXT_PACKAGE = '' |
941 | - |
942 | -# these variables are Deprecated, use those defined in ubuntuone.credentials |
943 | -APP_NAME="Ubuntu One" |
944 | -TC_URL="https://one.ubuntu.com/terms/" |
945 | -PING_URL="https://one.ubuntu.com/oauth/sso-finished-so-get-tokens/" |
946 | -DESCRIPTION = Q_("Ubuntu One requires an Ubuntu Single Sign On (SSO) account. This process will allow you to create a new account, if you do not yet have one.") |
947 | |
948 | === removed file 'windows/logging.conf' |
949 | --- windows/logging.conf 2011-08-24 16:24:01 +0000 |
950 | +++ windows/logging.conf 1970-01-01 00:00:00 +0000 |
951 | @@ -1,13 +0,0 @@ |
952 | -[logging] |
953 | -level.default = DEBUG |
954 | -level.parser = log_level |
955 | -level.help = Set the log level (TRACE, DEBUG, INFO, WARNING, ERROR, NOTE |
956 | - CRITICAL, FATAL) |
957 | - |
958 | -file_size.default = 1000000 |
959 | -file_size.parser = int |
960 | -file_size.help = max file size (the file will be rotated) |
961 | - |
962 | -backup_count.default = 5 |
963 | -backup_count.parser = int |
964 | -backup_count.help = number of rotated log files to keep around. |
The linux part looks fine.
I have not checked the osx and win parts.