Hello community, here is the log from the commit of package rdiff-backup for openSUSE:Factory checked in at Mon Jan 11 18:00:07 CET 2010. -------- --- rdiff-backup/rdiff-backup.changes 2009-02-13 15:51:12.000000000 +0100 +++ /mounts/work_src_done/STABLE/rdiff-backup/rdiff-backup.changes 2009-09-03 12:13:44.000000000 +0200 @@ -1,0 +2,21 @@ +Thu Sep 3 12:11:20 CEST 2009 - poeml@suse.de + +- update to 1.2.8 + New in v1.2.8: + * Improve handling of incorrect permissions on backup repository during restore + operation. Closes Ubuntu bug #329722. (Andrew Ferguson) + * Don't crash on zlib errors. Closes Debian bug #518531. (Andrew Ferguson) + * Make sticky bit warnings quieter while determining file system abilities. + Closes Savannah bug #25788. (Andrew Ferguson) + * Fix situation where destination file cannot be opened because of an access + error. Thanks to Dean Cording for the bug report. (Andrew Ferguson) + * Fix --compare-hash options on Windows. Thanks to Serge Zub for the fix. + New in v1.2.7: + * Don't crash when filesystem can't set ACL. Thanks to Matt Thompson for the bug + report. (Andrew Ferguson) + * Properly disable hardlinks by default on Windows. + * Fix Python 2.2 compatibility. Closes Savannah bug #25529. (Andrew Ferguson) + * Fix typo which caused failure when checking if another rdiff-backup process is + running on Windows. Thanks to Ryan Hughes for the bug report. (Andrew Ferguson) + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- rdiff-backup-1.2.6.tar.bz2 New: ---- rdiff-backup-1.2.8.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rdiff-backup.spec ++++++ --- /var/tmp/diff_new_pack.WTx5Na/_old 2010-01-11 17:58:59.000000000 +0100 +++ /var/tmp/diff_new_pack.WTx5Na/_new 2010-01-11 17:58:59.000000000 +0100 @@ -1,7 +1,7 @@ # -# spec file for package rdiff-backup (Version 1.2.6) +# spec file for package rdiff-backup (Version 1.2.8) # -# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -21,9 +21,9 @@ Name: rdiff-backup BuildRequires: librsync python-devel Summary: Convenient and transparent local/remote incremental mirror/backup -Version: 1.2.6 +Version: 1.2.8 Release: 1 -License: GPL v2 or later +License: GPLv2+ Url: http://www.nongnu.org/rdiff-backup/ Source0: http://savannah.nongnu.org/download/rdiff-backup/%{name}-%{version}.tar.bz2 Group: Productivity/Archiving/Backup ++++++ rdiff-backup-1.2.6.tar.bz2 -> rdiff-backup-1.2.8.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdiff-backup-1.2.6/CHANGELOG new/rdiff-backup-1.2.8/CHANGELOG --- old/rdiff-backup-1.2.6/CHANGELOG 2009-01-27 19:13:57.000000000 +0100 +++ new/rdiff-backup-1.2.8/CHANGELOG 2009-03-16 15:36:21.000000000 +0100 @@ -1,3 +1,34 @@ +New in v1.2.8 (2009/03/16) +--------------------------- + +Improve handling of incorrect permissions on backup repository during restore +operation. Closes Ubuntu bug #329722. (Andrew Ferguson) + +Don't crash on zlib errors. Closes Debian bug #518531. (Andrew Ferguson) + +Make sticky bit warnings quieter while determining file system abilities. +Closes Savannah bug #25788. (Andrew Ferguson) + +Fix situation where destination file cannot be opened because of an access +error. Thanks to Dean Cording for the bug report. (Andrew Ferguson) + +Fix --compare-hash options on Windows. Thanks to Serge Zub for the fix. + + +New in v1.2.7 (2009/03/02) +--------------------------- + +Don't crash when filesystem can't set ACL. Thanks to Matt Thompson for the bug +report. (Andrew Ferguson) + +Properly disable hardlinks by default on Windows. + +Fix Python 2.2 compatibility. Closes Savannah bug #25529. (Andrew Ferguson) + +Fix typo which caused failure when checking if another rdiff-backup process is +running on Windows. Thanks to Ryan Hughes for the bug report. (Andrew Ferguson) + + New in v1.2.6 (2009/01/27) --------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdiff-backup-1.2.6/rdiff-backup new/rdiff-backup-1.2.8/rdiff-backup --- old/rdiff-backup-1.2.6/rdiff-backup 2009-01-27 19:13:58.000000000 +0100 +++ new/rdiff-backup-1.2.8/rdiff-backup 2009-03-16 15:36:21.000000000 +0100 @@ -1,6 +1,6 @@ #!/usr/bin/env python # rdiff-backup -- Mirror files while keeping incremental changes -# Version 1.2.6 released January 27, 2009 +# Version 1.2.8 released March 16, 2009 # Copyright (C) 2001-2005 Ben Escoto <rdiff-backup@emerose.org> # # This program is licensed under the GNU General Public License (GPL). diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdiff-backup-1.2.6/rdiff-backup-statistics new/rdiff-backup-1.2.8/rdiff-backup-statistics --- old/rdiff-backup-1.2.6/rdiff-backup-statistics 2009-01-27 19:13:58.000000000 +0100 +++ new/rdiff-backup-1.2.8/rdiff-backup-statistics 2009-03-16 15:36:21.000000000 +0100 @@ -1,6 +1,6 @@ #!/usr/bin/python # rdiff-backup-statistics -- Summarize rdiff-backup statistics files -# Version 1.2.6 released January 27, 2009 +# Version 1.2.8 released March 16, 2009 # Copyright 2005 Dean Gaudet, Ben Escoto # # This file is part of rdiff-backup. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdiff-backup-1.2.6/rdiff-backup-statistics.1 new/rdiff-backup-1.2.8/rdiff-backup-statistics.1 --- old/rdiff-backup-1.2.6/rdiff-backup-statistics.1 2009-01-27 19:13:58.000000000 +0100 +++ new/rdiff-backup-1.2.8/rdiff-backup-statistics.1 2009-03-16 15:36:21.000000000 +0100 @@ -1,4 +1,4 @@ -.TH RDIFF-BACKUP 1 "January 2009" "Version 1.2.6" "User Manuals" +.TH RDIFF-BACKUP 1 "March 2009" "Version 1.2.8" "User Manuals" .SH NAME rdiff-backup-statistics - summarize rdiff-backup statistics files .SH SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdiff-backup-1.2.6/rdiff-backup.1 new/rdiff-backup-1.2.8/rdiff-backup.1 --- old/rdiff-backup-1.2.6/rdiff-backup.1 2009-01-27 19:13:58.000000000 +0100 +++ new/rdiff-backup-1.2.8/rdiff-backup.1 2009-03-16 15:36:21.000000000 +0100 @@ -1,4 +1,4 @@ -.TH RDIFF-BACKUP 1 "January 2009" "Version 1.2.6" "User Manuals" +.TH RDIFF-BACKUP 1 "March 2009" "Version 1.2.8" "User Manuals" .SH NAME rdiff-backup - local/remote mirror and incremental backup .SH SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdiff-backup-1.2.6/rdiff-backup.spec new/rdiff-backup-1.2.8/rdiff-backup.spec --- old/rdiff-backup-1.2.6/rdiff-backup.spec 2009-01-27 19:13:57.000000000 +0100 +++ new/rdiff-backup-1.2.8/rdiff-backup.spec 2009-03-16 15:36:21.000000000 +0100 @@ -2,7 +2,7 @@ %define PYTHON_VERSION %(%{PYTHON_NAME} -c 'import sys; print sys.version[:3],') %define NEXT_PYTHON_VERSION %(%{PYTHON_NAME} -c 'import sys; print "%d.%d" % (sys.version_info[0], sys.version_info[1]+1),') -Version: 1.2.6 +Version: 1.2.8 Summary: Convenient and transparent local/remote incremental mirror/backup Name: rdiff-backup Release: 1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdiff-backup-1.2.6/rdiff-backup.spec-fedora new/rdiff-backup-1.2.8/rdiff-backup.spec-fedora --- old/rdiff-backup-1.2.6/rdiff-backup.spec-fedora 2009-01-27 19:13:57.000000000 +0100 +++ new/rdiff-backup-1.2.8/rdiff-backup.spec-fedora 2009-03-16 15:36:21.000000000 +0100 @@ -1,7 +1,7 @@ %define PYTHON_VERSION %(python -c 'import sys; print sys.version[:3],') %define NEXT_PYTHON_VERSION %(python -c 'import sys; print "%d.%d" % (sys.version_info[0], sys.version_info[1]+1),') -Version: 1.2.6 +Version: 1.2.8 Summary: Convenient and transparent local/remote incremental mirror/backup Name: rdiff-backup Release: 0.fdr.1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdiff-backup-1.2.6/rdiff_backup/Globals.py new/rdiff-backup-1.2.8/rdiff_backup/Globals.py --- old/rdiff-backup-1.2.6/rdiff_backup/Globals.py 2009-01-27 19:13:58.000000000 +0100 +++ new/rdiff-backup-1.2.8/rdiff_backup/Globals.py 2009-03-16 15:36:21.000000000 +0100 @@ -23,7 +23,7 @@ # The current version of rdiff-backup -version = "1.2.6" +version = "1.2.8" # If this is set, use this value in seconds as the current time # instead of reading it from the clock. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdiff-backup-1.2.6/rdiff_backup/Main.py new/rdiff-backup-1.2.8/rdiff_backup/Main.py --- old/rdiff-backup-1.2.6/rdiff_backup/Main.py 2009-01-27 19:13:58.000000000 +0100 +++ new/rdiff-backup-1.2.8/rdiff_backup/Main.py 2009-03-16 15:36:21.000000000 +0100 @@ -20,7 +20,7 @@ """Start (and end) here - read arguments, set global settings, etc.""" from __future__ import generators -import getopt, sys, re, os, cStringIO, tempfile +import getopt, sys, re, os, cStringIO, tempfile, errno from log import Log, LoggerError, ErrorLog import Globals, Time, SetConnections, selection, robust, rpath, \ manage, backup, connection, restore, FilenameMapping, \ @@ -426,8 +426,12 @@ global incdir try: incdir = Globals.rbdir.append_path("increments") - except (OSError, IOError), exc: - Log.FatalError("Could not begin backup due to\n%s" % exc) + except IOError, exc: + if exc.errno == errno.EACCES: + print "\n" + Log.FatalError("Could not begin backup due to\n%s" % exc) + else: + raise assert rpout.lstat(), (rpout.path, rpout.lstat()) if rpout.isdir() and not rpout.listdir(): # rpout is empty dir @@ -548,9 +552,12 @@ restore_check_paths(src_rp, dest_rp, restore_as_of) try: dest_rp.conn.fs_abilities.restore_set_globals(dest_rp) - except (OSError, IOError), exc: - print "\n" - Log.FatalError("Could not begin backup due to\n%s" % exc) + except IOError, exc: + if exc.errno == errno.EACCES: + print "\n" + Log.FatalError("Could not begin restore due to\n%s" % exc) + else: + raise init_user_group_mapping(dest_rp.conn) src_rp = restore_init_quoting(src_rp) restore_check_backup_dir(restore_root, src_rp, restore_as_of) @@ -561,9 +568,17 @@ else: time = src_rp.getinctime() restore_set_select(restore_root, dest_rp) restore_start_log(src_rp, dest_rp, time) - restore.Restore(restore_root.new_index(restore_index), - inc_rpath, dest_rp, time) - Log("Restore finished", 4) + try: + restore.Restore(restore_root.new_index(restore_index), + inc_rpath, dest_rp, time) + except IOError, exc: + if exc.errno == errno.EACCES: + print "\n" + Log.FatalError("Could not complete restore due to\n%s" % exc) + else: + raise + else: + Log("Restore finished", 4) def restore_init_quoting(src_rp): """Change rpaths into quoted versions of themselves if necessary""" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdiff-backup-1.2.6/rdiff_backup/backup.py new/rdiff-backup-1.2.8/rdiff_backup/backup.py --- old/rdiff-backup-1.2.6/rdiff_backup/backup.py 2009-01-27 19:13:57.000000000 +0100 +++ new/rdiff-backup-1.2.8/rdiff_backup/backup.py 2009-03-16 15:36:21.000000000 +0100 @@ -211,7 +211,7 @@ try: return Rdiff.get_signature(dest_rp) except IOError, e: - if (e.errno == errno.EPERM): + if (e.errno == errno.EPERM or e.errno == errno.EACCES): try: # Try chmod'ing anyway -- This can work on NFS and AFS # depending on the setup. We keep the if() statement diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdiff-backup-1.2.6/rdiff_backup/eas_acls.py new/rdiff-backup-1.2.8/rdiff_backup/eas_acls.py --- old/rdiff-backup-1.2.6/rdiff_backup/eas_acls.py 2009-01-27 19:13:57.000000000 +0100 +++ new/rdiff-backup-1.2.8/rdiff_backup/eas_acls.py 2009-03-16 15:36:21.000000000 +0100 @@ -377,7 +377,15 @@ assert rp.conn is Globals.local_connection if entry_list: acl = list_to_acl(entry_list, map_names) else: acl = posix1e.ACL() - acl.applyto(rp.path) + + try: + acl.applyto(rp.path) + except IOError, exc: + if exc[0] == errno.EOPNOTSUPP: + log.Log("Warning: unable to set ACL on %s: %s" % + (repr(rp.path), exc), 4) + return + else: raise if rp.isdir(): if default_entry_list: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdiff-backup-1.2.6/rdiff_backup/fs_abilities.py new/rdiff-backup-1.2.8/rdiff_backup/fs_abilities.py --- old/rdiff-backup-1.2.6/rdiff_backup/fs_abilities.py 2009-01-27 19:13:58.000000000 +0100 +++ new/rdiff-backup-1.2.8/rdiff_backup/fs_abilities.py 2009-03-16 15:36:21.000000000 +0100 @@ -451,15 +451,17 @@ """See if increments can have full permissions like a directory""" test_rp = rp.append('dir_inc_check') test_rp.touch() - try: test_rp.chmod(07777) + try: test_rp.chmod(07777, 4) except OSError: test_rp.delete() self.dir_inc_perms = 0 return test_rp.setdata() assert test_rp.isreg() - if test_rp.getperms() == 07777: self.dir_inc_perms = 1 - else: self.dir_inc_perms = 0 + if test_rp.getperms() == 07777 or test_rp.getperms() == 06777: + self.dir_inc_perms = 1 + else: + self.dir_inc_perms = 0 test_rp.delete() def set_carbonfile(self): @@ -527,10 +529,10 @@ tmpd_rp = dir_rp.append("high_perms_dir") tmpd_rp.touch() try: - tmpf_rp.chmod(07000) - tmpf_rp.chmod(07777) - tmpd_rp.chmod(07000) - tmpd_rp.chmod(07777) + tmpf_rp.chmod(07000, 4) + tmpf_rp.chmod(07777, 4) + tmpd_rp.chmod(07000, 4) + tmpd_rp.chmod(07777, 4) except (OSError, IOError): self.high_perms = 0 else: self.high_perms = 1 tmpf_rp.delete() @@ -605,7 +607,7 @@ if os.name == 'nt' and (desc_string == 'source' or desc_string == 'rdiff-backup repository'): log.Log("Hardlinks disabled by default on Windows", 4) - Globals.set('preserve_hardlinks', 0) + SetConnections.UpdateGlobal('preserve_hardlinks', 0) return FSAbilities(desc_string).init_readonly(rp) class SetGlobals: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdiff-backup-1.2.6/rdiff_backup/hash.py new/rdiff-backup-1.2.8/rdiff_backup/hash.py --- old/rdiff-backup-1.2.6/rdiff_backup/hash.py 2009-01-27 19:13:58.000000000 +0100 +++ new/rdiff-backup-1.2.8/rdiff_backup/hash.py 2009-03-16 15:36:21.000000000 +0100 @@ -22,7 +22,7 @@ # Until rdiff-backup is ported to Python 3 (or abandons support for versions # below Python 2.5), we'll ignore the warning about the deprecated sha module import warnings -warnings.simplefilter('ignore') +warnings.filterwarnings("ignore", ".*sha module.*", DeprecationWarning) import sha import Globals @@ -62,7 +62,7 @@ def compute_sha1(rp, compressed = 0): """Return the hex sha1 hash of given rpath""" assert rp.conn is Globals.local_connection # inefficient not to do locally - digest = compute_sha1_fp(rp.open("r", compressed)) + digest = compute_sha1_fp(rp.open("rb", compressed)) rp.set_sha1(digest) return digest diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdiff-backup-1.2.6/rdiff_backup/regress.py new/rdiff-backup-1.2.8/rdiff_backup/regress.py --- old/rdiff-backup-1.2.6/rdiff_backup/regress.py 2009-01-27 19:13:58.000000000 +0100 +++ new/rdiff-backup-1.2.8/rdiff_backup/regress.py 2009-03-16 15:36:21.000000000 +0100 @@ -351,6 +351,7 @@ except AttributeError: assert os.name == 'nt' import win32api, win32con, pywintypes + process = None try: process = win32api.OpenProcess(win32con.PROCESS_ALL_ACCESS, 0, pid) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdiff-backup-1.2.6/rdiff_backup/robust.py new/rdiff-backup-1.2.8/rdiff_backup/robust.py --- old/rdiff-backup-1.2.6/rdiff_backup/robust.py 2009-01-27 19:13:58.000000000 +0100 +++ new/rdiff-backup-1.2.8/rdiff_backup/robust.py 2009-03-16 15:36:21.000000000 +0100 @@ -19,7 +19,7 @@ """Catch various exceptions given system call""" -import errno, signal, exceptions +import errno, signal, exceptions, zlib import librsync, C, static, rpath, Globals, log, statistics, connection def check_common_error(error_handler, function, args = []): @@ -45,7 +45,8 @@ def catch_error(exc): """Return true if exception exc should be caught""" for exception_class in (rpath.SkipFileException, rpath.RPathException, - librsync.librsyncError, C.UnknownFileTypeError): + librsync.librsyncError, C.UnknownFileTypeError, + zlib.error): if isinstance(exc, exception_class): return 1 if (isinstance(exc, EnvironmentError) and # the invalid mode shows up in backups of /proc for some reason diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdiff-backup-1.2.6/rdiff_backup/rpath.py new/rdiff-backup-1.2.8/rdiff_backup/rpath.py --- old/rdiff-backup-1.2.6/rdiff_backup/rpath.py 2009-01-27 19:13:58.000000000 +0100 +++ new/rdiff-backup-1.2.8/rdiff_backup/rpath.py 2009-03-16 15:36:21.000000000 +0100 @@ -921,7 +921,7 @@ "\nName: %s\nOld: %s --> New: %s\n" % \ (self.path, temptype, self.data['type']) - def chmod(self, permissions): + def chmod(self, permissions, loglevel = 2): """Wrapper around os.chmod""" try: self.conn.os.chmod(self.path, permissions & Globals.permission_mask) @@ -932,7 +932,7 @@ # on a non-directory. Remove sticky bit and try again. log.Log("Warning: Unable to set permissions of %s to %o - " "trying again without sticky bit (%o)" % (self.path, - permissions, permissions & 06777), 2) + permissions, permissions & 06777), loglevel) self.conn.os.chmod(self.path, permissions & 06777 & Globals.permission_mask) else: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdiff-backup-1.2.6/setup.py new/rdiff-backup-1.2.8/setup.py --- old/rdiff-backup-1.2.6/setup.py 2009-01-27 19:13:58.000000000 +0100 +++ new/rdiff-backup-1.2.8/setup.py 2009-03-16 15:36:21.000000000 +0100 @@ -3,7 +3,7 @@ import sys, os, getopt from distutils.core import setup, Extension -version_string = "1.2.6" +version_string = "1.2.8" if sys.version_info[:2] < (2,2): print "Sorry, rdiff-backup requires version 2.2 or later of python" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org