From c3f9b609d464fee9577e62178248cafa205d7c41 Mon Sep 17 00:00:00 2001 From: "Danilo G. Baio" Date: Sat, 21 Mar 2020 22:43:35 +0000 Subject: [PATCH] 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. --- sysutils/Makefile | 1 + sysutils/duplicity/Makefile | 41 ++++++--- sysutils/duplicity/distinfo | 6 +- sysutils/duplicity/pkg-message | 20 +++-- sysutils/duplicity07/Makefile | 86 +++++++++++++++++++ sysutils/duplicity07/distinfo | 3 + .../files/patch-setup.py | 0 sysutils/duplicity07/pkg-descr | 8 ++ sysutils/duplicity07/pkg-message | 29 +++++++ 9 files changed, 172 insertions(+), 22 deletions(-) create mode 100644 sysutils/duplicity07/Makefile create mode 100644 sysutils/duplicity07/distinfo rename sysutils/{duplicity => duplicity07}/files/patch-setup.py (100%) create mode 100644 sysutils/duplicity07/pkg-descr create mode 100644 sysutils/duplicity07/pkg-message diff --git a/sysutils/Makefile b/sysutils/Makefile index 9d813227fd92..a8dc3492ed6c 100644 --- a/sysutils/Makefile +++ b/sysutils/Makefile @@ -282,6 +282,7 @@ SUBDIR += dupd SUBDIR += duplicity SUBDIR += duplicity-devel + SUBDIR += duplicity07 SUBDIR += duply SUBDIR += dupmerge SUBDIR += dvd+rw-tools 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} + ${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= python:2.7 shebangfix -USE_PYTHON= autoplist distutils +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 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/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: < +# $FreeBSD$ + +PORTNAME= duplicity +PORTVERSION= 0.7.19 +PORTREVISION= 1 +CATEGORIES= sysutils +MASTER_SITES= http://launchpad.net/duplicity/0.7-series/${PORTVERSION}/+download/ +PKGNAMESUFFIX= 07 + +MAINTAINER= dbaio@FreeBSD.org +COMMENT= Backup tool that uses librsync and GnuPG + +LICENSE= GPLv2+ +LICENSE_FILE= ${WRKSRC}/COPYING + +DEPRECATED= Uses deprecated version of Python +EXPIRATION_DATE=2020-06-20 + +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 +USE_LDCONFIG= yes + +CONFLICTS_INSTALL= duplicity duplicity-devel + +SHEBANG_FILES= bin/duplicity bin/rdiffdir + +PORTDOCS= CHANGELOG COPYING README README-REPO README-LOG + +OPTIONS_DEFINE= DOCS FTP FTPS GDOCS NLS S3 +OPTIONS_GROUP= GPG +OPTIONS_SINGLE= GPG +OPTIONS_SINGLE_GPG= GNUPG GNUPG2 +OPTIONS_DEFAULT= FTP FTPS GNUPG2 S3 +FTP_DESC= FTP backend +FTPS_DESC= FTPS backend +GDOCS_DESC= Google Docs backend +GPG_DESC= GnuPG support +GNUPG_DESC= Use GnuPG 1 +GNUPG2_DESC= Use GnuPG 2 +S3_DESC= Amazon S3 backend + +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} +GNUPG_RUN_DEPENDS= gnupg1>=1.4.7:security/gnupg1 +GNUPG2_RUN_DEPENDS= gpg2:security/gnupg +NLS_USES= gettext +S3_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}boto>=1.6b:devel/py-boto@${PY_FLAVOR} + +post-patch: +.for f in cfbackend _cf_cloudfiles _cf_pyrax giobackend + @${RM} ${WRKSRC}/${PORTNAME}/backends/${f}.py +.endfor + +post-patch-NLS-off: + @${REINPLACE_CMD} -e '56,67d' \ + ${WRKSRC}/setup.py + +post-patch-FTP-off: + @${RM} ${WRKSRC}/${PORTNAME}/backends/ftpbackend.py + +post-patch-FTPS-off: + @${RM} ${WRKSRC}/${PORTNAME}/backends/ftpsbackend.py + +post-patch-S3-off: +.for f in botobackend _boto_multi _boto_single + @${RM} ${WRKSRC}/${PORTNAME}/backends/${f}.py +.endfor + +post-patch-GDOCS-off: + @${RM} ${WRKSRC}/${PORTNAME}/backends/gdocsbackend.py + +post-install: + @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/python2.7/site-packages/duplicity/_librsync.so + +post-install-DOCS-on: + @${MKDIR} ${STAGEDIR}${DOCSDIR} + ${INSTALL_DATA} ${PORTDOCS:S|^|${WRKSRC}/|g} ${STAGEDIR}${DOCSDIR} + +.include diff --git a/sysutils/duplicity07/distinfo b/sysutils/duplicity07/distinfo new file mode 100644 index 000000000000..9647579367c7 --- /dev/null +++ b/sysutils/duplicity07/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1557002912 +SHA256 (duplicity-0.7.19.tar.gz) = a6aa905a63df5101193d3e8fd4ffdf35acb9307b184ac7a9d68a76aaed6ce929 +SIZE (duplicity-0.7.19.tar.gz) = 1727321 diff --git a/sysutils/duplicity/files/patch-setup.py b/sysutils/duplicity07/files/patch-setup.py similarity index 100% rename from sysutils/duplicity/files/patch-setup.py rename to sysutils/duplicity07/files/patch-setup.py diff --git a/sysutils/duplicity07/pkg-descr b/sysutils/duplicity07/pkg-descr new file mode 100644 index 000000000000..282f8bf6530f --- /dev/null +++ b/sysutils/duplicity07/pkg-descr @@ -0,0 +1,8 @@ +Duplicity backs directories by producing encrypted tar-format volumes and +uploading them to a remote or local file server. Because duplicity uses +librsync, the incremental archives are space efficient and only record the +parts of files that have changed since the last backup. Because duplicity +uses GnuPG to encrypt and/or sign these archives, they will be safe from +spying and/or modification by the server. + +WWW: http://duplicity.nongnu.org diff --git a/sysutils/duplicity07/pkg-message b/sysutils/duplicity07/pkg-message new file mode 100644 index 000000000000..18762697c34c --- /dev/null +++ b/sysutils/duplicity07/pkg-message @@ -0,0 +1,29 @@ +[ +{ type: install + message: <