View | Details | Raw Unified | Return to bug 199892 | Differences between
and this patch

Collapse All | Expand All

(-)Makefile (-22 / +35 lines)
Lines 2-44 Link Here
2
# $FreeBSD$
2
# $FreeBSD$
3
3
4
PORTNAME=	duplicity
4
PORTNAME=	duplicity
5
PORTVERSION=	0.6.25
5
PORTVERSION=	0.7.06
6
CATEGORIES=	sysutils
6
CATEGORIES=	sysutils
7
MASTER_SITES=	http://launchpad.net/duplicity/0.6-series/${PORTVERSION}/+download/
7
MASTER_SITES=	http://launchpad.net/duplicity/0.7-series/${PORTVERSION}/+download/
8
8
9
MAINTAINER=	jase@FreeBSD.org
9
MAINTAINER=	jase@FreeBSD.org
10
COMMENT=	Backup tool that uses librsync and GnuPG
10
COMMENT=	Backup tool that uses librsync and GnuPG
11
11
12
LIB_DEPENDS=	librsync.so:${PORTSDIR}/net/librsync
12
LIB_DEPENDS=	librsync.so:${PORTSDIR}/net/librsync
13
RUN_DEPENDS=	gpg:${PORTSDIR}/security/gnupg \
13
RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}lockfile>=0:${PORTSDIR}/devel/py-lockfile
14
				${PYTHON_PKGNAMEPREFIX}lockfile>=0:${PORTSDIR}/devel/py-lockfile
15
14
16
USES=		python:2
15
USES=		python:2
17
USE_PYTHON=	distutils autoplist
16
USE_PYTHON=	autoplist distutils
18
USE_LDCONFIG=	yes
17
USE_LDCONFIG=	yes
19
18
20
OPTIONS_DEFINE=	NLS DOCS SSH FTP FTPS S3 GDOCS CLOUDFILES GIO
19
OPTIONS_DEFINE=		CLOUDFILES DOCS FTP FTPS GDOCS GIO NLS S3
21
OPTIONS_DEFAULT=SSH FTP FTPS S3
20
OPTIONS_GROUP=		GPG SSH
22
CLOUDFILES_DESC=Install CloudFiles backend
21
OPTIONS_SINGLE=		GPG
23
FTP_DESC=	Install FTP backend
22
OPTIONS_SINGLE_GPG=	GNUPG GNUPG2
24
FTPS_DESC=	Install FTPS backend
23
OPTIONS_GROUP_SSH=	PARAMIKO PEXPECT
25
GDOCS_DESC=	Install Google Docs backend
24
OPTIONS_DEFAULT=	FTP FTPS GNUPG PARAMIKO S3
26
GIO_DESC=	Install GIO backend
25
CLOUDFILES_DESC=	Install CloudFiles backend
27
S3_DESC=	Install Amazon S3 backend
26
FTP_DESC=		Install FTP backend
28
SSH_DESC=	Install SSH/SCP/SFTP backend
27
FTPS_DESC=		Install FTPS backend
28
GDOCS_DESC=		Install Google Docs backend
29
GIO_DESC=		Install GIO backend
30
GPG_DESC=		Install GnuPG
31
GNUPG_DESC=		Install GnuPG 1
32
GNUPG2_DESC=		Install GnuPG 2
33
S3_DESC=		Install Amazon S3 backend
34
SSH_DESC=		Install SSH/SCP/SFTP backend
35
PARAMIKO_DESC=		Install python ssh implementation
36
PEXPECT_DESC=		Install pexpect and use ssh binaries
29
37
30
PORTDOCS=	COPYING README README-REPO README-LOG tarfile-LICENSE \
38
PORTDOCS=	CHANGELOG COPYING README README-REPO README-LOG
31
			tarfile-CHANGES CHANGELOG
