diff options
Diffstat (limited to 'gnu/packages/file-systems.scm')
-rw-r--r-- | gnu/packages/file-systems.scm | 97 |
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 |