summaryrefslogtreecommitdiff
path: root/gnu/packages/file-systems.scm
diff options
context:
space:
mode:
authorTobias Geerinckx-Rice <me@tobias.gr>2021-06-24 00:20:53 +0200
committerTobias Geerinckx-Rice <me@tobias.gr>2021-06-24 00:31:53 +0200
commit26a04f70fa7a3f3f661ba185d9266218eddab9b1 (patch)
tree6f1e8ad922e5ad950316d3f30d1a135909d86727 /gnu/packages/file-systems.scm
parentb87f5645b8a1e6bc1efbf3eed9ac3ccc98af1b55 (diff)
downloadguix-patches-26a04f70fa7a3f3f661ba185d9266218eddab9b1.tar
guix-patches-26a04f70fa7a3f3f661ba185d9266218eddab9b1.tar.gz
gnu: Add cachefilesd-inotify.
* gnu/packages/file-systems.scm (cachefilesd-inotify): New public variable.
Diffstat (limited to 'gnu/packages/file-systems.scm')
-rw-r--r--gnu/packages/file-systems.scm47
1 files changed, 47 insertions, 0 deletions
diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm
index e2335b8a86..fabcc10d50 100644
--- a/gnu/packages/file-systems.scm
+++ b/gnu/packages/file-systems.scm
@@ -200,6 +200,53 @@ another location, similar to @command{mount --bind}. It can be used for:
@end itemize ")
(license license:gpl2+)))
+(define-public cachefilesd-inotify
+ (package
+ (name "cachefilesd-inotify")
+ (version "0.11.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/tomalok/cachefilesd-inotify")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0qkrpz69ql6fb3fwh0l35hhf9znnqyxhgv5fzd1gl2a2kz13rq5a"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:make-flags
+ (list (string-append "CC=" ,(cc-for-target))
+ ;; The Makefile doesn't support prefix= or similar.
+ (string-append "DESTDIR=" (assoc-ref %outputs "out"))
+ "MANDIR=/share/man")
+ #:tests? #f ; no test suite
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)))) ; no configure script
+ (home-page "https://gitlab.com/tomalok/cachefilesd-inotify")
+ (synopsis
+ "CacheFiles file system cache management daemon (using @code{inotify})")
+ (description
+ "This package provides the user space component of CacheFiles, a caching
+back end that uses a directory on a locally mounted file system (such as ext4)
+as a cache to speed up (by reducing) access to a slower file system and make it
+appear more reliable.
+
+The cached file system is often a network file system such as NFS or CIFS, but
+can also be a local file system like ISO 9660 on a slow optical drive.
+
+CacheFiles itself is part of the kernel but relies on this user space
+@command{cachefilesd} daemon to perform maintenance tasks like culling and
+reaping stale nodes. Only one such daemon can be running at a time, and
+communicates with the kernel through the @file{/dev/cachefiles} character
+device.
+
+This version modifies David Howells original cachefilesd---which appears
+unmaintained---to use the @code{inotify} API instead of the deprecated
+@code{dnotify} to monitor file changes.")
+ (license license:gpl2+)))
+
(define-public davfs2
(package
(name "davfs2")