From e9e75da6e19437ad1fc4a25a87d2e7456b51b3b1 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 12 Dec 2019 02:19:20 +0100 Subject: gnu: Add jfsutils. * gnu/packages/file-systems.scm (jfsutils): New public variable. --- gnu/packages/file-systems.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'gnu/packages/file-systems.scm') diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm index cb0a2a25bb..fbf0e2641f 100644 --- a/gnu/packages/file-systems.scm +++ b/gnu/packages/file-systems.scm @@ -111,6 +111,40 @@ files. Since the HTTP protocol itself has no notion of directories, only a single file can be mounted.") (license license:gpl2+))) +(define-public jfsutils + (package + (name "jfsutils") + (version "1.1.15") + (source + (origin + (method url-fetch) + (uri (string-append "http://jfs.sourceforge.net/project/pub/jfsutils-" + version ".tar.gz")) + (sha256 + (base32 "0kbsy2sk1jv4m82rxyl25gwrlkzvl3hzdga9gshkxkhm83v1aji4")) + (patches (search-patches "jfsutils-add-sysmacros.patch" + "jfsutils-include-systypes.patch")))) + (build-system gnu-build-system) + (inputs + `(("util-linux" ,util-linux))) + (home-page "http://jfs.sourceforge.net/home.html") + (synopsis "Utilities for managing JFS file systems") + (description + "The JFSutils are a collection of utilities for managing the @acronym{JFS, +Journaled File System}, a 64-bit journaling file system created by IBM and later +ported to the kernel Linux. The following commands are available: +@enumerate +@item @command{fsck.jfs}: check and repair a JFS file system or replay its +transaction log. +@item @command{logdump}: dump the JFS journal log. +@item @command{logredo}: replay the JFS journal log. +@item @command{mkfs.jfs}: create a new JFS file system. +@item @command{xchklog}: save a JFS fsck log to a file. +@item @command{xchkdmp}: dump the contents of such a log file. +@item @command{xpeek}: a JFS file system editor with a shell-like interface. +@end enumerate\n") + (license license:gpl3+))) ; no explicit version given + (define-public disorderfs (package (name "disorderfs") -- cgit v1.2.3 From 56dad973bce2ecb7c7093316f06efa07a4a26070 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 31 Dec 2019 01:18:22 +0100 Subject: gnu: Add jfsutils-static. gnu/packages/file-systems.scm (jfsutils/static): New public variable. --- gnu/packages/file-systems.scm | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'gnu/packages/file-systems.scm') diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm index fbf0e2641f..3a8848b3ad 100644 --- a/gnu/packages/file-systems.scm +++ b/gnu/packages/file-systems.scm @@ -145,6 +145,15 @@ transaction log. @end enumerate\n") (license license:gpl3+))) ; no explicit version given +(define-public jfsutils/static + (static-package + (package + (inherit jfsutils) + (name "jfsutils-static") + (inputs + `(("util-linux:static" ,util-linux "static") + ,@(package-inputs jfsutils)))))) + (define-public disorderfs (package (name "disorderfs") -- cgit v1.2.3 From 378994459a1f5234edb2bf7773dc14dbf71a9420 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 31 Dec 2019 01:22:22 +0100 Subject: gnu: Add jfs_fsck-static. * gnu/packages/file-systems.scm (jfs_fsck-static): New public variable. --- gnu/packages/file-systems.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'gnu/packages/file-systems.scm') diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm index 3a8848b3ad..a3dc993055 100644 --- a/gnu/packages/file-systems.scm +++ b/gnu/packages/file-systems.scm @@ -28,6 +28,7 @@ #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix build-system linux-module) + #:use-module (guix build-system trivial) #:use-module (guix utils) #:use-module (gnu packages) #:use-module (gnu packages acl) @@ -154,6 +155,38 @@ transaction log. `(("util-linux:static" ,util-linux "static") ,@(package-inputs jfsutils)))))) +(define-public jfs_fsck/static + (package + (name "jfs_fsck-static") + (version (package-version jfsutils)) + (source #f) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils) + (ice-9 ftw) + (srfi srfi-26)) + (let* ((jfsutils (assoc-ref %build-inputs "jfsutils")) + (fsck "jfs_fsck") + (out (assoc-ref %outputs "out")) + (sbin (string-append out "/sbin"))) + (mkdir-p sbin) + (with-directory-excursion sbin + (install-file (string-append jfsutils "/sbin/" fsck) + ".") + (remove-store-references fsck) + (chmod fsck #o555)) + #t)))) + (inputs + `(("jfsutils" ,jfsutils/static))) + (home-page (package-home-page jfsutils)) + (synopsis "Statically-linked jfs_fsck command from jfsutils") + (description "This package provides statically-linked jfs_fsck command taken +from the jfsutils package. It is meant to be used in initrds.") + (license (package-license jfsutils)))) + (define-public disorderfs (package (name "disorderfs") -- cgit v1.2.3