32
39
33
NLS_USES=			gettext
40
CLOUDFILES_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}cloudfiles>0:${PORTSDIR}/net/py-cloudfiles
34
SSH_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}paramiko>=1.7.7.1:${PORTSDIR}/security/py-paramiko
35
FTP_RUN_DEPENDS=	ncftp>=3.2.2:${PORTSDIR}/ftp/ncftp3
41
FTP_RUN_DEPENDS=	ncftp>=3.2.2:${PORTSDIR}/ftp/ncftp3
36
FTPS_RUN_DEPENDS=	lftp>=3.7.15:${PORTSDIR}/ftp/lftp
42
FTPS_RUN_DEPENDS=	lftp>=3.7.15:${PORTSDIR}/ftp/lftp
37
S3_RUN_DEPENDS=		${PYTHON_PKGNAMEPREFIX}boto>=1.6b:${PORTSDIR}/devel/py-boto
38
GDOCS_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}gdata>0:${PORTSDIR}/devel/py-gdata
43
GDOCS_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}gdata>0:${PORTSDIR}/devel/py-gdata
39
CLOUDFILES_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}cloudfiles>0:${PORTSDIR}/net/py-cloudfiles
40
GIO_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}gobject>0:${PORTSDIR}/devel/py-gobject \
44
GIO_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}gobject>0:${PORTSDIR}/devel/py-gobject \
41
					dbus>0:${PORTSDIR}/devel/dbus
45
					dbus>0:${PORTSDIR}/devel/dbus
46
GNUPG_RUN_DEPENDS=	gnupg1>=1.4.7:${PORTSDIR}/security/gnupg1
47
GNUPG2_RUN_DEPENDS=	gpg2:${PORTSDIR}/security/gnupg
48
NLS_USES=		gettext
49
PARAMIKO_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}paramiko>=1.7.7.1:${PORTSDIR}/security/py-paramiko
50
PEXPECT_RUN_DEPENDS=	pexpect:${PORTSDIR}/misc/py-pexpect
51
S3_RUN_DEPENDS=		${PYTHON_PKGNAMEPREFIX}boto>=1.6b:${PORTSDIR}/devel/py-boto
42
52
43
.include <bsd.port.options.mk>
53
.include <bsd.port.options.mk>
44
54
Lines 47-55 Link Here
47
	@${REINPLACE_CMD} -e '56,67d' \
57
	@${REINPLACE_CMD} -e '56,67d' \
48
		${WRKSRC}/setup.py
58
		${WRKSRC}/setup.py
49
.endif
59
.endif
50
.if empty(PORT_OPTIONS:MSSH)
60
.if empty(PORT_OPTIONS:MPARAMIKO)
51
	@${FIND} ${WRKSRC}/${PORTNAME}/backends -type f -depth 1 -name '*ssh*' -delete
61
	@${FIND} ${WRKSRC}/${PORTNAME}/backends -type f -depth 1 -name '*ssh_paramiko*' -delete
52
.endif
62
.endif
63
.if empty(PORT_OPTIONS:MPEXPECT)
64
	@${FIND} ${WRKSRC}/${PORTNAME}/backends -type f -depth 1 -name '*ssh_pexpect*' -delete
65
.endif
53
.if empty(PORT_OPTIONS:MFTP)
66
.if empty(PORT_OPTIONS:MFTP)
54
	@${RM} -f ${WRKSRC}/${PORTNAME}/backends/ftpbackend.py
67
	@${RM} -f ${WRKSRC}/${PORTNAME}/backends/ftpbackend.py
