On 06/28/15 17:25, viq wrote:
> Process in large part inspired by 
> https://gist.github.com/molobrakos/ff1620ce6031c99f120b and all ports
> are present at https://github.com/jasperla/openbsd-wip/
> 
I tested only duplicity upgrade and I cannot do incremental backups anymore.

To reproduce:
Install duplicity-0.6.26
$ duplicity --full-if-older-than 1W /tmp scp://$server/bk --ssh-askpass

Upgrade to duplicity-0.7.02
$ duplicity --full-if-older-than 1W /tmp scp://$server/bk --ssh-askpass
Password for 'giovanni@$server': 
Local and Remote metadata are synchronized, no sync needed.
Last full backup date: Tue Jul  7 13:08:51 2015
GnuPG passphrase: 
Retype passphrase to confirm: 
Attempt 1 failed. BackendException: scp get 
duplicity-full.20150707T110851Z.manifest.gpg failed: incorrect response 'C0600 
291 duplicity-full.20150707T110851Z.manifest.gpg'

 Cheers
  Giovanni
Index: Makefile
===================================================================
RCS file: /var/cvs/ports/sysutils/duplicity/Makefile,v
retrieving revision 1.33
diff -u -p -r1.33 Makefile
--- Makefile	4 Jun 2015 04:19:12 -0000	1.33
+++ Makefile	6 Jul 2015 21:17:28 -0000
@@ -1,8 +1,8 @@
-# $OpenBSD: Makefile,v 1.33 2015/06/04 04:19:12 ajacoutot Exp $
+# $OpenBSD: Makefile,v 1.32 2015/01/02 20:11:18 jca Exp $
 
 COMMENT =	encrypted backup using rsync algorithm
 
-MODPY_EGG_VERSION = 0.6.26
+MODPY_EGG_VERSION = 0.7.02
 DISTNAME =	duplicity-${MODPY_EGG_VERSION}
 
 CATEGORIES =	sysutils
