Commit 9a345490 authored by bescoto's avatar bescoto

Final changes for 0.13.0 (small test changes, Fedora spec packaging)


git-svn-id: http://svn.savannah.nongnu.org/svn/rdiff-backup@356 2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109
parent 76173d9a
......@@ -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)
---------------------------
......
......@@ -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)
......
......@@ -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
......
......@@ -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))
......@@ -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.
......
......@@ -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):
......
......@@ -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):
......
......@@ -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):
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment