summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbescoto <bescoto@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109>2003-07-22 10:44:50 +0000
committerbescoto <bescoto@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109>2003-07-22 10:44:50 +0000
commitb2b876fdc2544ffa01bb41228f50ede90298f638 (patch)
tree337b96250afd4465a75daf8a1783c5de4c590733
parent3617a1f5be2c8c90d2e3c98a642279c58981c3d7 (diff)
downloadrdiff-backup-b2b876fdc2544ffa01bb41228f50ede90298f638.tar.gz
Final changes for 0.13.0 (small test changes, Fedora spec packaging)
git-svn-id: http://svn.savannah.nongnu.org/svn/rdiff-backup/trunk@356 2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109
-rw-r--r--rdiff-backup/CHANGELOG23
-rw-r--r--rdiff-backup/TODO2
-rwxr-xr-xrdiff-backup/dist/makedist5
-rwxr-xr-xrdiff-backup/dist/makerpm14
-rw-r--r--rdiff-backup/dist/rdiff-backup.spec.template (renamed from rdiff-backup/dist/rdiff-backup.spec)22
-rw-r--r--rdiff-backup/rdiff_backup/rpath.py4
-rw-r--r--rdiff-backup/testing/FilenameMappingtest.py3
-rw-r--r--rdiff-backup/testing/resourceforktest.py2
8 files changed, 52 insertions, 23 deletions
diff --git a/rdiff-backup/CHANGELOG b/rdiff-backup/CHANGELOG
index 83e97f6..ae1a62c 100644
--- a/rdiff-backup/CHANGELOG
+++ b/rdiff-backup/CHANGELOG
@@ -11,15 +11,29 @@ fsyncing. Options such as --windows-mode, --chars-to-quote,
Now rdiff-backup supports user extended attributes (EAs). To take
advantage of this you will need the python module pyxattr and a file
system that supports EAs. Thanks to Greg Freemyer for valuable
-discussion on EA and ACL support.
+discussion.
Support for access control lists (ACLs) was also added. An ACL
capable file system and the python package pylibacl (which exports the
-posix1e module) are required.
+posix1e module) are required. Thanks to Greg Freemyer for valuable
+discussion.
Thanks to patches by Daniel Hazelbaker, rdiff-backup now reads and
writes Mac OS X style resource forks!
+****** Warning ****** The above features are new to this development
+release, and it is difficult to test all the possibly combinations of
+source and destination file systems. They should not be considered
+stable. However, help would be appreciated testing these new
+features.
+
+****** Warning #2 ****** rdiff-backup records ACL and EA information
+in files designed to be compatible with the utilities "getfacl" and
+"getfattr". However, there is a possible security hole in both these
+formats (see
+http://acl.bestbits.at/pipermail/acl-devel/2003-June/001498.html).
+rdiff-backup's format will be fixed when getf{attr|acl}'s is.
+
Added --list-increment-sizes switch, which tells you how much space
the various backup files take up. (Suggested by Andrew Bressen)
@@ -31,6 +45,11 @@ Troels Arvin.)
Fixed bug with --check-destination and --windows-mode reported by
Tucker Sylvestro.
+The librsync blocksize is now chosen based on filesize. This should
+make operations on large files faster (in some cases, orders of
+magnitude faster). Thanks to Ty! Boyack for bringing this issue to my
+attention.
+
New in v0.12.0 (2003/06/26)
---------------------------
diff --git a/rdiff-backup/TODO b/rdiff-backup/TODO
index bb65ff6..a203a16 100644
--- a/rdiff-backup/TODO
+++ b/rdiff-backup/TODO
@@ -4,6 +4,8 @@ by Andrew Bressen.
Profile 0.13.0
+Do more large file timing tests?
+
---------[ Medium term ]---------------------------------------
Look into sparse file support (requested by Stelios K. Kyriacou)
diff --git a/rdiff-backup/dist/makedist b/rdiff-backup/dist/makedist
index 511afc6..cc337ff 100755
--- a/rdiff-backup/dist/makedist
+++ b/rdiff-backup/dist/makedist
@@ -7,8 +7,7 @@ DistDir = "dist"
# Various details about the files must also be specified by the rpm
# spec template.
-spec_template = "dist/rdiff-backup.spec"
-#redhat_spec_template = "dist/rdiff-backup.rh7x.spec"
+spec_template = "dist/rdiff-backup.spec.template"
def CopyMan(destination, version):
"""Create updated man page at the specified location"""
@@ -115,7 +114,7 @@ def MakeTar():
def MakeSpecFile():
"""Create spec file using spec template"""
- specfile = "rdiff-backup-%s-2.spec" % Version
+ specfile = "rdiff-backup.spec"
VersionedCopy(spec_template, specfile)
return specfile
diff --git a/rdiff-backup/dist/makerpm b/rdiff-backup/dist/makerpm
index cddfdb2..129cbed 100755
--- a/rdiff-backup/dist/makerpm
+++ b/rdiff-backup/dist/makerpm
@@ -6,23 +6,23 @@ rpmroot = "/home/ben/rpm"
if len(sys.argv) == 2:
version = sys.argv[1]
- specfile = "rdiff-backup-%s-2.spec" % version
+ specfile = "rdiff-backup.spec"
print "Using specfile %s" % specfile
else:
print "Syntax: %s version_number" % sys.argv[0]
sys.exit(1)
-base = ".".join(specfile.split(".")[:-1])
-srcrpm = base+".src.rpm"
-i386rpm = base+".i386.rpm"
-source_rpm = base+".src.rpm"
-tarfile = "-".join(base.split("-")[:-1]) + ".tar.gz"
+base = "rdiff-backup-%s" % (version,)
+tarfile = base + ".tar.gz"
+rpmbase = base + "-0.fdr.1" # Fedora suffix, with release number 1
+i386_rpm = rpmbase + ".i386.rpm"
+source_rpm = rpmbase + ".src.rpm"
# These assume the rpm root directory $HOME/rpm. The
# nonstandard location allows for building by non-root user.
assert not os.system("cp %s %s/SOURCES" % (tarfile, rpmroot))
#assert not os.system("rpm -ba --sign -vv --target i386 " + specfile)
assert not os.system("rpmbuild -ba -v --sign " + specfile)
-assert not os.system("mv %s/RPMS/i386/%s ." % (rpmroot, i386rpm))
+assert not os.system("mv %s/RPMS/i386/%s ." % (rpmroot, i386_rpm))
assert not os.system("mv %s/SRPMS/%s ." % (rpmroot, source_rpm))
diff --git a/rdiff-backup/dist/rdiff-backup.spec b/rdiff-backup/dist/rdiff-backup.spec.template
index 2073b51..0249336 100644
--- a/rdiff-backup/dist/rdiff-backup.spec
+++ b/rdiff-backup/dist/rdiff-backup.spec.template
@@ -3,13 +3,14 @@
Version: $version
Summary: Convenient and transparent local/remote incremental mirror/backup
Name: rdiff-backup
-Release: 2
-URL: http://www.stanford.edu/~bescoto/rdiff-backup/
-Source: %{name}-%{version}.tar.gz
-Copyright: GPL
+Release: 0.fdr.1
+Epoch: 0
+URL: http://rdiff-backup.stanford.edu/
+Source: http://rdiff-backup.stanford.edu/%{name}-%{version}.tar.gz
+License: GPL
Group: Applications/Archiving
-BuildRoot: %{_tmppath}/%{name}-root
-requires: librsync >= 0.9.5.1, %{PYTHON_NAME} >= 2.2
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+Requires: librsync >= 0.9.5.1, %{PYTHON_NAME} >= 2.2
BuildPrereq: %{PYTHON_NAME}-devel >= 2.2, librsync-devel >= 0.9.5.1
%description
@@ -38,12 +39,15 @@ differences from the previous backup will be transmitted.
%files
%defattr(-,root,root)
-/usr/bin/rdiff-backup
-/usr/share/man/man1
-/usr/lib
+%{_bindir}/rdiff-backup
+%{_mandir}/man1/rdiff-backup*
+%{_libdir}/
%doc CHANGELOG COPYING FAQ.html README
%changelog
+* Sun Jul 20 2003 Ben Escoto <bescoto@stanford.edu>
+- Minor changes to comply with Fedora standards.
+
* Sun Jan 19 2002 Troels Arvin <troels@arvin.dk>
- Builds, no matter if Python 2.2 is called python2-2.2 or python-2.2.
diff --git a/rdiff-backup/rdiff_backup/rpath.py b/rdiff-backup/rdiff_backup/rpath.py
index c13e003..a04f2ed 100644
--- a/rdiff-backup/rdiff_backup/rpath.py
+++ b/rdiff-backup/rdiff_backup/rpath.py
@@ -172,7 +172,8 @@ def cmp_attribs(rp1, rp2):
if Globals.change_ownership and rp1.getuidgid() != rp2.getuidgid():
result = None
elif rp1.getperms() != rp2.getperms(): result = None
- elif rp1.getctime() != rp2.getctime(): result = None
+ # Don't compare ctime for now, add later
+ #elif rp1.getctime() != rp2.getctime(): result = None
elif rp1.issym() and rp2.issym(): # Don't check times for some types
result = 1
elif rp1.isblkdev() and rp2.isblkdev(): result = 1
@@ -662,6 +663,7 @@ class RPath(RORPath):
# mtimes on symlinks and dev files don't work consistently
data['mtime'] = long(statblock[stat.ST_MTIME])
data['atime'] = long(statblock[stat.ST_ATIME])
+ data['ctime'] = long(statblock[stat.ST_CTIME])
return data
def check_consistency(self):
diff --git a/rdiff-backup/testing/FilenameMappingtest.py b/rdiff-backup/testing/FilenameMappingtest.py
index 66ab786..e364c59 100644
--- a/rdiff-backup/testing/FilenameMappingtest.py
+++ b/rdiff-backup/testing/FilenameMappingtest.py
@@ -5,7 +5,8 @@ from rdiff_backup import FilenameMapping
class FilenameMappingTest(unittest.TestCase):
"""Test the FilenameMapping class, for quoting filenames"""
def setUp(self):
- """Just initialize quoting - assume windows mode"""
+ """Just initialize quoting"""
+ Globals.chars_to_quote = 'A-Z'
FilenameMapping.set_init_quote_vals()
def testBasicQuote(self):
diff --git a/rdiff-backup/testing/resourceforktest.py b/rdiff-backup/testing/resourceforktest.py
index 453f2b6..4617b28 100644
--- a/rdiff-backup/testing/resourceforktest.py
+++ b/rdiff-backup/testing/resourceforktest.py
@@ -64,6 +64,7 @@ class ResourceForkTest(unittest.TestCase):
rp1_2.touch()
rp1_3.symlink('foo')
rp1_1.write_resource_fork('This should appear in resource fork')
+ rp1_1.chmod(0400) # test for bug changing resource forks after perms
rp1_2.write_resource_fork('Data for the resource fork 2')
@@ -75,6 +76,7 @@ class ResourceForkTest(unittest.TestCase):
rp2_2.touch()
rp2_3.touch()
rp2_1.write_resource_fork('New data for resource fork 1')
+ rp2_1.chmod(0400)
rp2_3.write_resource_fork('New fork')
def testSeriesLocal(self):