Ok to push this patch to wip-hurd? As this is something that doesn't
affect Linux,
there is no need to push it to core-updates.
From 6de900b0cf21af361c3b5910b339ecab8ded5e4b Mon Sep 17 00:00:00 2001
From: Manolis Ragkousis <manolis...@gmail.com>
Date: Thu, 21 May 2015 16:47:26 +0300
Subject: [PATCH 1/5] gnu: base: Fix a bug that occurs in non-Linux systems.

* gnu/packages/base.scm (tar): Apply patch.
* gnu/packages/patches/tar-d_ino_in_dirent-fix.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
---
 gnu-system.am                                      |  1 +
 gnu/packages/base.scm                              |  3 +-
 gnu/packages/patches/tar-d_ino_in_dirent-fix.patch | 46 ++++++++++++++++++++++
 3 files changed, 49 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/tar-d_ino_in_dirent-fix.patch

diff --git a/gnu-system.am b/gnu-system.am
index 6a82170..da5d08a 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -546,6 +546,7 @@ dist_patch_DATA =						\
   gnu/packages/patches/slim-sigusr1.patch			\
   gnu/packages/patches/soprano-find-clucene.patch		\
   gnu/packages/patches/superlu-dist-scotchmetis.patch		\
+  gnu/packages/patches/tar-d_ino_in_dirent-fix.patch		\
   gnu/packages/patches/tcsh-fix-autotest.patch			\
   gnu/packages/patches/teckit-cstdio.patch			\
   gnu/packages/patches/texi2html-document-encoding.patch	\
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index f2e7fb5..b4344ee 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -140,7 +140,8 @@ implementation offers several extensions over the standard utility.")
                                 version ".tar.xz"))
             (sha256
              (base32
-              "1wi2zwm4c9r3h3b8y4w0nm0qq897kn8kyj9k22ba0iqvxj48vvk4"))))
+              "1wi2zwm4c9r3h3b8y4w0nm0qq897kn8kyj9k22ba0iqvxj48vvk4"))
+            (patches (list (search-patch "tar-d_ino_in_dirent-fix.patch")))))
    (build-system gnu-build-system)
    (synopsis "Managing tar archives")
    (description
diff --git a/gnu/packages/patches/tar-d_ino_in_dirent-fix.patch b/gnu/packages/patches/tar-d_ino_in_dirent-fix.patch
new file mode 100644
index 0000000..d4a2e11
--- /dev/null
+++ b/gnu/packages/patches/tar-d_ino_in_dirent-fix.patch
@@ -0,0 +1,46 @@
+commit e9ddc08da0982f36581ae5a8c7763453ff41cfe8
+Author: Sergey Poznyakoff <g...@gnu.org>
+Date:   Thu Sep 25 00:22:16 2014 +0300
+
+    Bugfixes.
+    
+    * doc/tar.1: Fix typo in font spec.
+    * src/tar.c (sort_mode_arg, sort_mode_flag): Protect "inode"
+    (SAVEDIR_SORT_INODE) with D_INO_IN_DIRENT
+
+diff --git a/doc/tar.1 b/doc/tar.1
+index 9000627..b91de63 100644
+--- a/doc/tar.1
++++ b/doc/tar.1
+@@ -879,7 +879,7 @@ Exclude files matching patterns listed in FILE.
+ \fB\-\-strip\-components\fR=\fINUMBER\fR
+ Strip \fINUMBER\fR leading components from file names on extraction.
+ .TP
+-\fB\-\-transform\fR=\fIEXPRESSION\dR, \fB\-\-xform\fR=\fIEXPRESSION\fR
++\fB\-\-transform\fR=\fIEXPRESSION\fR, \fB\-\-xform\fR=\fIEXPRESSION\fR
+ Use sed replace \fIEXPRESSION\fR to transform file names.
+ .SS File name matching options
+ These options affect both exclude and include patterns.
+diff --git a/src/tar.c b/src/tar.c
+index 225c624..f8102e0 100644
+--- a/src/tar.c
++++ b/src/tar.c
+@@ -1341,14 +1341,18 @@ static char filename_terminator;
+ static char const *const sort_mode_arg[] = {
+   "none",
+   "name",
++#if D_INO_IN_DIRENT
+   "inode",
++#endif
+   NULL
+ };
+ 
+ static int sort_mode_flag[] = {
+     SAVEDIR_SORT_NONE,
+     SAVEDIR_SORT_NAME,
++#if D_INO_IN_DIRENT
+     SAVEDIR_SORT_INODE
++#endif
+ };
+ 
+ ARGMATCH_VERIFY (sort_mode_arg, sort_mode_flag);
\ No newline at end of file
-- 
2.4.1

Reply via email to