rsync-backup.in, lib.sh.in: Move some definitions to a library.
[rsync-backup] / debian / control
index 4c0df73..39a21a4 100644 (file)
@@ -6,17 +6,58 @@ XS-Python-Version: >= 2.5
 Build-Depends: mlib-dev (>= 2.2.1), debhelper (>= 8.1)
 Standards-Version: 3.1.1
 
 Build-Depends: mlib-dev (>= 2.2.1), debhelper (>= 8.1)
 Standards-Version: 3.1.1
 
+Package: fshash
+Architecture: all
+Depends: python
+Description: Calculate a digest of a filesystem.
+ The `fshash' program generates digests of filesystems.  It aims to provide
+ three properties:
+ .
+   * Completeness: the digest describes everything `interesting' about the
+     filesystem, such that two filesystems which are interestingly different
+     will have different digests.
+ .
+   * Canonicalness: if two filesystems aren't different in any interesting
+     way, then their digests should be identical.
+ .
+   * Readability: given two subtly different filesystems, it should be easy
+     for a human equipped with digests for them and diff(1) to work out what
+     the differences actually are.
+ .
+ The digests include cryptographic hashes of the files.  These can take time
+ to compute, so `fshash' can keep a cache of hashes.
+
+Package: rfreezefs
+Architecture: linux-any
+Depends: ${shlibs:Depends}
+Recommends: ssh-server
+Description: Freeze filesystems safely under remote control.
+ Filesystems can be `frozen', i.e., placed in a consistent state, with write
+ operations delayed.  This is useful when taking snapshots, and LVM (for
+ example) freezes filesystems mounted on a logical volume automatically when
+ taking a snapshot.  This doesn't work if the filesystem is mounted on a
+ separate machine from the one hosting the block device, e.g., if the volume
+ is provided by a VM host to its guest, or as a remote block device.
+ .
+ The `rfreezefs' program explicitly freezes a filesystem so that a consistent
+ snapshot can be taken.  It goes to considerable lengths to avoid unpleasant
+ conditions such as deadlocks while filesystems are frozen.
+
 Package: rsync-backup
 Package: rsync-backup
-Architecture: any
-Depends: ${shlibs:Depends}, rsync, openssh-client
+Architecture: all
+Depends: rsync, openssh-client, fshash
 Recommends: lvm2
 Recommends: lvm2
+Suggests: rfreezefs
 Description: Yet another `rsync --link-dest' backup script.
  It uses rsync's ability to create hardlinks from (apparently) similar
 Description: Yet another `rsync --link-dest' backup script.
  It uses rsync's ability to create hardlinks from (apparently) similar
- existing local trees to make incremental dumps efficient, even from remote
+ existing local trees to make incremental dumps efficient, even from remote
  sources.  Restoring files is easy because the backups created are just
  sources.  Restoring files is easy because the backups created are just
- directories full of files, exactly as they were on the source - and this is
- verified using the fshash(1) program (included).
+ directories full of files, exactly as they were on the source -- and this is
+ verified using `fshash'.
  .
  The script does more than just running rsync.  It is also responsible for
  creating and removing snapshots of volumes to be backed up, and expiring old
  dumps according to a user-specified retention policy.
  .
  The script does more than just running rsync.  It is also responsible for
  creating and removing snapshots of volumes to be backed up, and expiring old
  dumps according to a user-specified retention policy.
+ .
+ The `fshash' package is required on the server and all of the clients.  The
+ `rfreezefs' package may be useful on clients which are VM guests.