[PATCH] gnu: Add snapper.

  • Done
  • quality assurance status badge
Details
3 participants
  • Hartmut Goebel
  • Ludovic Courtès
  • Nicolas Graves
Owner
unassigned
Submitted by
Nicolas Graves
Severity
normal
N
N
Nicolas Graves wrote on 20 Aug 2022 23:39
(address . guix-patches@gnu.org)
8735dqmw72.fsf@ngraves.fr
* gnu/packages/file-systems.scm (snapper): New variable.
---
gnu/packages/file-systems.scm | 66 +++++++++++++++++++++++++++++++++++
1 file changed, 66 insertions(+)

Toggle diff (105 lines)
diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm
index d326b9cc3d..41f03f686f 100644
--- a/gnu/packages/file-systems.scm
+++ b/gnu/packages/file-systems.scm
@@ -49,6 +49,7 @@ (define-module (gnu packages file-systems)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
+ #:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages crypto)
@@ -59,6 +60,7 @@ (define-module (gnu packages file-systems)
#:use-module (gnu packages docbook)
#:use-module (gnu packages flex)
#:use-module (gnu packages gawk)
+ #:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages golang)
@@ -66,6 +68,8 @@ (define-module (gnu packages file-systems)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages libffi)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages m4)
+ #:use-module (gnu packages ncurses)
#:use-module (gnu packages nfs)
#:use-module (gnu packages onc-rpc)
#:use-module (gnu packages openldap)
@@ -85,6 +89,7 @@ (define-module (gnu packages file-systems)
#:use-module (gnu packages tls)
#:use-module (gnu packages valgrind)
#:use-module (gnu packages version-control)
+ #:use-module (gnu packages web)
#:use-module (gnu packages xml))

(define-public autofs
@@ -1539,6 +1544,67 @@ (define-public python-dropbox
Dropbox API v2.")
(license license:expat)))

+(define-public snapper
+ (package
+ (name "snapper")
+ (version "0.10.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/openSUSE/snapper")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0x9anracaa19yqkc0x8wangrkdrx01kdy07c55lvlqrjyimfm4ih"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (delete-file-recursively "dists")
+ (delete-file-recursively "zypp-plugin")
+ (substitute* '("configure.ac" "doc/Makefile.am")
+ ((".*dists.*") "")
+ ((".*zypp-plugin.*") ""))
+ (substitute* "Makefile.am"
+ (("zypp-plugin") ""))))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'relative-file-locations
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out")))
+ (substitute* (list "scripts/Makefile.am" "data/Makefile.am")
+ (("/usr/share") (string-append out "/share"))
+ (("/usr/lib") (string-append out "/lib"))
+ (("/etc/") (string-append out "/etc/"))))
+ (substitute* "client/Makefile.am"
+ (("/usr/lib") "@libdir@")))))))
+ (home-page "https://snapper.io")
+ (native-inputs
+ (list glibc-locales autoconf automake libtool pkg-config dbus))
+ (inputs
+ `(("btrfs" ,btrfs-progs)
+ ("e2fs" ,e2fsprogs)
+ ("libmount" ,util-linux "lib")
+ ("dbus" ,dbus)
+ ("libxml" ,libxml2)
+ ("json-c" ,json-c)
+ ("libacl" ,acl)
+ ("boost" ,boost)
+ ("libxslt" ,libxslt)
+ ("docbook-xsl" ,docbook-xsl)
+ ("gettext" ,gettext-minimal)
+ ("pam" ,linux-pam)
+ ("ncurses" ,ncurses/tinfo)))
+ (synopsis "Manage filesystem snapshots and allow roll-backs")
+ (description "\
+This package provides Snapper, a tool that helps with managing
+snapshots of Btrfs subvolumes and thin-provisioned LVM volumes. It
+can create and compare snapshots, revert differences between them, and
+supports automatic snapshots timelines.")
+ (license license:gpl2)))
+
(define-public dbxfs
(package
(name "dbxfs")
--
2.37.2

--
Best regards,
Nicolas Graves
N
N
Nicolas Graves wrote on 10 Feb 2023 17:43
(address . 57311@debbugs.gnu.org)
87mt5lbhe8.fsf@ngraves.fr
Quick reminder for this forgotten patch ;)

--
Best regards,
Nicolas Graves
N
N
Nicolas Graves wrote on 3 Feb 14:31 +0100
[PATCH v2] gnu: Add snapper.
(address . 57311@debbugs.gnu.org)(address . ngraves@ngraves.fr)
20240203133159.16379-1-ngraves@ngraves.fr
* gnu/packages/file-systems.scm (snapper): New variable.
---
gnu/packages/file-systems.scm | 55 +++++++++++++++++++++++++++++++++++
1 file changed, 55 insertions(+)

Toggle diff (89 lines)
diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm
index 4a0976ad84..be035c5ee1 100644
--- a/gnu/packages/file-systems.scm
+++ b/gnu/packages/file-systems.scm
@@ -67,6 +67,7 @@ (define-module (gnu packages file-systems)
#:use-module (gnu packages flex)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gawk)
+ #:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg)
@@ -82,6 +83,8 @@ (define-module (gnu packages file-systems)
#:use-module (gnu packages linux)
#:use-module (gnu packages maths)
#:use-module (gnu packages man)
+ #:use-module (gnu packages m4)
+ #:use-module (gnu packages ncurses)
#:use-module (gnu packages nfs)
#:use-module (gnu packages onc-rpc)
#:use-module (gnu packages openldap)
@@ -106,6 +109,7 @@ (define-module (gnu packages file-systems)
#:use-module (gnu packages tls)
#:use-module (gnu packages valgrind)
#:use-module (gnu packages version-control)
+ #:use-module (gnu packages web)
#:use-module (gnu packages xml))
(define-public autofs
@@ -1219,6 +1223,57 @@ (define-public apfs-fuse
(home-page "https://github.com/sgan81/apfs-fuse")
(license license:gpl2+))))
+(define-public snapper
+ (package
+ (name "snapper")
+ (version "0.10.7")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/openSUSE/snapper")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0nwmyzjwid1lf29dsr6w72dr781c81xyrjpk5y3scn4r55b5df0h"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (delete-file-recursively "dists")
+ (delete-file-recursively "zypp-plugin")
+ (substitute* '("configure.ac" "doc/Makefile.am")
+ ((".*dists.*") "")
+ ((".*zypp-plugin.*") ""))
+ (substitute* "Makefile.am"
+ (("zypp-plugin") ""))))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'relative-file-locations
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out")))
+ (substitute* (list "scripts/Makefile.am" "data/Makefile.am")
+ (("/usr/share") (string-append out "/share"))
+ (("/usr/lib") (string-append out "/lib"))
+ (("/etc/") (string-append out "/etc/"))))
+ (substitute* "client/Makefile.am"
+ (("/usr/lib") "@libdir@")))))))
+ (home-page "https://snapper.io")
+ (native-inputs
+ (list glibc-locales autoconf automake libtool pkg-config))
+ (inputs
+ (list btrfs-progs e2fsprogs `(,util-linux "lib") linux-pam
+ dbus libxml2 json-c acl boost ncurses/tinfo
+ libxslt docbook-xsl gettext-minimal))
+ (synopsis "Manage filesystem snapshots and allow roll-backs")
+ (description "\
+This package provides Snapper, a tool that helps with managing
+snapshots of Btrfs subvolumes and thin-provisioned LVM volumes. It
+can create and compare snapshots, revert differences between them, and
+supports automatic snapshots timelines.")
+ (license license:gpl2)))
+
(define-public xfstests
;; The last release (1.1.0) is from 2011.
(let ((revision "3")
--
2.41.0
H
H
Hartmut Goebel wrote on 16 Feb 22:06 +0100
QA review for 57311
0f8aca45-1bd9-4a9c-efb7-3adb43f693a9@crazy-compilers.com
user guix
usertag 57311 + reviewed-looks-good
thanks

Guix QA review form submission:
- If this is btrfs-only, the synobsis should mention btrfs.
- Please re-wrap the desription to not have an escaped newline. Start
text jsut after opening quote.

Items marked as checked: Package builds, Commit messages, New package
licenses, New package tests

--
Regards
Hartmut Goebel

| Hartmut Goebel | h.goebel@crazy-compilers.com |
| www.crazy-compilers.com | compilers which you thought are impossible |
L
L
Ludovic Courtès wrote on 18 Feb 15:50 +0100
Re: [bug#57311] [PATCH v2] gnu: Add snapper.
(name . Nicolas Graves)(address . ngraves@ngraves.fr)
87le7hn7wk.fsf@gnu.org
Hi Nicolas,

Nicolas Graves <ngraves@ngraves.fr> skribis:

Toggle quote (2 lines)
> * gnu/packages/file-systems.scm (snapper): New variable.

Applied with the changes below, most of which suggested by Hartmut.

Thanks!

Ludo’.
Toggle diff (64 lines)
diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm
index f1035ac86a..40f1383a56 100644
--- a/gnu/packages/file-systems.scm
+++ b/gnu/packages/file-systems.scm
@@ -1250,28 +1250,41 @@ (define-public snapper
(("zypp-plugin") ""))))))
(build-system gnu-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'relative-file-locations
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out")))
- (substitute* (list "scripts/Makefile.am" "data/Makefile.am")
- (("/usr/share") (string-append out "/share"))
- (("/usr/lib") (string-append out "/lib"))
- (("/etc/") (string-append out "/etc/"))))
- (substitute* "client/Makefile.am"
- (("/usr/lib") "@libdir@")))))))
+ (list #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'relative-file-locations
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out")))
+ (substitute* (list "scripts/Makefile.am"
+ "data/Makefile.am")
+ (("/usr/share")
+ (string-append out "/share"))
+ (("/usr/lib")
+ (string-append out "/lib"))
+ (("/etc/")
+ (string-append out "/etc/"))))
+ (substitute* "client/Makefile.am"
+ (("/usr/lib")
+ "@libdir@")))))))
(home-page "https://snapper.io")
(native-inputs
(list glibc-locales autoconf automake libtool pkg-config))
(inputs
- (list btrfs-progs e2fsprogs `(,util-linux "lib") linux-pam
- dbus libxml2 json-c acl boost ncurses/tinfo
- libxslt docbook-xsl gettext-minimal))
- (synopsis "Manage filesystem snapshots and allow roll-backs")
- (description "\
-This package provides Snapper, a tool that helps with managing
-snapshots of Btrfs subvolumes and thin-provisioned LVM volumes. It
+ (list btrfs-progs
+ e2fsprogs
+ `(,util-linux "lib")
+ linux-pam
+ dbus
+ libxml2
+ json-c
+ acl
+ boost
+ ncurses/tinfo
+ libxslt
+ docbook-xsl
+ gettext-minimal))
+ (synopsis "Manage Btrfs file system snapshots and allow roll-backs")
+ (description "This package provides Snapper, a tool that helps with
+managing snapshots of Btrfs subvolumes and thin-provisioned LVM volumes. It
can create and compare snapshots, revert differences between them, and
supports automatic snapshots timelines.")
(license license:gpl2)))
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 57311@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 57311
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch