summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan (janneke) Nieuwenhuizen <janneke@gnu.org>2020-05-12 07:56:46 +0200
committerJan Nieuwenhuizen <janneke@gnu.org>2020-06-08 13:51:17 +0200
commit4c26229ccbbcac843567aa6c52a0287ff6eb1494 (patch)
treec5044c5752114a502c4bcc3c1b0099cfe921ccaa
parentbec45e6ddb0fd8b8feff3c0147936e4d8f41208d (diff)
gnu: hurd: Update to upstream Hurd-reserved xattr index.
This enables setting (and reading) passive translators when preparing a Hurd file system from GNU/Linux. * gnu/packages/patches/hurd-xattr.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/hurd.scm (hurd): Use it.
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/hurd.scm3
-rw-r--r--gnu/packages/patches/hurd-xattr.patch53
3 files changed, 56 insertions, 1 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index ae8a2275f7..6182306dd5 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1084,6 +1084,7 @@ dist_patch_DATA = \
%D%/packages/patches/http-parser-fix-assertion-on-armhf.patch \
%D%/packages/patches/hubbub-sort-entities.patch \
%D%/packages/patches/hurd-cross.patch \
+ %D%/packages/patches/hurd-xattr.patch \
%D%/packages/patches/hplip-remove-imageprocessor.patch \
%D%/packages/patches/hydra-disable-darcs-test.patch \
%D%/packages/patches/icecat-makeicecat.patch \
diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm
index 55c40710fa..278568b583 100644
--- a/gnu/packages/hurd.scm
+++ b/gnu/packages/hurd.scm
@@ -377,7 +377,8 @@ boot, since this cannot be done from GNU/Linux."
(name "hurd")
(version (package-version hurd-headers))
(source (origin (inherit (package-source hurd-headers))
- (patches (search-patches "hurd-cross.patch"))))
+ (patches (search-patches "hurd-cross.patch"
+ "hurd-xattr.patch"))))
(arguments
`(#:phases
(modify-phases %standard-phases
diff --git a/gnu/packages/patches/hurd-xattr.patch b/gnu/packages/patches/hurd-xattr.patch
new file mode 100644
index 0000000000..0a922c91b5
--- /dev/null
+++ b/gnu/packages/patches/hurd-xattr.patch
@@ -0,0 +1,53 @@
+From 75cb948c575fca3962c4cce115d31dd178bc389f Mon Sep 17 00:00:00 2001
+From: "Jan (janneke) Nieuwenhuizen" <janneke@gnu.org>
+Date: Tue, 12 May 2020 07:39:59 +0200
+Subject: [PATCH] ext2fs: Update to upstream Hurd-reserved xattr index for
+ "gnu.*".
+
+See
+ https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=3980bd3b406addb327d858aebd19e229ea340b9a
+
+This supports setting (and reading) of passive trasnlators from
+GNU/Linux, e.g.
+
+ dd if=/dev/zero of=file bs=1k count=1000
+ losetup /dev/loop0 file
+ mke2fs -t ext2 -o hurd -O ext_attr /dev/loop0
+ mount -t ext2 -o x-xattr-translator-records /dev/loop0 /mnt
+ mkdir -p /mnt/servers/socket
+ touch /mnt/servers/socket/1
+ setfattr --name=gnu.translator --value='/hurd/pflocal\0' /mnt/servers/socket/1
+ getfattr --name=gnu.translator /mnt/servers/socket/1
+ # file: 1
+ gnu.translator="/hurd/pflocal"
+
+* ext2fs/xattr.c (struct _xattr_prefix): For "gnu.*", use index for
+the Hurd (10).
+---
+ ext2fs/xattr.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/ext2fs/xattr.c b/ext2fs/xattr.c
+index f6ea0f39..78458214 100644
+--- a/ext2fs/xattr.c
++++ b/ext2fs/xattr.c
+@@ -1,6 +1,6 @@
+ /* Ext2 support for extended attributes
+
+- Copyright (C) 2006, 2016 Free Software Foundation, Inc.
++ Copyright (C) 2006, 2016, 2020 Free Software Foundation, Inc.
+
+ Written by Thadeu Lima de Souza Cascardo <cascardo@dcc.ufmg.br>
+ and Shengyu Zhang <lastavengers@outlook.com>
+@@ -39,7 +39,7 @@ xattr_prefixes[] =
+ {
+ 1, "user.", sizeof "user." - 1},
+ {
+- 7, "gnu.", sizeof "gnu." - 1},
++ 10, "gnu.", sizeof "gnu." - 1},
+ {
+ 0, NULL, 0}
+ };
+--
+2.26.0
+