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