55
.endif
68
.endif
(-)distinfo (-2 / +2 lines)
Lines 1-2 Link Here
1
SHA256 (duplicity-0.6.25.tar.gz) = ac44f44abc1c5fe775a49b77e722d238c0b3bbb105e083fd505e2dca8e2c1725
1
SHA256 (duplicity-0.7.06.tar.gz) = 0075595edb894399cf00fae9154aae93a07eaadc031fede5df4cc595436c7f8c
2
SIZE (duplicity-0.6.25.tar.gz) = 1269583
2
SIZE (duplicity-0.7.06.tar.gz) = 1417252
(-)files/patch-setup.py (-35 / +36 lines)
Lines 1-25 Link Here
1
--- setup.py.orig	2014-05-18 14:37:42.190089675 +0100
1
--- setup.py.orig	2016-03-05 09:59:07.250354000 +0100
2
+++ setup.py	2014-05-18 14:41:15.084751008 +0100
2
+++ setup.py	2016-03-05 10:02:48.940832000 +0100
3
@@ -22,7 +22,6 @@
3
@@ -23,7 +23,6 @@
4
 
4
 import sys
5
 import sys, os
5
 import os
6
 from setuptools import setup, Extension
6
 from setuptools import setup, Extension
7
-from setuptools.command.test import test
7
-from setuptools.command.test import test
8
 from setuptools.command.install import install
8
 from setuptools.command.install import install
9
 from setuptools.command.sdist import sdist
9
 from setuptools.command.sdist import sdist
10
 from distutils.command.build_scripts import build_scripts
11
@@ -35,6 +34,9 @@
12
     sys.exit(1)
10
 
13
 
11
@@ -34,6 +33,10 @@
12
 
13
 incdir_list = libdir_list = None
14
 incdir_list = libdir_list = None
14
 
15
+LOCALBASE = os.environ.get("LOCALBASE", "/usr/local")
15
+LOCALBASE = os.environ.get("LOCALBASE", "/usr/local")
16
+incdir_list = ['%s/include' % LOCALBASE]
16
+incdir_list = ['%s/include' % LOCALBASE]
17
+libdir_list = ['%s/lib/' % LOCALBASE]
17
+libdir_list = ['%s/lib/' % LOCALBASE]
18
+
18
 
19
 if os.name == 'posix':
19
 if os.name == 'posix':
20
     LIBRSYNC_DIR = os.environ.get('LIBRSYNC_DIR', '')
20
     LIBRSYNC_DIR = os.environ.get('LIBRSYNC_DIR', '')
21
     args = sys.argv[:]
21
@@ -47,15 +49,9 @@
22
@@ -45,17 +48,9 @@
23
         incdir_list = [os.path.join(LIBRSYNC_DIR, 'include')]
22
         incdir_list = [os.path.join(LIBRSYNC_DIR, 'include')]
24
         libdir_list = [os.path.join(LIBRSYNC_DIR, 'lib')]
23
         libdir_list = [os.path.join(LIBRSYNC_DIR, 'lib')]
25
 
24
 
Lines 32-48 Link Here
32
-                'README',
31
-                'README',
33
-                'README-REPO',
32
-                'README-REPO',
34
-                'README-LOG',
33
-                'README-LOG',
35
-                'tarfile-LICENSE',
36
-                'tarfile-CHANGES',
37
-                'CHANGELOG']),
34
-                'CHANGELOG']),
38
               ]
35
               ]
39
 
36
 
40
 top_dir = os.path.dirname(os.path.abspath(__file__))
37
 top_dir = os.path.dirname(os.path.abspath(__file__))
41
@@ -70,45 +65,8 @@
38
@@ -69,48 +65,9 @@
39
                 ('share/locale/%s/LC_MESSAGES' % lang,
42
                  ["po/%s/duplicity.mo" % lang]))
40
                  ["po/%s/duplicity.mo" % lang]))
43
 
41
 
44
 
