summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk2
-rw-r--r--gnu/packages/file-systems.scm34
-rw-r--r--gnu/packages/patches/jfsutils-add-sysmacros.patch26
-rw-r--r--gnu/packages/patches/jfsutils-include-systypes.patch25
4 files changed, 87 insertions, 0 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 9d1028a5be..d6600df339 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1030,6 +1030,8 @@ dist_patch_DATA =						\
   %D%/packages/patches/java-xerces-build_dont_unzip.patch	\
   %D%/packages/patches/java-xerces-xjavac_taskdef.patch	\
   %D%/packages/patches/jbig2dec-ignore-testtest.patch		\
+  %D%/packages/patches/jfsutils-add-sysmacros.patch		\
+  %D%/packages/patches/jfsutils-include-systypes.patch		\
   %D%/packages/patches/kdbusaddons-kinit-file-name.patch	\
   %D%/packages/patches/libnftnl-dont-check-NFTNL_FLOWTABLE_SIZE.patch	\
   %D%/packages/patches/libvirt-create-machine-cgroup.patch	\
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")
diff --git a/gnu/packages/patches/jfsutils-add-sysmacros.patch b/gnu/packages/patches/jfsutils-add-sysmacros.patch
new file mode 100644
index 0000000000..2349e37c06
--- /dev/null
+++ b/gnu/packages/patches/jfsutils-add-sysmacros.patch
@@ -0,0 +1,26 @@
+From: Tobias Geerinckx-Rice <me@tobias.gr>
+Date: Thu, 12 Dec 2019 02:15:37 +0100
+Subject: gnu: jfsutils: Include sys/sysmacros.h.
+
+Copied verbatim[0] from the Debian package.
+
+[0]: https://sources.debian.org/patches/jfsutils/1.1.15-4/add_sysmacros.patch
+
+Description: Include sys/sysmacros.h
+ Mentioned header needed for major() definition.
+Author: Laszlo Boszormenyi (GCS) <gcs@debian.org>
+Last-Update: 2018-12-11
+
+---
+
+--- jfsutils-1.1.15.orig/libfs/devices.c
++++ jfsutils-1.1.15/libfs/devices.c
+@@ -49,6 +49,8 @@
+ #include <sys/disklabel.h>
+ #endif
+ 
++#include <sys/sysmacros.h>
++
+ #include "jfs_types.h"
+ #include "jfs_filsys.h"
+ #include "devices.h"
diff --git a/gnu/packages/patches/jfsutils-include-systypes.patch b/gnu/packages/patches/jfsutils-include-systypes.patch
new file mode 100644
index 0000000000..ef1515d02c
--- /dev/null
+++ b/gnu/packages/patches/jfsutils-include-systypes.patch
@@ -0,0 +1,25 @@
+From: Tobias Geerinckx-Rice <me@tobias.gr>
+Date: Thu, 12 Dec 2019 02:15:37 +0100
+Subject: gnu: jfsutils: Include sys/types.h.
+
+Copied verbatim[0] from the Debian package.
+
+[0]: https://sources.debian.org/patches/jfsutils/1.1.15-4/missing-includes.diff
+
+Description: Add missing include to fix FTBFS with eglibc 2.17
+Origin: vendor, http://patches.ubuntu.com/j/jfsutils/jfsutils_1.1.15-2ubuntu1.patch
+Bug-Debian: http://bugs.debian.org/701433
+Last-Update: 2013-07-05
+
+Index: b/fscklog/extract.c
+===================================================================
+--- a/fscklog/extract.c	2006-06-05 19:31:40.000000000 +0000
++++ b/fscklog/extract.c	2013-04-02 07:13:08.737654963 +0000
+@@ -28,6 +28,7 @@
+ #include <stdio.h>
+ #include <string.h>
+ #include <unistd.h>
++#include <sys/types.h>
+ 
+ #include "devices.h"
+ #include "diskmap.h"