summaryrefslogtreecommitdiff
path: root/gnu/packages/backup.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2021-07-18 16:05:21 +0200
committerLudovic Courtès <ludo@gnu.org>2021-07-18 19:50:01 +0200
commit0e47fcced442d8e7c1b05184fdc1c14f10ed04ec (patch)
tree4ae844bc0ec3c670f8697bdc24362c122fa718ad /gnu/packages/backup.scm
parente4b70bc55a538569465bcedee19d1f2607308e65 (diff)
parent8b1bde7bb3936a64244824500ffe60f123704437 (diff)
downloadguix-patches-0e47fcced442d8e7c1b05184fdc1c14f10ed04ec.tar
guix-patches-0e47fcced442d8e7c1b05184fdc1c14f10ed04ec.tar.gz
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu/packages/backup.scm')
-rw-r--r--gnu/packages/backup.scm78
1 files changed, 65 insertions, 13 deletions
diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index 7bfbffe48c..ee15836451 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -19,6 +19,7 @@
;;; Copyright © 2020 Marcin Karpezo <sirmacik@wioo.waw.pl>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2021 Timothy Sample <samplet@ngyro.com>
+;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -80,12 +81,13 @@
#:use-module (gnu packages rsync)
#:use-module (gnu packages ssh)
#:use-module (gnu packages tls)
+ #:use-module (gnu packages valgrind)
#:use-module (gnu packages xml))
(define-public duplicity
(package
(name "duplicity")
- (version "0.8.19")
+ (version "0.8.20")
(source
(origin
(method url-fetch)
@@ -94,7 +96,7 @@
"-series/" version "/+download/duplicity-"
version ".tar.gz"))
(sha256
- (base32 "1c03rp4gw97gz3dzrbrray3dh4q5an3gdq0cmxbhw3qa1nw8ni4c"))))
+ (base32 "0d125mxknpn44xwgqzzak9y5ydigscrpjv9d63126mfc6yfngr5v"))))
(build-system python-build-system)
(native-inputs
`(("gettext" ,gettext-minimal) ; for msgfmt
@@ -381,6 +383,65 @@ file names to standard output. Auxiliary scripts are needed that act on this
list and implement the backup strategy.")
(license license:gpl3+)))
+(define-public snapraid
+ (package
+ (name "snapraid")
+ (version "11.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/amadvance/snapraid")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0dlhdsmq5l208zldfr9z9g0p67wry81dr0r23lpybb5c9fm2f2rm"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags
+ (list "--enable-valgrind"
+ "--with-blkid")
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'bootstrap 'set-version
+ (lambda _
+ (setenv "VERSION" ,version)
+ (patch-shebang "autover.sh"))))))
+ (native-inputs
+ `(("automake" ,automake)
+ ("autoconf" ,autoconf)
+
+ ;; For the tests.
+ ("valgrind" ,valgrind)))
+ (inputs
+ `(("util-linux" ,util-linux "lib"))) ; libblkid
+ (home-page "https://www.snapraid.it/")
+ (synopsis "Efficient backups using parity snapshots across disk arrays")
+ (description
+ "SnapRAID backs up files stored across multiple storage devices, such as
+disk arrays, in an efficient way reminiscent of its namesake @acronym{RAID,
+Redundant Array of Independent Disks} level 4.
+
+Instead of creating a complete copy of the data like classic backups do, it
+saves space by calculating one or more sets of parity information that's a
+fraction of the size. Each parity set is stored on an additional device the
+size of the largest single storage volume, and protects against the loss of any
+one device, up to a total of six. If more devices fail than there are parity
+sets, (only) the files they contained are lost, not the entire array. Data
+corruption by unreliable devices can also be detected and repaired.
+
+SnapRAID is distinct from actual RAID in that it operates on files and creates
+distinct snapshots only when run. It mainly targets large collections of big
+files that rarely change, like home media centers. One disadvantage is that
+@emph{all} data not in the latest snapshot may be lost if one device fails. An
+advantage is that accidentally deleted files can be recovered, which is not the
+case with RAID.
+
+It's also more flexible than true RAID: devices can have different sizes and
+more can be added without disturbing others. Devices that are not in use can
+remain fully idle, saving power and producing less noise.")
+ (license license:gpl3+)))
+
(define-public btar
(package
(name "btar")
@@ -466,15 +527,6 @@ rdiff-backup is easy to use and settings have sensible defaults.")
(modify-phases %standard-phases
(replace 'check
(lambda _
- (substitute* '("t/cmd-post_pre-exec/conf/pre-true-post-true.conf"
- "t/backup_exec/conf/backup_exec_fail.conf"
- "t/backup_exec/conf/backup_exec.conf")
- (("/bin/true") (which "true"))
- (("/bin/false") (which "false")))
-
- ;; Disable a test that tries to connect to localhost on port 22.
- (delete-file "t/ssh_args/ssh_args.t.in")
-
(invoke "make" "test"))))))
(inputs
`(("perl" ,perl)
@@ -575,13 +627,13 @@ detection, and lossless compression.")
(define-public borg
(package
(name "borg")
- (version "1.1.16")
+ (version "1.1.17")
(source
(origin
(method url-fetch)
(uri (pypi-uri "borgbackup" version))
(sha256
- (base32 "0l1dqfwrd9l34rg30cmzmq5bs6yha6kg4vy313jq611jsqj94mmw"))
+ (base32 "0x0ncy0b0bmf586hbdgrif3gjmkdw760vfnfxndr493v07y29fbs"))
(modules '((guix build utils)))
(snippet
'(begin