Merge lp:~dobey/ubuntuone-client/py-only into lp:ubuntuone-client

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
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

To post a comment you must log in.
lp:~dobey/ubuntuone-client/py-only updated
1399. By dobey

Add a space.

Revision history for this message
Alejandro J. Cura (alecu) wrote :

The linux part looks fine.
I have not checked the osx and win parts.

review: Approve
lp:~dobey/ubuntuone-client/py-only updated
1400. By dobey

Remove autogen.sh too

1401. By dobey

Update run-tests.bat for the changes.

1402. By dobey

Fix typo and allow use of $PYTHON when calling setup.py.

1403. By dobey

Default to python instead of empty string.

Revision history for this message
Brian Curtin (brian.curtin) :
review: Approve
Revision history for this message
Mike McCracken (mikemc) wrote :

osx ok.

review: Approve

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.

Subscribers

People subscribed via source and target branches