42
-
45
-class TestCommand(test):
43
-class TestCommand(test):
44
-
46
-    def run(self):
45
-    def run(self):
47
-        # Make sure all modules are ready
46
-        # Make sure all modules are ready
48
-        build_cmd = self.get_finalized_command("build_py")
47
-        build_cmd = self.get_finalized_command("build_py")
Lines 53-59 Link Here
53
-
52
-
54
-        # make symlinks for test data
53
-        # make symlinks for test data
55
-        if build_cmd.build_lib != top_dir:
54
-        if build_cmd.build_lib != top_dir:
56
-            for path in ['testfiles.tar.gz', 'testtar.tar', 'gnupg']:
55
-            for path in ['testfiles.tar.gz', 'gnupg']:
57
-                src = os.path.join(top_dir, 'testing', path)
56
-                src = os.path.join(top_dir, 'testing', path)
58
-                target = os.path.join(build_cmd.build_lib, 'testing', path)
57
-                target = os.path.join(build_cmd.build_lib, 'testing', path)
59
-                try:
58
-                try:
Lines 69-74 Link Here
69
-
68
-
70
-
69
-
71
 class InstallCommand(install):
70
 class InstallCommand(install):
71
 
72
     def run(self):
72
     def run(self):
73
-        # Normally, install will call build().  But we want to delete the
73
-        # Normally, install will call build().  But we want to delete the
74
-        # testing dir between building and installing.  So we manually build
74
-        # testing dir between building and installing.  So we manually build
Lines 84-110 Link Here
84
         install.run(self)
84
         install.run(self)
85
 
85
 
86
 
86
 
87
@@ -133,11 +91,7 @@
87
@@ -178,11 +135,7 @@
88
       maintainer_email="kenneth@loafman.com",
89
       url="http://duplicity.nongnu.org/index.html",
88
       url="http://duplicity.nongnu.org/index.html",
90
       packages = ['duplicity',
89
       packages=['duplicity',
91
-                  'duplicity.backends',
90
                 'duplicity.backends',
92
-                  'testing',
91
-                'duplicity.backends.pyrax_identity',
93
-                  'testing.functional',
92
-                'testing',
94
-                  'testing.overrides',
93
-                'testing.functional',
95
-                  'testing.unit'],
94
-                'testing.overrides',
96
+                  'duplicity.backends'],
95
-                'testing.unit'],
97
       package_dir = {"duplicity" : "duplicity",
96
+                'duplicity.backends.pyrax_identity'],
98
                      "duplicity.backends" : "duplicity/backends",},
97
       package_dir={"duplicity": "duplicity",
99
       ext_modules = [Extension("duplicity._librsync",
98
                    "duplicity.backends": "duplicity/backends", },
100
@@ -147,9 +101,6 @@
99
       ext_modules=[Extension("duplicity._librsync",
101
                                libraries=["rsync"])],
100
@@ -193,10 +146,7 @@
102
       scripts = ['bin/rdiffdir', 'bin/duplicity'],
101
       scripts=['bin/rdiffdir', 'bin/duplicity'],
103
       data_files = data_files,
102
       data_files=data_files,
104
-      tests_require = ['lockfile', 'mock'],
103
       install_requires=['lockfile'],
105
-      test_suite = 'testing',
104
-      tests_require=['lockfile', 'mock', 'pexpect'],
105
-      test_suite='testing',
106
-      cmdclass={'test': TestCommand,
106
-      cmdclass={'test': TestCommand,
107
-                'install': InstallCommand,
107
-                'install': InstallCommand,
108
+      cmdclass={'install': InstallCommand,
108
+      cmdclass={'install': InstallCommand,
109
                 'sdist': SDistCommand},
109
                 'sdist': SDistCommand,
110
                 'build_scripts': BSCommand},
110
       )
111
       )
(-)pkg-message (+5 lines)
Lines 12-14 Link Here
12
* Please refer to upstream duplicity documentation for information on   *
12
* Please refer to upstream duplicity documentation for information on   *
13
* the use of these backends.                                            *
13
* the use of these backends.                                            *
14
*************************************************************************
14
*************************************************************************
15
*                                                                       *
16
* For gnupg 2 insert "pinentry-mode loopback" into ~/.gnupg/gpg.conf    *
17
* and "allow-loopback-pinentry" into ~/.gnupg/gpg-agent.conf            *
18
*                                                                       *
19
*************************************************************************

Return to bug 199892