aboutsummaryrefslogtreecommitdiff
path: root/sysutils/duplicity
diff options
context:
space:
mode:
authorDanilo G. Baio <dbaio@FreeBSD.org>2020-03-21 22:43:35 +0000
committerDanilo G. Baio <dbaio@FreeBSD.org>2020-03-21 22:43:35 +0000
commitc3f9b609d464fee9577e62178248cafa205d7c41 (patch)
tree04a7d7ad1ff0df217b15683e7ff670c8bb9ad6cb /sysutils/duplicity
parentf3f7939f18972b789a4617ea8ac8e6f086bb1368 (diff)
downloadports-c3f9b609d464fee9577e62178248cafa205d7c41.tar.gz
ports-c3f9b609d464fee9577e62178248cafa205d7c41.zip
sysutils/duplicity: Update to 0.8.12
This updates sysutils/duplicity to the current stable release. A new port sysutils/duplicity07 has been created to keep version 0.7.19 in the tree, as it uses a deprecated version of Python, it will be removed soon. It will be kept for a while just in case some incompatibilities still show up. Changelog: https://launchpad.net/duplicity/+milestone/0.8.12 http://duplicity.nongnu.org/vers8/CHANGELOG Port improvements obtained from sysutils/duplicity-devel.
Notes
Notes: svn path=/head/; revision=528883
Diffstat (limited to 'sysutils/duplicity')
-rw-r--r--sysutils/duplicity/Makefile43
-rw-r--r--sysutils/duplicity/distinfo6
-rw-r--r--sysutils/duplicity/files/patch-setup.py109
-rw-r--r--sysutils/duplicity/pkg-message20
4 files changed, 46 insertions, 132 deletions
diff --git a/sysutils/duplicity/Makefile b/sysutils/duplicity/Makefile
index ee599e783e70..5d90b48d8340 100644
--- a/sysutils/duplicity/Makefile
+++ b/sysutils/duplicity/Makefile
@@ -2,10 +2,10 @@
# $FreeBSD$
PORTNAME= duplicity
-PORTVERSION= 0.7.19
-PORTREVISION= 1
+PORTVERSION= 0.8.12
+DISTVERSIONSUFFIX= .1612
CATEGORIES= sysutils
-MASTER_SITES= http://launchpad.net/duplicity/0.7-series/${PORTVERSION}/+download/
+MASTER_SITES= https://code.launchpad.net/duplicity/0.8-series/${PORTVERSION}/+download/
MAINTAINER= dbaio@FreeBSD.org
COMMENT= Backup tool that uses librsync and GnuPG
@@ -15,24 +15,32 @@ LICENSE_FILE= ${WRKSRC}/COPYING
LIB_DEPENDS= librsync.so:net/librsync2
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}fasteners>=0:devel/py-fasteners@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}paramiko>=1.7.7.1:security/py-paramiko@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}pexpect>0:misc/py-pexpect@${PY_FLAVOR}
-
-USES= python:2.7 shebangfix
-USE_PYTHON= autoplist distutils
+ ${PYTHON_PKGNAMEPREFIX}paramiko>=0:security/py-paramiko@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pexpect>0:misc/py-pexpect@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}requests>=0:www/py-requests@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}urllib3>=0:net/py-urllib3@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}mock>0:devel/py-mock@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}future>0:devel/py-future@${PY_FLAVOR}
+
+USES= localbase python shebangfix
+USE_PYTHON= autoplist distutils noflavors
USE_LDCONFIG= yes
-CONFLICTS_INSTALL= duplicity-devel
+CONFLICTS_INSTALL= duplicity07 duplicity-devel
SHEBANG_FILES= bin/duplicity bin/rdiffdir
PORTDOCS= CHANGELOG COPYING README README-REPO README-LOG
-OPTIONS_DEFINE= DOCS FTP FTPS GDOCS NLS S3
+POST_PLIST= trim-duplicity-testing
+
+OPTIONS_DEFINE= B2 DOCS FTP FTPS GDOCS NLS S3
OPTIONS_GROUP= GPG
OPTIONS_SINGLE= GPG
OPTIONS_SINGLE_GPG= GNUPG GNUPG2
-OPTIONS_DEFAULT= FTP FTPS GNUPG2 S3
+OPTIONS_DEFAULT= B2 FTP FTPS GNUPG2 S3
+
+B2_DESC= Backblaze B2 backend
FTP_DESC= FTP backend
FTPS_DESC= FTPS backend
GDOCS_DESC= Google Docs backend
@@ -41,9 +49,10 @@ GNUPG_DESC= Use GnuPG 1
GNUPG2_DESC= Use GnuPG 2
S3_DESC= Amazon S3 backend
+B2_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}b2sdk>=0.1.8:devel/py-b2sdk@${PY_FLAVOR}
FTP_RUN_DEPENDS= ncftp>=3.2.2:ftp/ncftp3
FTPS_RUN_DEPENDS= lftp>=3.7.15:ftp/lftp
-GDOCS_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}gdata>0:devel/py-gdata@${PY_FLAVOR}
+GDOCS_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pydrive>0:devel/py-pydrive@${PY_FLAVOR}
GNUPG_RUN_DEPENDS= gnupg1>=1.4.7:security/gnupg1
GNUPG2_RUN_DEPENDS= gpg2:security/gnupg
NLS_USES= gettext
@@ -55,7 +64,7 @@ post-patch:
.endfor
post-patch-NLS-off:
- @${REINPLACE_CMD} -e '56,67d' \
+ @${REINPLACE_CMD} -e '55,63d' \
${WRKSRC}/setup.py
post-patch-FTP-off:
@@ -72,11 +81,17 @@ post-patch-S3-off:
post-patch-GDOCS-off:
@${RM} ${WRKSRC}/${PORTNAME}/backends/gdocsbackend.py
+post-patch-B2-off:
+ @${RM} ${WRKSRC}/${PORTNAME}/backends/b2backend.py
+
post-install:
- @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/python2.7/site-packages/duplicity/_librsync.so
+ @${STRIP_CMD} ${STAGEDIR}${PYTHON_SITELIBDIR}/duplicity/_librsync.so
post-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${PORTDOCS:S|^|${WRKSRC}/|g} ${STAGEDIR}${DOCSDIR}
+trim-duplicity-testing:
+ @${REINPLACE_CMD} '/\/testing\//d' ${TMPPLIST}
+
.include <bsd.port.mk>
diff --git a/sysutils/duplicity/distinfo b/sysutils/duplicity/distinfo
index 9647579367c7..9a7dfee3cb7f 100644
--- a/sysutils/duplicity/distinfo
+++ b/sysutils/duplicity/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1557002912
-SHA256 (duplicity-0.7.19.tar.gz) = a6aa905a63df5101193d3e8fd4ffdf35acb9307b184ac7a9d68a76aaed6ce929
-SIZE (duplicity-0.7.19.tar.gz) = 1727321
+TIMESTAMP = 1584753603
+SHA256 (duplicity-0.8.12.1612.tar.gz) = 074cf847b273644459c840253bc39f5ed3d0a7f8545339d98b6e9a87f945c51a
+SIZE (duplicity-0.8.12.1612.tar.gz) = 1883596
diff --git a/sysutils/duplicity/files/patch-setup.py b/sysutils/duplicity/files/patch-setup.py
deleted file mode 100644
index 1e3a8de2e5f6..000000000000
--- a/sysutils/duplicity/files/patch-setup.py
+++ /dev/null
@@ -1,109 +0,0 @@
---- setup.py.orig 2017-06-15 18:48:07 UTC
-+++ setup.py
-@@ -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 @@ if sys.version_info[:2] < (2, 6) or sys.
- sys.exit(1)
-
- 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', '')
-@@ -47,15 +49,9 @@ if os.name == 'posix':
- incdir_list = [os.path.join(LIBRSYNC_DIR, 'include')]
- libdir_list = [os.path.join(LIBRSYNC_DIR, 'lib')]
-
--data_files = [('share/man/man1',
-+data_files = [('man/man1',
- ['bin/duplicity.1',
- 'bin/rdiffdir.1']),
-- ('share/doc/duplicity-%s' % version_string,
-- ['COPYING',
-- 'README',
-- 'README-REPO',
-- 'README-LOG',
-- 'CHANGELOG']),
- ]
-
- top_dir = os.path.dirname(os.path.abspath(__file__))
-@@ -70,46 +66,9 @@ for root, dirs, files in os.walk(os.path
- ["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")
-- build_cmd.run()
-- # And make sure our scripts are ready
-- build_scripts_cmd = self.get_finalized_command("build_scripts")
-- build_scripts_cmd.run()
--
-- # make symlinks for test data
-- if build_cmd.build_lib != top_dir:
-- 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:
-- os.symlink(src, target)
-- except Exception:
-- pass
--
-- os.environ['PATH'] = "%s:%s" % (
-- os.path.abspath(build_scripts_cmd.build_dir),
-- os.environ.get('PATH'))
--
-- test.run(self)
--
--
- 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
-- # and mark ourselves to skip building when we run() for real.
-- self.run_command('build')
-- self.skip_build = True
--
-- # This should always be true, but just to make sure!
-- if self.build_lib != top_dir:
-- testing_dir = os.path.join(self.build_lib, 'testing')
-- os.system("rm -rf %s" % testing_dir)
-
- install.run(self)
-
-@@ -177,11 +136,7 @@ setup(name="duplicity",
- url="http://duplicity.nongnu.org/index.html",
- 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",
-@@ -192,10 +147,7 @@ setup(name="duplicity",
- scripts=['bin/rdiffdir', 'bin/duplicity'],
- data_files=data_files,
- install_requires=['fasteners'],
-- tests_require=['fasteners', 'mock', 'pexpect'],
-- test_suite='testing',
-- cmdclass={'test': TestCommand,
-- 'install': InstallCommand,
-+ cmdclass={'install': InstallCommand,
- 'sdist': SDistCommand,
- 'build_scripts': BSCommand},
- )
diff --git a/sysutils/duplicity/pkg-message b/sysutils/duplicity/pkg-message
index 18762697c34c..af575d9ab71b 100644
--- a/sysutils/duplicity/pkg-message
+++ b/sysutils/duplicity/pkg-message
@@ -14,16 +14,24 @@
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
+EOM
+}
+{ type: upgrade
+ maximum_version: "0.8.12"
+ message: <<EOM
+ The sysutils/duplicity port has been updated to 0.8.12, current stable
+ release. A new port sysutils/duplicity07 has been created to keep version
+ 0.7.19 in the tree, as it uses a deprecated version of Python, it will be
+ removed soon. It will be kept for a while just in case some incompatibilities
+ still show up.
+ If you would like to keep using 0.7.19, please run the following command
+ to update pkg database:
-
- Some fixes related to gnupg handling were made in v0.7.12.
-
- Please visit the following URL for more information:
- http://duplicity.nongnu.org/CHANGELOG
+ pkg set -n duplicity:duplicity07
+ pkg set -o sysutils/duplicity:sysutils/duplicity07
EOM
}
]