@@ -21,7 +21,8 @@ WANTLIB +=	pthread rsync ${MODPY_WANTLIB
 LIB_DEPENDS +=	net/librsync \
 		${MODPY_LIB_DEPENDS}
 
-RUN_DEPENDS +=	net/py-boto \
+RUN_DEPENDS +=	devel/py-pexpect \
+		net/py-boto \
 		net/ncftp \
 		sysutils/py-lockfile
 
@@ -30,10 +31,5 @@ MAKE_ENV +=	LIBRSYNC_DIR=${LOCALBASE}
 # Some regression tests are hanging
 # TEST_DEPENDS =	devel/py-mock
 NO_TEST =	Yes
-
-# XXX 600 mode prevents from reading the man page;
-# check if still required at next update
-post-extract:
-	chmod 644 ${WRKSRC}/bin/*.1
 
 .include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /var/cvs/ports/sysutils/duplicity/distinfo,v
retrieving revision 1.18
diff -u -p -r1.18 distinfo
--- distinfo	4 Jun 2015 04:19:12 -0000	1.18
+++ distinfo	6 Jul 2015 21:18:25 -0000
@@ -1,2 +1,2 @@
-SHA256 (duplicity-0.6.26.tar.gz) = i++KXYBbea4XflTUIVIji84bKq+a0y4DosOiDL1OB0o=
-SIZE (duplicity-0.6.26.tar.gz) = 1270436
+SHA256 (duplicity-0.7.02.tar.gz) = YJRiukMnU0CuT8AI7mYgJlzcLGiYjKriiZcd1gntAzo=
+SIZE (duplicity-0.7.02.tar.gz) = 1384495
Index: patches/patch-bin_duplicity
===================================================================
RCS file: /var/cvs/ports/sysutils/duplicity/patches/patch-bin_duplicity,v
retrieving revision 1.6
diff -u -p -r1.6 patch-bin_duplicity
--- patches/patch-bin_duplicity	14 Nov 2014 07:49:33 -0000	1.6
+++ patches/patch-bin_duplicity	6 Jul 2015 21:17:48 -0000
@@ -1,13 +1,14 @@
 $OpenBSD: patch-bin_duplicity,v 1.6 2014/11/14 07:49:33 brad Exp $
---- bin/duplicity.orig	Fri May  9 09:27:41 2014
-+++ bin/duplicity	Sat Aug  9 00:18:15 2014
-@@ -1223,9 +1223,12 @@ def check_resources(action):
+--- bin/duplicity.orig	Wed Mar 11 12:33:38 2015
++++ bin/duplicity	Fri Apr 10 18:02:47 2015
+@@ -1248,10 +1248,12 @@ def check_resources(action):
                             log.ErrorCode.get_ulimit_failed)
          maxopen = min([l for l in (soft, hard) if l > -1])
          if maxopen < 1024:
 -            log.FatalError(_("Max open files of %s is too low, should be >= 1024.\n"
 -                             "Use 'ulimit -n 1024' or higher to correct.\n") % (maxopen,),
--                             log.ErrorCode.maxopen_too_low)
+-                           log.ErrorCode.maxopen_too_low)
+-
 +            try:
 +              resource.setrlimit(resource.RLIMIT_NOFILE, (1024, hard))
 +            except resource.error:
Index: patches/patch-bin_duplicity_1
===================================================================
RCS file: /var/cvs/ports/sysutils/duplicity/patches/patch-bin_duplicity_1,v
retrieving revision 1.2
diff -u -p -r1.2 patch-bin_duplicity_1
--- patches/patch-bin_duplicity_1	14 Nov 2014 07:49:33 -0000	1.2
+++ patches/patch-bin_duplicity_1	6 Jul 2015 21:17:48 -0000
@@ -1,8 +1,8 @@
 $OpenBSD: patch-bin_duplicity_1,v 1.2 2014/11/14 07:49:33 brad Exp $
 Document the ssh backend change from paramiko to pexpect.
---- bin/duplicity.1.orig	Fri May  9 09:27:41 2014
-+++ bin/duplicity.1	Sat Aug  9 00:18:15 2014
-@@ -108,7 +108,7 @@ There are two
+--- bin/duplicity.1.orig	Wed Mar 11 12:33:38 2015
++++ bin/duplicity.1	Tue Apr  7 21:25:33 2015
+@@ -119,7 +119,7 @@ There are two
  for scp/sftp/ssh access (also see
  .BR "A NOTE ON SSH BACKENDS" ).
  .TP
@@ -11,7 +11,7 @@ Document the ssh backend change from par
  .B paramiko
  (SSH2 for python)
  - http://pypi.python.org/pypi/paramiko (downloads); http://github.com/paramiko/paramiko (project page)
-@@ -117,7 +117,7 @@ for scp/sftp/ssh access (also see
+@@ -128,7 +128,7 @@ for scp/sftp/ssh access (also see
  (Python Cryptography Toolkit)
  - http://www.dlitz.net/software/pycrypto/
  .TP
@@ -19,20 +19,20 @@ Document the ssh backend change from par
 +.BR "ssh pexpect backend" " (default on OpenBSD)"
  .B sftp/scp client binaries
  OpenSSH - http://www.openssh.com/
- .TP
-@@ -874,9 +874,9 @@ This password is also used for passphrase-protected ss
- .TP
- .BI "--ssh-backend " backend
- Allows the explicit selection of a ssh backend. Defaults to
--.BR paramiko .
-+.BR "pexpect on OpenBSD" .
- Alternatively you might choose
--.BR pexpect .
-+.BR paramiko .
+ .br
+@@ -1257,9 +1257,9 @@ scp://.. or
+ .br
+ sftp://user[:password]@other.host[:port]/[relative|/absolute]_path
+ .PP
+-.BR "defaults" " are paramiko+scp:// and paramiko+sftp://";
++.BR "defaults" " are pexpect+scp:// and pexpect+sftp://";
+ .br
+-.BR "alternatively" " try pexpect+scp://, pexpect+sftp://, lftp+sftp://";
++.BR "alternatively" " try paramiko+scp://, paramiko+sftp://, lftp+sftp://";
  .br
  See also
- .BR "A NOTE ON SSH BACKENDS" .
-@@ -1578,7 +1578,7 @@ backend allows to define
+ .BR --ssh-askpass ,
+@@ -1812,7 +1812,7 @@ backend allows to define
  .BR --scp-command " and"
  .BR --sftp-command .
  .PP
@@ -41,7 +41,7 @@ Document the ssh backend change from par
  is a complete reimplementation of ssh protocols natively in python. Advantages
  are speed and maintainability. Minor disadvantage is that extra packages are
  needed as listed in
-@@ -1591,7 +1591,7 @@ mode (
+@@ -1825,7 +1825,7 @@ mode (
  .I --use-scp
  ) though scp access is used for put/get operations but listing is done via ssh remote shell.
  .PP
Index: patches/patch-duplicity_globals_py
===================================================================
RCS file: patches/patch-duplicity_globals_py
diff -N patches/patch-duplicity_globals_py
--- patches/patch-duplicity_globals_py	14 Nov 2014 07:49:33 -0000	1.2
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,15 +0,0 @@
-$OpenBSD: patch-duplicity_globals_py,v 1.2 2014/11/14 07:49:33 brad Exp $
-Switch the default ssh backend from paramiko to pexpect.
---- duplicity/globals.py.orig	Fri May  9 09:27:41 2014
-+++ duplicity/globals.py	Sat Aug  9 00:18:15 2014
-@@ -231,8 +231,8 @@ sftp_command = None
- # default to batch mode using public-key encryption
- ssh_askpass = False
- 
--# default ssh backend is paramiko
--ssh_backend = "paramiko"
-+# default ssh backend is pexpect
-+ssh_backend = "pexpect"
- 
- # user added ssh options
- ssh_options = ""
Index: patches/patch-setup_py
===================================================================
RCS file: /var/cvs/ports/sysutils/duplicity/patches/patch-setup_py,v
retrieving revision 1.6
diff -u -p -r1.6 patch-setup_py
--- patches/patch-setup_py	14 Nov 2014 07:49:33 -0000	1.6
+++ patches/patch-setup_py	6 Jul 2015 21:17:48 -0000
@@ -1,7 +1,7 @@
 $OpenBSD: patch-setup_py,v 1.6 2014/11/14 07:49:33 brad Exp $
---- setup.py.orig	Fri May  9 09:27:41 2014
-+++ setup.py	Sat Aug  9 00:18:15 2014
-@@ -45,17 +45,9 @@ if os.name == 'posix':
+--- setup.py.orig	Tue Apr  7 21:33:00 2015
++++ setup.py	Tue Apr  7 21:33:46 2015
+@@ -46,15 +46,9 @@ if os.name == 'posix':
          incdir_list = [os.path.join(LIBRSYNC_DIR, 'include')]
          libdir_list = [os.path.join(LIBRSYNC_DIR, 'lib')]
  
@@ -14,8 +14,6 @@ $OpenBSD: patch-setup_py,v 1.6 2014/11/1
 -                'README',
 -                'README-REPO',
 -                'README-LOG',
--                'tarfile-LICENSE',
--                'tarfile-CHANGES',
 -                'CHANGELOG']),
                ]
  
Index: pkg/PLIST
===================================================================
RCS file: /var/cvs/ports/sysutils/duplicity/pkg/PLIST,v
retrieving revision 1.14
diff -u -p -r1.14 PLIST
--- pkg/PLIST	1 Nov 2014 10:28:15 -0000	1.14
+++ pkg/PLIST	6 Jul 2015 21:18:14 -0000
@@ -25,44 +25,59 @@ lib/python${MODPY_VERSION}/site-packages
 lib/python${MODPY_VERSION}/site-packages/duplicity/backends/_cf_cloudfiles.pyc
 lib/python${MODPY_VERSION}/site-packages/duplicity/backends/_cf_pyrax.py
 lib/python${MODPY_VERSION}/site-packages/duplicity/backends/_cf_pyrax.pyc
-lib/python${MODPY_VERSION}/site-packages/duplicity/backends/_ssh_paramiko.py
-lib/python${MODPY_VERSION}/site-packages/duplicity/backends/_ssh_paramiko.pyc
-lib/python${MODPY_VERSION}/site-packages/duplicity/backends/_ssh_pexpect.py
-lib/python${MODPY_VERSION}/site-packages/duplicity/backends/_ssh_pexpect.pyc
+lib/python${MODPY_VERSION}/site-packages/duplicity/backends/azurebackend.py
+lib/python${MODPY_VERSION}/site-packages/duplicity/backends/azurebackend.pyc
 lib/python${MODPY_VERSION}/site-packages/duplicity/backends/botobackend.py
 lib/python${MODPY_VERSION}/site-packages/duplicity/backends/botobackend.pyc
 lib/python${MODPY_VERSION}/site-packages/duplicity/backends/cfbackend.py
 lib/python${MODPY_VERSION}/site-packages/duplicity/backends/cfbackend.pyc
+lib/python${MODPY_VERSION}/site-packages/duplicity/backends/copycombackend.py
+lib/python${MODPY_VERSION}/site-packages/duplicity/backends/copycombackend.pyc
 lib/python${MODPY_VERSION}/site-packages/duplicity/backends/dpbxbackend.py
 lib/python${MODPY_VERSION}/site-packages/duplicity/backends/dpbxbackend.pyc
-lib/python${MODPY_VERSION}/site-packages/duplicity/backends/ftpbackend.py
-lib/python${MODPY_VERSION}/site-packages/duplicity/backends/ftpbackend.pyc
-lib/python${MODPY_VERSION}/site-packages/duplicity/backends/ftpsbackend.py
-lib/python${MODPY_VERSION}/site-packages/duplicity/backends/ftpsbackend.pyc
 lib/python${MODPY_VERSION}/site-packages/duplicity/backends/gdocsbackend.py
 lib/python${MODPY_VERSION}/site-packages/duplicity/backends/gdocsbackend.pyc
 lib/python${MODPY_VERSION}/site-packages/duplicity/backends/giobackend.py
 lib/python${MODPY_VERSION}/site-packages/duplicity/backends/giobackend.pyc
 lib/python${MODPY_VERSION}/site-packages/duplicity/backends/hsibackend.py
 lib/python${MODPY_VERSION}/site-packages/duplicity/backends/hsibackend.pyc
+lib/python${MODPY_VERSION}/site-packages/duplicity/backends/hubicbackend.py
+lib/python${MODPY_VERSION}/site-packages/duplicity/backends/hubicbackend.pyc
 lib/python${MODPY_VERSION}/site-packages/duplicity/backends/imapbackend.py
 lib/python${MODPY_VERSION}/site-packages/duplicity/backends/imapbackend.pyc
+lib/python${MODPY_VERSION}/site-packages/duplicity/backends/lftpbackend.py
+lib/python${MODPY_VERSION}/site-packages/duplicity/backends/lftpbackend.pyc
 lib/python${MODPY_VERSION}/site-packages/duplicity/backends/localbackend.py
 lib/python${MODPY_VERSION}/site-packages/duplicity/backends/localbackend.pyc
 lib/python${MODPY_VERSION}/site-packages/duplicity/backends/megabackend.py
 lib/python${MODPY_VERSION}/site-packages/duplicity/backends/megabackend.pyc
+lib/python${MODPY_VERSION}/site-packages/duplicity/backends/ncftpbackend.py
+lib/python${MODPY_VERSION}/site-packages/duplicity/backends/ncftpbackend.pyc
+lib/python${MODPY_VERSION}/site-packages/duplicity/backends/onedrivebackend.py
+lib/python${MODPY_VERSION}/site-packages/duplicity/backends/onedrivebackend.pyc
+lib/python${MODPY_VERSION}/site-packages/duplicity/backends/par2backend.py
+lib/python${MODPY_VERSION}/site-packages/duplicity/backends/par2backend.pyc
+lib/python${MODPY_VERSION}/site-packages/duplicity/backends/pydrivebackend.py
+lib/python${MODPY_VERSION}/site-packages/duplicity/backends/pydrivebackend.pyc
+lib/python${MODPY_VERSION}/site-packages/duplicity/backends/pyrax_identity/
+lib/python${MODPY_VERSION}/site-packages/duplicity/backends/pyrax_identity/__init__.py
+lib/python${MODPY_VERSION}/site-packages/duplicity/backends/pyrax_identity/__init__.pyc
+lib/python${MODPY_VERSION}/site-packages/duplicity/backends/pyrax_identity/hubic.py
+lib/python${MODPY_VERSION}/site-packages/duplicity/backends/pyrax_identity/hubic.pyc
 lib/python${MODPY_VERSION}/site-packages/duplicity/backends/rsyncbackend.py
 lib/python${MODPY_VERSION}/site-packages/duplicity/backends/rsyncbackend.pyc
-lib/python${MODPY_VERSION}/site-packages/duplicity/backends/sshbackend.py
-lib/python${MODPY_VERSION}/site-packages/duplicity/backends/sshbackend.pyc
+lib/python${MODPY_VERSION}/site-packages/duplicity/backends/ssh_paramiko_backend.py
+lib/python${MODPY_VERSION}/site-packages/duplicity/backends/ssh_paramiko_backend.pyc
+lib/python${MODPY_VERSION}/site-packages/duplicity/backends/ssh_pexpect_backend.py
+lib/python${MODPY_VERSION}/site-packages/duplicity/backends/ssh_pexpect_backend.pyc
 lib/python${MODPY_VERSION}/site-packages/duplicity/backends/swiftbackend.py
 lib/python${MODPY_VERSION}/site-packages/duplicity/backends/swiftbackend.pyc
+lib/python${MODPY_VERSION}/site-packages/duplicity/backends/sxbackend.py
+lib/python${MODPY_VERSION}/site-packages/duplicity/backends/sxbackend.pyc
 lib/python${MODPY_VERSION}/site-packages/duplicity/backends/tahoebackend.py
 lib/python${MODPY_VERSION}/site-packages/duplicity/backends/tahoebackend.pyc
 lib/python${MODPY_VERSION}/site-packages/duplicity/backends/webdavbackend.py
 lib/python${MODPY_VERSION}/site-packages/duplicity/backends/webdavbackend.pyc
-lib/python${MODPY_VERSION}/site-packages/duplicity/backends/~par2wrapperbackend.py
-lib/python${MODPY_VERSION}/site-packages/duplicity/backends/~par2wrapperbackend.pyc
 lib/python${MODPY_VERSION}/site-packages/duplicity/cached_ops.py
 lib/python${MODPY_VERSION}/site-packages/duplicity/cached_ops.pyc
 lib/python${MODPY_VERSION}/site-packages/duplicity/collections.py
@@ -103,24 +118,18 @@ lib/python${MODPY_VERSION}/site-packages
 lib/python${MODPY_VERSION}/site-packages/duplicity/patchdir.pyc
 lib/python${MODPY_VERSION}/site-packages/duplicity/path.py
 lib/python${MODPY_VERSION}/site-packages/duplicity/path.pyc
-lib/python${MODPY_VERSION}/site-packages/duplicity/pexpect.py
-lib/python${MODPY_VERSION}/site-packages/duplicity/pexpect.pyc
 lib/python${MODPY_VERSION}/site-packages/duplicity/progress.py
 lib/python${MODPY_VERSION}/site-packages/duplicity/progress.pyc
 lib/python${MODPY_VERSION}/site-packages/duplicity/robust.py
 lib/python${MODPY_VERSION}/site-packages/duplicity/robust.pyc
 lib/python${MODPY_VERSION}/site-packages/duplicity/selection.py
 lib/python${MODPY_VERSION}/site-packages/duplicity/selection.pyc
-lib/python${MODPY_VERSION}/site-packages/duplicity/static.py
-lib/python${MODPY_VERSION}/site-packages/duplicity/static.pyc
 lib/python${MODPY_VERSION}/site-packages/duplicity/statistics.py
 lib/python${MODPY_VERSION}/site-packages/duplicity/statistics.pyc
 lib/python${MODPY_VERSION}/site-packages/duplicity/tarfile.py
 lib/python${MODPY_VERSION}/site-packages/duplicity/tarfile.pyc
 lib/python${MODPY_VERSION}/site-packages/duplicity/tempdir.py
 lib/python${MODPY_VERSION}/site-packages/duplicity/tempdir.pyc
-lib/python${MODPY_VERSION}/site-packages/duplicity/urlparse_2_5.py
-lib/python${MODPY_VERSION}/site-packages/duplicity/urlparse_2_5.pyc
 lib/python${MODPY_VERSION}/site-packages/duplicity/util.py
 lib/python${MODPY_VERSION}/site-packages/duplicity/util.pyc
 @man man/man1/duplicity.1

Reply via email to