Hello community,

here is the log from the commit of package duplicity for openSUSE:Factory 
checked in at 2016-08-26 23:14:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/duplicity (Old)
 and      /work/SRC/openSUSE:Factory/.duplicity.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "duplicity"

Changes:
--------
--- /work/SRC/openSUSE:Factory/duplicity/duplicity.changes      2016-08-16 
13:02:47.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.duplicity.new/duplicity.changes 2016-08-26 
23:14:17.000000000 +0200
@@ -1,0 +2,10 @@
+Tue Aug 23 07:40:58 UTC 2016 - w...@rosenauer.org
+
+- update to 0.7.10
+  * fixed several issues
+    - Restore from S3 fails with --with-prefix-archive if prefix
+      includes '/'
+  * Changes for connecting to IBM Bluemix ObjectStorage. See man page
+  * Allow duplicity to create remote folder
+
+-------------------------------------------------------------------

Old:
----
  duplicity-0.7.09.tar.gz

New:
----
  duplicity-0.7.10.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ duplicity.spec ++++++
--- /var/tmp/diff_new_pack.iibZ0S/_old  2016-08-26 23:14:18.000000000 +0200
+++ /var/tmp/diff_new_pack.iibZ0S/_new  2016-08-26 23:14:18.000000000 +0200
@@ -19,7 +19,7 @@
 %{!?python_sitelib:  %global python_sitelib  %(python -c "from 
distutils.sysconfig import get_python_lib; print(get_python_lib())")}
 %{!?python_sitearch: %global python_sitearch %(python -c "from 
distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
 Name:           duplicity
-Version:        0.7.09
+Version:        0.7.10
 Release:        0
 Summary:        Encrypted bandwidth-efficient backup using the rsync algorithm
 License:        GPL-3.0+

++++++ duplicity-0.7.09.tar.gz -> duplicity-0.7.10.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/duplicity-0.7.09/CHANGELOG 
new/duplicity-0.7.10/CHANGELOG
--- old/duplicity-0.7.09/CHANGELOG      2016-07-24 18:09:16.000000000 +0200
+++ new/duplicity-0.7.10/CHANGELOG      2016-08-20 21:10:14.000000000 +0200
@@ -1,3 +1,21 @@
+New in v0.7.10 (2016/08/20)
+---------------------------
+* Merged in lp:~mwilck/duplicity/0.7-series
+  - Speedup of path_matches_glob() by about 8x.  See
+    https://code.launchpad.net/~mwilck/duplicity/0.7-series/+merge/301332
+    for more details.
+* Remove -w from setsid in functional tests.
+* Fixed conflict in merge from Martin Wilck and applied
+  - https://code.launchpad.net/~mwilck/duplicity/0.7-series/+merge/301492
+  - merge fixes setsid usage in functional testing.
+* Fixed bug #1612472 with patch from David Cuthbert
+  - Restore from S3 fails with --with-prefix-archive if prefix includes '/'
+* Merged in lp:~arashad.ahamad/duplicity/duplicity_latest
+  - Changes for connecting to IBM Bluemix ObjectStorage.  See man page.
+* Merged in lp:~fenisilius/duplicity/acd_init_mkdir
+  - Allow duplicity to create remote folder
+
+
 New in v0.7.09 (2016/07/24)
 ---------------------------
 * Fixed bug #1600692 with patch from Wolfgang Rohdewald
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/duplicity-0.7.09/Changelog.GNU 
new/duplicity-0.7.10/Changelog.GNU
--- old/duplicity-0.7.09/Changelog.GNU  2016-07-24 18:14:17.000000000 +0200
+++ new/duplicity-0.7.10/Changelog.GNU  2016-08-20 21:01:34.000000000 +0200
@@ -1,3 +1,33 @@
+2016-08-20  Kenneth Loafman  <kenn...@loafman.com>
+
+    * Prep for 0.7.10
+
+2016-08-18  Kenneth Loafman  <kenn...@loafman.com>
+
+    * Merged in lp:~fenisilius/duplicity/acd_init_mkdir
+      - Allow duplicity to create remote folder
+
+2016-08-12  Kenneth Loafman  <kenn...@loafman.com>
+
+    * Fixed bug #1612472 with patch from David Cuthbert
+      - Restore from S3 fails with --with-prefix-archive if prefix includes '/'
+    * Merged in lp:~arashad.ahamad/duplicity/duplicity_latest
+      - Changes for connecting to IBM Bluemix ObjectStorage.  See man page.
+
+2016-07-31  Kenneth Loafman  <kenn...@loafman.com>
+
+    * Fixed conflict in merge from Martin Wilck and applied
+      - https://code.launchpad.net/~mwilck/duplicity/0.7-series/+merge/301492
+      - merge fixes setsid usage in functional testing.
+
+2016-07-28  Kenneth Loafman  <kenn...@loafman.com>
+
+    * Merged in lp:~mwilck/duplicity/0.7-series
+      - Speedup of path_matches_glob() by about 8x.  See
+        https://code.launchpad.net/~mwilck/duplicity/0.7-series/+merge/301332
+        for more details.
+    * Remove -w from setsid in functional tests.
+
 2016-07-24  Kenneth Loafman  <kenn...@loafman.com>
 
     * Merged in 
lp:~aaron-whitehouse/duplicity/07-fix_deja_dup_error_on_locked_files
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/duplicity-0.7.09/bin/duplicity 
new/duplicity-0.7.10/bin/duplicity
--- old/duplicity-0.7.09/bin/duplicity  2016-07-24 18:27:49.000000000 +0200
+++ new/duplicity-0.7.10/bin/duplicity  2016-08-20 21:13:49.000000000 +0200
@@ -2,7 +2,7 @@
 # -*- Mode:Python; indent-tabs-mode:nil; tab-width:4 -*-
 #
 # duplicity -- Encrypted bandwidth efficient backup
-# Version 0.7.09 released July 24, 2016
+# Version 0.7.10 released August 20, 2016
 #
 # Copyright 2002 Ben Escoto <b...@emerose.org>
 # Copyright 2007 Kenneth Loafman <kenn...@loafman.com>
@@ -1278,7 +1278,7 @@
     log Python, duplicity, and system versions
     """
     log.Log(u'=' * 80, verbosity)
-    log.Log(u"duplicity 0.7.09 (July 24, 2016)", verbosity)
+    log.Log(u"duplicity 0.7.10 (August 20, 2016)", verbosity)
     log.Log(u"Args: %s" % util.ufn(' '.join(sys.argv)), verbosity)
     log.Log(u' '.join(platform.uname()), verbosity)
     log.Log(u"%s %s" % (sys.executable or sys.platform, sys.version), 
verbosity)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/duplicity-0.7.09/bin/duplicity.1 
new/duplicity-0.7.10/bin/duplicity.1
--- old/duplicity-0.7.09/bin/duplicity.1        2016-07-24 18:27:49.000000000 
+0200
+++ new/duplicity-0.7.10/bin/duplicity.1        2016-08-20 21:13:49.000000000 
+0200
@@ -1,4 +1,4 @@
-.TH DUPLICITY 1 "July 24, 2016" "Version 0.7.09" "User Manuals" \"  -*- nroff 
-*-
+.TH DUPLICITY 1 "August 20, 2016" "Version 0.7.10" "User Manuals" \"  -*- 
nroff -*-
 .\" disable justification (adjust text to left margin only)
 .\" command line examples stay readable through that
 .ad l
@@ -1965,10 +1965,13 @@
 .B REQUIREMENTS
 above.
 
-It uses four environment variables for authentification:
+It uses following environment variables for authentification:
 .BR SWIFT_USERNAME " (required),"
 .BR SWIFT_PASSWORD " (required),"
 .BR SWIFT_AUTHURL " (required),"
+.BR SWIFT_USERID " (required, only for IBM Bluemix ObjectStorage),"
+.BR SWIFT_TENANTID " (required, only for IBM Bluemix ObjectStorage),"
+.BR SWIFT_REGIONNAME " (required, only for IBM Bluemix ObjectStorage),"
 .BR SWIFT_TENANTNAME " (optional, the tenant can be included in the username)"
 
 If the user was previously authenticated, the following environment
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/duplicity-0.7.09/bin/rdiffdir 
new/duplicity-0.7.10/bin/rdiffdir
--- old/duplicity-0.7.09/bin/rdiffdir   2016-07-24 18:27:49.000000000 +0200
+++ new/duplicity-0.7.10/bin/rdiffdir   2016-08-20 21:13:49.000000000 +0200
@@ -1,6 +1,6 @@
 #!/usr/bin/env python2
 # rdiffdir -- Extend rdiff functionality to directories
-# Version 0.7.09 released July 24, 2016
+# Version 0.7.10 released August 20, 2016
 #
 # Copyright 2002 Ben Escoto <b...@emerose.org>
 # Copyright 2007 Kenneth Loafman <kenn...@loafman.com>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/duplicity-0.7.09/bin/rdiffdir.1 
new/duplicity-0.7.10/bin/rdiffdir.1
--- old/duplicity-0.7.09/bin/rdiffdir.1 2016-07-24 18:27:49.000000000 +0200
+++ new/duplicity-0.7.10/bin/rdiffdir.1 2016-08-20 21:13:49.000000000 +0200
@@ -1,4 +1,4 @@
-.TH RDIFFDIR 1 "July 24, 2016" "Version 0.7.09" "User Manuals" \"  -*- nroff 
-*-
+.TH RDIFFDIR 1 "August 20, 2016" "Version 0.7.10" "User Manuals" \"  -*- nroff 
-*-
 .\" disable justification (adjust text to left margin only)
 .\" command line examples stay readable through that
 .ad l
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/duplicity-0.7.09/duplicity/backends/_boto_single.py 
new/duplicity-0.7.10/duplicity/backends/_boto_single.py
--- old/duplicity-0.7.09/duplicity/backends/_boto_single.py     2016-07-02 
14:44:03.000000000 +0200
+++ new/duplicity-0.7.10/duplicity/backends/_boto_single.py     2016-08-12 
22:45:39.000000000 +0200
@@ -265,7 +265,7 @@
         # Because of the need for this optimization, it should be left as is.
         # for k in self.bucket.list(prefix = self.key_prefix + 'd', delimiter 
= '/'):
         filename_list = []
-        for k in self.bucket.list(prefix=self.key_prefix, delimiter='/'):
+        for k in self.bucket.list(prefix=self.key_prefix):
             try:
                 filename = k.key.replace(self.key_prefix, '', 1)
                 filename_list.append(filename)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/duplicity-0.7.09/duplicity/backends/acdclibackend.py 
new/duplicity-0.7.10/duplicity/backends/acdclibackend.py
--- old/duplicity-0.7.09/duplicity/backends/acdclibackend.py    2016-07-02 
14:44:03.000000000 +0200
+++ new/duplicity-0.7.10/duplicity/backends/acdclibackend.py    2016-08-18 
17:23:13.000000000 +0200
@@ -59,6 +59,16 @@
 
         self.subprocess_popen(self.acd_cmd + " sync")
 
+        # Initialize remote directory
+        remote_path = urllib.unquote(self.parsed_url.path.replace('///', 
'/')).rstrip()
+        commandline = self.acd_cmd + " ls '%s'" % (remote_path)
+        try:
+            self.subprocess_popen(commandline)
+        except BackendException as e:
+            if e.code == 50:  # Remote directory not there, create a new one
+                commandline = self.acd_cmd + " mkdir '%s'" % remote_path
+                self.subprocess_popen(commandline)
+
     def _put(self, source_path, remote_filename=None):
         """Transfer source_path to remote_filename"""
         if not remote_filename:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/duplicity-0.7.09/duplicity/backends/swiftbackend.py 
new/duplicity-0.7.10/duplicity/backends/swiftbackend.py
--- old/duplicity-0.7.09/duplicity/backends/swiftbackend.py     2016-05-30 
15:23:23.000000000 +0200
+++ new/duplicity-0.7.10/duplicity/backends/swiftbackend.py     2016-08-12 
22:47:24.000000000 +0200
@@ -80,6 +80,12 @@
                     os_options.update({'tenant_name': 
os.environ['SWIFT_TENANTNAME']})
                 if 'SWIFT_ENDPOINT_TYPE' in os.environ:
                     os_options.update({'endpoint_type': 
os.environ['SWIFT_ENDPOINT_TYPE']})
+                if 'SWIFT_USERID' in os.environ:
+                    os_options.update({'user_id': os.environ['SWIFT_USERID']})
+                if 'SWIFT_TENANTID' in os.environ:
+                    os_options.update({'tenant_id': 
os.environ['SWIFT_TENANTID']})
+                if 'SWIFT_REGIONNAME' in os.environ:
+                    os_options.update({'region_name': 
os.environ['SWIFT_REGIONNAME']})
 
         else:
             conn_kwargs['auth_version'] = '1'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/duplicity-0.7.09/duplicity/globals.py 
new/duplicity-0.7.10/duplicity/globals.py
--- old/duplicity-0.7.09/duplicity/globals.py   2016-07-24 18:27:49.000000000 
+0200
+++ new/duplicity-0.7.10/duplicity/globals.py   2016-08-20 21:13:49.000000000 
+0200
@@ -26,7 +26,7 @@
 
 
 # The current version of duplicity
-version = "0.7.09"
+version = "0.7.10"
 
 # Prefix for all files (appended before type-specific prefixes)
 file_prefix = ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/duplicity-0.7.09/duplicity/globmatch.py 
new/duplicity-0.7.10/duplicity/globmatch.py
--- old/duplicity-0.7.09/duplicity/globmatch.py 2016-07-02 14:40:18.000000000 
+0200
+++ new/duplicity-0.7.10/duplicity/globmatch.py 2016-07-28 16:08:18.000000000 
+0200
@@ -49,8 +49,9 @@
     return list(map(glob_to_regex, prefixes))
 
 
-def path_matches_glob(path, glob_str, include, ignore_case=False):
-    """Tests whether path matches glob, as per the Unix shell rules, taking as
+def path_matches_glob_fn(glob_str, include, ignore_case=False):
+    """Return a function test_fn(path) which
+    tests whether path matches glob, as per the Unix shell rules, taking as
     arguments a path, a glob string and include (0 indicating that the glob
     string is an exclude glob and 1 indicating that it is an include glob,
     returning:
@@ -83,15 +84,19 @@
     scan_comp_re = re_comp("^(%s)$" %
                            "|".join(_glob_get_prefix_regexs(glob_str)))
 
-    if match_only_dirs and not path.isdir():
-        # If the glob ended with a /, only match directories
-        return None
-    elif glob_comp_re.match(path.name):
-        return include
-    elif include == 1 and scan_comp_re.match(path.name):
-        return 2
-    else:
-        return None
+    def test_fn(path):
+
+        if match_only_dirs and not path.isdir():
+            # If the glob ended with a /, only match directories
+            return None
+        elif glob_comp_re.match(path.name):
+            return include
+        elif include == 1 and scan_comp_re.match(path.name):
+            return 2
+        else:
+            return None
+
+    return test_fn
 
 
 def glob_to_regex(pat):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/duplicity-0.7.09/duplicity/selection.py 
new/duplicity-0.7.10/duplicity/selection.py
--- old/duplicity-0.7.09/duplicity/selection.py 2016-07-24 14:25:01.000000000 
+0200
+++ new/duplicity-0.7.10/duplicity/selection.py 2016-07-28 15:41:24.000000000 
+0200
@@ -33,7 +33,7 @@
 from duplicity import diffdir
 from duplicity import util  # @Reimport
 from duplicity.globmatch import GlobbingError, FilePrefixError, \
-    path_matches_glob
+    path_matches_glob_fn
 
 """Iterate exactly the requested files in a directory
 
@@ -544,13 +544,10 @@
             ignore_case = True
 
         # Check to make sure prefix is ok
-        if not path_matches_glob(self.rootpath, glob_str, include=1):
+        if not path_matches_glob_fn(glob_str, include=1)(self.rootpath):
             raise FilePrefixError(glob_str)
 
-        def sel_func(path):
-            return path_matches_glob(path, glob_str, include, ignore_case)
-
-        return sel_func
+        return path_matches_glob_fn(glob_str, include, ignore_case)
 
     def exclude_older_get_sf(self, date):
         """Return selection function based on files older than modification 
date """
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/duplicity-0.7.09/po/duplicity.pot 
new/duplicity-0.7.10/po/duplicity.pot
--- old/duplicity-0.7.09/po/duplicity.pot       2016-07-24 18:15:56.000000000 
+0200
+++ new/duplicity-0.7.10/po/duplicity.pot       2016-08-20 21:02:00.000000000 
+0200
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: Kenneth Loafman <kenn...@loafman.com>\n"
-"POT-Creation-Date: 2016-07-24 11:15-0500\n"
+"POT-Creation-Date: 2016-08-20 14:02-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <l...@li.org>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/duplicity-0.7.09/setup.py 
new/duplicity-0.7.10/setup.py
--- old/duplicity-0.7.09/setup.py       2016-07-24 18:27:49.000000000 +0200
+++ new/duplicity-0.7.10/setup.py       2016-08-20 21:13:49.000000000 +0200
@@ -28,7 +28,7 @@
 from setuptools.command.sdist import sdist
 from distutils.command.build_scripts import build_scripts
 
-version_string = "0.7.09"
+version_string = "0.7.10"
 
 if sys.version_info[:2] < (2, 6) or sys.version_info[:2] > (2, 7):
     print("Sorry, duplicity requires version 2.6 or 2.7 of python.")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/duplicity-0.7.09/testing/functional/__init__.py 
new/duplicity-0.7.10/testing/functional/__init__.py
--- old/duplicity-0.7.09/testing/functional/__init__.py 2016-01-06 
14:40:33.000000000 +0100
+++ new/duplicity-0.7.10/testing/functional/__init__.py 2016-07-31 
14:00:36.000000000 +0200
@@ -39,6 +39,24 @@
 
 class FunctionalTestCase(DuplicityTestCase):
 
+    _setsid_w = None
+
+    @classmethod
+    def _check_setsid(cls):
+        if cls._setsid_w is not None:
+            return
+        if platform.platform().startswith('Linux'):
+            # setsid behavior differs between distributions.
+            # If setsid supports -w ("wait"), use it.
+            import subprocess
+            try:
+                with open("/dev/null", "w") as sink:
+                    subprocess.check_call(["setsid", "-w", "ls"], stdout=sink, 
stderr=sink)
+            except subprocess.CalledProcessError:
+                cls._setsid_w = False
+            else:
+                cls._setsid_w = True
+
     def setUp(self):
         super(FunctionalTestCase, self).setUp()
 
@@ -55,6 +73,7 @@
         if bl:
             backend_inst.delete(backend_inst.list())
         backend_inst.close()
+        self._check_setsid()
 
     def run_duplicity(self, options=[], current_time=None, fail=None,
                       passphrase_input=[]):
@@ -66,6 +85,8 @@
         # console unexpectedly (like for gpg password or such).
         if platform.platform().startswith('Linux'):
             cmd_list = ['setsid']
+            if self._setsid_w:
+                cmd_list.extend(["-w"])
         else:
             cmd_list = []
         cmd_list.extend(["duplicity"])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/duplicity-0.7.09/testing/gnupg/README 
new/duplicity-0.7.10/testing/gnupg/README
--- old/duplicity-0.7.09/testing/gnupg/README   2014-04-28 14:35:53.000000000 
+0200
+++ new/duplicity-0.7.10/testing/gnupg/README   2016-07-28 15:41:24.000000000 
+0200
@@ -11,3 +11,5 @@
 ID: 9B736B2A
 Name: Recipient Two <t...@example.com>
 No password
+
+See also the comments in gpg.conf.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/duplicity-0.7.09/testing/gnupg/gpg.conf 
new/duplicity-0.7.10/testing/gnupg/gpg.conf
--- old/duplicity-0.7.09/testing/gnupg/gpg.conf 1970-01-01 01:00:00.000000000 
+0100
+++ new/duplicity-0.7.10/testing/gnupg/gpg.conf 2016-07-28 15:41:24.000000000 
+0200
@@ -0,0 +1,9 @@
+# gpg2 doesn't try all secrets by default, so add this option
+# Otherwise the tests with hidden encryption key will fail
+try-all-secrets
+
+# gpg2 2.1.13 has a bug that prevents the line above from working
+# (https://bugs.gnupg.org/gnupg/issue1985)
+# Uncomment the line below if you have gnupg2 2.1.13
+# (but that line will break gpg 1.x, so we can't use it by default)
+#try-secret-key 96B629431B77DC52B1917B40839E6A2856538CCF


Reply via email to