[PATCH] gnu: Add zfs-auto-snapshot.

DoneSubmitted by raid5atemyhomework.
Details
2 participants
  • Arun Isaac
  • raid5atemyhomework
Owner
unassigned
Severity
normal
R
R
raid5atemyhomework wrote on 14 Mar 09:55 +0100
(name . Guix Patches)(address . guix-patches@gnu.org)
8khDgDFm8YAH3rsudpda_ASV2o4CdQLmejmEXU3QkRkUFrMfewbzBrqrC4OO2mvpuQUckFSwYmSGadSjNy87Z7NKas5fupZILvGtvPJSa3Y=@protonmail.com
From be0c4d4ef73e68ace117f2a1b1396331a4fcdf84 Mon Sep 17 00:00:00 2001From: raid5atemyhomework <raid5atemyhomework@protonmail.com>Date: Sun, 14 Mar 2021 16:40:47 +0800Subject: [PATCH] gnu: Add zfs-auto-snapshot.
* gnu/packages/file-systems.scm (zfs-auto-snapshot): New variable.--- gnu/packages/file-systems.scm | 54 +++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+)
Toggle diff (65 lines)diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scmindex e7d78e41fb..0543be2d82 100644--- a/gnu/packages/file-systems.scm+++ b/gnu/packages/file-systems.scm@@ -975,6 +975,60 @@ originally developed for Solaris and is now maintained by the OpenZFS community.") (license license:cddl1.0)))
+(define-public zfs-auto-snapshot+ (package+ (name "zfs-auto-snapshot")+ (version "1.2.4")+ (source+ (origin+ (method url-fetch)+ (uri (string-append+ "https://github.com/zfsonlinux/zfs-auto-snapshot/archive/upstream/"+ version ".tar.gz"))+ (sha256+ (base32 "16ry1w43i44xc67gr73x6fa48ninfhqxr498ad4m3kya93vp2zrh"))))+ (build-system gnu-build-system)+ (arguments+ `(#:tests? #f ; No tests+ #:phases+ (modify-phases %standard-phases+ (delete 'configure)+ (delete 'build)+ ;; Guix System may not have a traditional cron system, but+ ;; the cron scripts installed by this package are convenient+ ;; to use as targets for an mcron job specification, so make+ ;; sure they can be run in-store.+ (add-before 'install 'fix-cron-scripts+ (lambda* (#:key outputs #:allow-other-keys)+ (let* ((out (assoc-ref outputs "out"))+ (zfs-auto-snapshot (string-append+ out+ "/sbin/zfs-auto-snapshot")))+ (substitute* '("etc/zfs-auto-snapshot.cron.daily"+ "etc/zfs-auto-snapshot.cron.frequent"+ "etc/zfs-auto-snapshot.cron.hourly"+ "etc/zfs-auto-snapshot.cron.monthly"+ "etc/zfs-auto-snapshot.cron.weekly")+ (("zfs-auto-snapshot")+ zfs-auto-snapshot)))))+ ;; Provide DESTDIR and PREFIX on make command.+ (replace 'install+ (lambda* (#:key outputs #:allow-other-keys)+ (let ((out (assoc-ref outputs "out")))+ (invoke "make" "install"+ "PREFIX="+ (string-append "DESTDIR=" out)))+ #t)))))+ (home-page "https://github.com/zfsonlinux/zfs-auto-snapshot")+ (synopsis "Automatically create, rotate, and destroy periodic ZFS snapshots")+ (description+ "An alternative implementation of the zfs-auto-snapshot service for Linux+that is compatible with zfs-linux and zfs-fuse.++On Guix System, you will need to invoke the installed shell scripts as @code{job}+declarations in your @code{operating-system} configuration.")+ (license license:gpl2+)))+ (define-public mergerfs (package (name "mergerfs")
--2.30.2
R
R
raid5atemyhomework wrote on 14 Mar 12:07 +0100
(name . 47134@debbugs.gnu.org)(address . 47134@debbugs.gnu.org)
cFZtsT-Osf6JnCduXoi5G147PJ79gE7lnMKDLGbaQtSlfDttpd_NpRSPquWwYInyoRxHeqjW-Wqp-yMqhPtBrJS0-KKRmg7mZu8m1n0cx1Y=@protonmail.com
It works if you have `zfs` installed in your profile and invoke the shell script within the profile, but not if you are running from a non-profile environment, such as from `mcron`.
Lemme think what is best to do...
R
R
raid5atemyhomework wrote on 14 Mar 13:04 +0100
[PATCH v2] gnu: Add zfs-auto-snapshot.
(name . 47134@debbugs.gnu.org)(address . 47134@debbugs.gnu.org)
vFeyg6oSb1vLNonWd3wE9MHvg23Axb7YdzyIpIOuiZOE894ODcKjKBq9Z0J9AP8xw-bCsgUma9ixgjWrKDHCcQza54WQpkHQTaXei00BmkM=@protonmail.com
Have it refer to specific zfs package.
Users that inherit from the zfs package in order to compile for a specific kernel version should also inherit from this package and pass in their zfs.
Testing done:
* `guix build -f zfs-auto-snapshot.scm` on a scheme file containing only this package.* Ran the hourly, daily, weekly, and monthly scripts "by hand". Also confirmed `com.sun:auto-snapshot` and `com.sun:auto-snapshot:*` settings work.* Currently have it running in a homelab server with mcron triggers on the hourly, daily, weekly, and monthly scripts, at least one hourly trigger has passed and snapshots were indeed created without any errors in `/var/log/messages`.* Checked the installed scripts and verified that the `zfs` and `zpool` commands refer to specific in-store binaries.
Please merge!
Thanksraid5atemyhomework
From 7425298029dd1c9b4f2b3bba675ddbe7eb730744 Mon Sep 17 00:00:00 2001From: raid5atemyhomework <raid5atemyhomework@protonmail.com>Date: Sun, 14 Mar 2021 16:40:47 +0800Subject: [PATCH] gnu: Add zfs-auto-snapshot.
* gnu/packages/file-systems.scm (zfs-auto-snapshot): New variable.--- gnu/packages/file-systems.scm | 75 +++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+)
Toggle diff (86 lines)diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scmindex e7d78e41fb..4d01b3da46 100644--- a/gnu/packages/file-systems.scm+++ b/gnu/packages/file-systems.scm@@ -975,6 +975,81 @@ originally developed for Solaris and is now maintained by the OpenZFS community.") (license license:cddl1.0)))
+(define-public zfs-auto-snapshot+ (package+ (name "zfs-auto-snapshot")+ (version "1.2.4")+ (source+ (origin+ (method url-fetch)+ (uri (string-append+ "https://github.com/zfsonlinux/zfs-auto-snapshot/archive/upstream/"+ version ".tar.gz"))+ (sha256+ (base32 "16ry1w43i44xc67gr73x6fa48ninfhqxr498ad4m3kya93vp2zrh"))))+ (build-system gnu-build-system)+ (inputs+ ;; Note: if you are inheriting from the above zfs package in order+ ;; to provide a specific stable kernel version, you should also+ ;; inherit this package and replace the sole input below.+ `(("zfs" ,zfs)))+ (arguments+ `(#:tests? #f ; No tests+ #:phases+ (modify-phases %standard-phases+ (delete 'configure)+ (delete 'build)+ ;; Guix System may not have a traditional cron system, but+ ;; the cron scripts installed by this package are convenient+ ;; to use as targets for an mcron job specification, so make+ ;; sure they can be run in-store.+ (add-before 'install 'fix-scripts+ (lambda* (#:key outputs inputs #:allow-other-keys)+ (let* ((out (assoc-ref outputs "out"))+ (zfs-auto-snapshot (string-append+ out+ "/sbin/zfs-auto-snapshot"))+ (zfs-package (assoc-ref inputs "zfs"))+ (zpool (string-append+ zfs-package+ "/sbin/zpool"))+ (zfs (string-append+ zfs-package+ "/sbin/zfs")))+ (substitute* '("etc/zfs-auto-snapshot.cron.daily"+ "etc/zfs-auto-snapshot.cron.frequent"+ "etc/zfs-auto-snapshot.cron.hourly"+ "etc/zfs-auto-snapshot.cron.monthly"+ "etc/zfs-auto-snapshot.cron.weekly")+ (("zfs-auto-snapshot")+ zfs-auto-snapshot))+ (substitute* "src/zfs-auto-snapshot.sh"+ (("LC_ALL=C zfs list")+ (string-append "LC_ALL=C " zfs " list"))+ (("LC_ALL=C zpool status")+ (string-append "LC_ALL=C " zpool " status"))+ (("zfs snapshot")+ (string-append zfs " snapshot"))+ (("zfs destroy")+ (string-append zfs " destroy"))))))+ ;; Provide DESTDIR and PREFIX on make command.+ (replace 'install+ (lambda* (#:key outputs #:allow-other-keys)+ (let ((out (assoc-ref outputs "out")))+ (invoke "make" "install"+ "PREFIX="+ (string-append "DESTDIR=" out)))+ #t)))))+ (home-page "https://github.com/zfsonlinux/zfs-auto-snapshot")+ (synopsis "Automatically create, rotate, and destroy periodic ZFS snapshots")+ (description+ "An alternative implementation of the zfs-auto-snapshot service for Linux+that is compatible with zfs-linux and zfs-fuse.++On Guix System, you will need to invoke the included shell scripts as @code{job}+definitions in your @code{operating-system} declaration.")+ (license license:gpl2+)))+ (define-public mergerfs (package (name "mergerfs")
--2.30.2
A
A
Arun Isaac wrote on 2 Oct 13:39 +0200
Re: bug#47134: [PATCH] gnu: Add zfs-auto-snapshot.
(name . raid5atemyhomework)(address . raid5atemyhomework@protonmail.com)(address . 47134-done@debbugs.gnu.org)
87a6jrirjn.fsf@systemreboot.net
Hi,
It looks like Danny Milosavljevic applied this patch to master withcommit ba3b295a3ee956ac7500b5f9bb1d151b28ab30ed, but probably forgot toclose this bug. So, I'm closing now.
Thanks for contributing to Guix!Arun
-----BEGIN PGP SIGNATURE-----
iQFPBAEBCAA5FiEEf3MDQ/Lwnzx3v3nTLiXui2GAK7MFAmFYRQwbHGFydW5pc2FhY0BzeXN0ZW1yZWJvb3QubmV0AAoJEC4l7othgCuzIjEH/jL24Qzj1wi7e46OsMNcFxQwubqHbR7WnSYeFo/5OTg9KoSNlaPr0epXAxV5jki8XGaYnjH31xsa/X+AWacVJFuGKf4Xj4dJZeG55OkGarphUi9Jft4/bcXJrcj9rEl0gE/UCaGCPwCMpZ7nl4RV9s/RKfD4kaw7j1LjelaYitBfbDBk/2/VhWaSevWf7quLE43Y/yLVxJuj0x2l9HPvMrdfe8BNxHj1Kr24MvTfsOGhZoT2YSJoQtYb3ytx6jdgXCC+0eU5q4GWSF1U6vKSR6hFxVkoJBStHPh9hebvn9/yT+APxqLhgwYc3VxuFnROxePjoShlj8mWvfnigXWu/xE==YhEH-----END PGP SIGNATURE-----
Closed
?
Your comment

Commenting via the web interface is currently disabled.

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