aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/file-systems.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/file-systems.scm')
-rw-r--r--gnu/packages/file-systems.scm97
1 files changed, 87 insertions, 10 deletions
diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm
index dd72152c51..9236d34f9f 100644
--- a/gnu/packages/file-systems.scm
+++ b/gnu/packages/file-systems.scm
@@ -41,27 +41,103 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages crypto)
#:use-module (gnu packages curl)
+ #:use-module (gnu packages cyrus-sasl)
#:use-module (gnu packages datastructures)
#:use-module (gnu packages documentation)
#:use-module (gnu packages docbook)
#:use-module (gnu packages flex)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnupg)
+ #:use-module (gnu packages kerberos)
#:use-module (gnu packages libffi)
#:use-module (gnu packages linux)
#:use-module (gnu packages nfs)
#:use-module (gnu packages onc-rpc)
+ #:use-module (gnu packages openldap)
#:use-module (gnu packages photo)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages readline)
#:use-module (gnu packages rsync)
+ #:use-module (gnu packages sssd)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages tls)
#:use-module (gnu packages valgrind)
#:use-module (gnu packages xml))
+(define-public autofs
+ (package
+ (name "autofs")
+ (version "5.1.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kernel.org/linux/daemons/autofs/"
+ "v" (version-major version) "/"
+ "autofs-" version ".tar.xz"))
+ (sha256
+ (base32 "1vya21mb4izj3khcr3flibv7xc15vvx2v0rjfk5yd31qnzcy7pnx"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags
+ (list "--enable-ignore-busy" ; during shutdown
+ "--enable-sloppy-mount" ; support mount(8) -s
+ "--with-libtirpc"
+ (string-append "--with-openldap="
+ (assoc-ref %build-inputs "openldap"))
+ (string-append "--with-sasl="
+ (assoc-ref %build-inputs "cyrus-sasl"))
+ "HAVE_SSS_AUTOFS=1" ; required to make sssldir click
+ (string-append "sssldir="
+ (assoc-ref %build-inputs "sssd")
+ "/lib/sssd/modules"))
+ #:tests? #f ; no test suite
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'fix-hard-coded-search-path
+ (lambda _
+ (substitute* "configure"
+ (("^searchpath=\".*\"")
+ "searchpath=\"$PATH\""))
+ #t))
+ (add-before 'install 'omit-obsolete-lookup_nis.so-link
+ ;; Building lookup_yp.so depends on $(YPCLNT) but this doesn't,
+ ;; leading to a make error. Since it's broken, comment it out.
+ (lambda _
+ (substitute* "modules/Makefile"
+ (("ln -fs lookup_yp.so" match)
+ (string-append "# " match)))
+ #t)))))
+ (native-inputs
+ `(("bison" ,bison)
+ ("flex" ,flex)
+ ("pkg-config" ,pkg-config)
+ ("rpcsvc-proto" ,rpcsvc-proto)))
+ (inputs
+ `(("cyrus-sasl" ,cyrus-sasl)
+ ("e2fsprogs" ,e2fsprogs) ; for e[234]fsck
+ ("libtirpc" ,libtirpc)
+ ("libxml2" ,libxml2) ; needed for LDAP, SASL
+ ("mit-krb5" ,mit-krb5) ; needed for LDAP, SASL
+ ("nfs-utils" ,nfs-utils) ; for mount.nfs
+ ("openldap" ,openldap)
+ ("openssl" ,openssl) ; needed for SASL
+ ("sssd" ,sssd)
+ ("util-linux" ,util-linux))) ; for mount, umount
+ ;; XXX A directory index is the closest thing this has to a home page.
+ (home-page "https://www.kernel.org/pub/linux/daemons/autofs/")
+ (synopsis "Kernel-based automounter for Linux")
+ (description
+ "Autofs is a kernel-based automounter for use with the Linux autofs4
+module. It automatically mounts selected file systems when they are used and
+unmounts them after a set period of inactivity. This provides
+centrally-managed, consistent file names for users and applications, even in a
+large and/or frequently changing (network) environment.")
+ ;; fedfs/ is GPL-2-only but not built.
+ (license (list license:bsd-3 ; modules/cyrus-sasl.c
+ license:gpl2+)))) ; the rest
+
(define-public fsarchiver
(package
(name "fsarchiver")
@@ -71,7 +147,7 @@
(method git-fetch)
(uri
(git-reference
- (url "https://github.com/fdupoux/fsarchiver.git")
+ (url "https://github.com/fdupoux/fsarchiver")
(commit version)))
(file-name (git-file-name name version))
(sha256
@@ -126,10 +202,10 @@ is corrupted you'll lose the affected file(s) but not the whole back-up.")
`(("fuse" ,fuse)
("glib" ,glib)
("libgphoto2" ,libgphoto2)))
- (synopsis "Virtual filesystem for libgphoto2 using FUSE")
- (description "GPhotoFS is a FUSE filesystem module to mount your camera as
-a filesystem on Linux. This allow using your camera with any tool able to read
-from a mounted filesystem.")
+ (synopsis "Virtual file system for libgphoto2 using FUSE")
+ (description "GPhotoFS is a FUSE file system module to mount your camera as
+a file system on Linux. This allow using your camera with any tool able to read
+from a mounted file system.")
(home-page "http://www.gphoto.org/proj/gphotofs/")
(license license:gpl2+)))
@@ -151,7 +227,8 @@ from a mounted filesystem.")
(build-system gnu-build-system)
(arguments
`(#:make-flags
- (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
+ (list ,(string-append "VERSION=" version) ; bogus vX.Y-nogit otherwise
+ (string-append "PREFIX=" (assoc-ref %outputs "out"))
"INITRAMFS_DIR=$(PREFIX)/share/initramfs-tools"
"CC=gcc"
"PYTEST=pytest")
@@ -497,7 +574,7 @@ All of this is accomplished without a centralized metadata server.")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/sahlberg/libnfs.git")
+ (url "https://github.com/sahlberg/libnfs")
(commit (string-append "libnfs-" version))))
(file-name (git-file-name name version))
(sha256
@@ -724,8 +801,8 @@ community.")
;; mergerfs bundles a heavily modified copy of libfuse.
(inputs `(("util-linux" ,util-linux)))
(home-page "https://github.com/trapexit/mergerfs")
- (synopsis "Featureful union filesystem")
- (description "mergerfs is a union filesystem geared towards simplifying
+ (synopsis "Featureful union file system")
+ (description "mergerfs is a union file system geared towards simplifying
storage and management of files across numerous commodity storage devices. It
is similar to mhddfs, unionfs, and aufs.")
(license (list
@@ -744,7 +821,7 @@ is similar to mhddfs, unionfs, and aufs.")
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/trapexit/mergerfs-tools.git")
+ (url "https://github.com/trapexit/mergerfs-tools")
(commit commit)))
(file-name (git-file-name name version))
(sha256