summary refs log tree commit diff
path: root/pkgs/tools/backup/rdiff-backup
diff options
context:
space:
mode:
authorMoritz Ulrich <moritz@tarn-vedra.de>2015-03-29 11:40:35 +0200
committerMoritz Ulrich <moritz@tarn-vedra.de>2015-03-29 11:40:35 +0200
commitda26c13df525772d6d84fc90ae6e95870d6a1174 (patch)
treece662812b9b58320b1a020290b1acdb8476ea2e1 /pkgs/tools/backup/rdiff-backup
parent028779fb401cce8f087a41a929b97441b96ac356 (diff)
downloadnixpkgs-da26c13df525772d6d84fc90ae6e95870d6a1174.tar
nixpkgs-da26c13df525772d6d84fc90ae6e95870d6a1174.tar.gz
nixpkgs-da26c13df525772d6d84fc90ae6e95870d6a1174.tar.bz2
nixpkgs-da26c13df525772d6d84fc90ae6e95870d6a1174.tar.lz
nixpkgs-da26c13df525772d6d84fc90ae6e95870d6a1174.tar.xz
nixpkgs-da26c13df525772d6d84fc90ae6e95870d6a1174.tar.zst
nixpkgs-da26c13df525772d6d84fc90ae6e95870d6a1174.zip
rdiff-backup: Fix build with a ArchLinux patch.
Diffstat (limited to 'pkgs/tools/backup/rdiff-backup')
-rw-r--r--pkgs/tools/backup/rdiff-backup/default.nix3
-rw-r--r--pkgs/tools/backup/rdiff-backup/fix-librsync-rs_default_strong_len.patch20
2 files changed, 22 insertions, 1 deletions
diff --git a/pkgs/tools/backup/rdiff-backup/default.nix b/pkgs/tools/backup/rdiff-backup/default.nix
index 47db1a5d4b2..bcbc8a84647 100644
--- a/pkgs/tools/backup/rdiff-backup/default.nix
+++ b/pkgs/tools/backup/rdiff-backup/default.nix
@@ -8,7 +8,8 @@ stdenv.mkDerivation {
     sha256 = "01hcwf5rgqi303fa4kdjkbpa7n8mvvh7h9gpgh2b23nz73k0q0zf";
   };
 
-  phases = "unpackPhase installPhase";
+  patches = [ ./fix-librsync-rs_default_strong_len.patch ];
+
   installPhase = ''
     python ./setup.py install --prefix=$out
     sed -i $out/bin/rdiff-backup -e \
diff --git a/pkgs/tools/backup/rdiff-backup/fix-librsync-rs_default_strong_len.patch b/pkgs/tools/backup/rdiff-backup/fix-librsync-rs_default_strong_len.patch
new file mode 100644
index 00000000000..ce23c8a8124
--- /dev/null
+++ b/pkgs/tools/backup/rdiff-backup/fix-librsync-rs_default_strong_len.patch
@@ -0,0 +1,20 @@
+Patch by Roman Tereshonkov and Kari Hautio for rdiff-backup <= 1.2.8 to avoid a build failure with
+librsync >= 1.0.0 (which is a security bugfix release). The discussion and solution finding can be
+found at https://bugs.launchpad.net/duplicity/+bug/1416344 (for duplicity).
+
+--- rdiff-backup-1.2.8/_librsyncmodule.c			2009-03-16 15:36:21.000000000 +0100
++++ rdiff-backup-1.2.8/_librsyncmodule.c.librsync-1.0.0		2015-03-02 00:54:24.000000000 +0100
+@@ -59,8 +59,13 @@
+   if (sm == NULL) return NULL;
+   sm->x_attr = NULL;
+ 
++#ifdef RS_DEFAULT_STRONG_LEN
+   sm->sig_job = rs_sig_begin((size_t)blocklen,
+ 							 (size_t)RS_DEFAULT_STRONG_LEN);
++#else
++  sm->sig_job = rs_sig_begin((size_t)blocklen,
++							 (size_t)8, RS_MD4_SIG_MAGIC);
++#endif
+   return (PyObject*)sm;
+ }
+