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.
This commit is contained in:
Danilo G. Baio 2020-03-21 22:43:35 +00:00
parent f3f7939f18
commit c3f9b609d4
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=528883
9 changed files with 172 additions and 22 deletions

View File

@ -282,6 +282,7 @@
SUBDIR += dupd
SUBDIR += duplicity
SUBDIR += duplicity-devel
SUBDIR += duplicity07
SUBDIR += duply
SUBDIR += dupmerge
SUBDIR += dvd+rw-tools

View File

@ -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 <bsd.port.mk>

View File

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

View File

@ -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
}
]

View File

@ -0,0 +1,86 @@
# Created by: Gerhard Häring <gh@ghaering.de>
# $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 <bsd.port.mk>

View File

@ -0,0 +1,3 @@
TIMESTAMP = 1557002912
SHA256 (duplicity-0.7.19.tar.gz) = a6aa905a63df5101193d3e8fd4ffdf35acb9307b184ac7a9d68a76aaed6ce929
SIZE (duplicity-0.7.19.tar.gz) = 1727321

View File

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

View File

@ -0,0 +1,29 @@
[
{ type: install
message: <<EOM
The following backends are supported by duplicity itself, but will
require manual installation of their respective dependencies because
they are not yet available in the ports tree:
- The Dropbox backend
- The HSI backend
- The mega backend for mega.co.nz
- The swift backend for OpenStack Object Storage
- The tahoe backend for Tahoe-LAFS
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
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
EOM
}
]