From 4c26229ccbbcac843567aa6c52a0287ff6eb1494 Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Tue, 12 May 2020 07:56:46 +0200 Subject: 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. --- gnu/packages/hurd.scm | 3 +- gnu/packages/patches/hurd-xattr.patch | 53 +++++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/hurd-xattr.patch (limited to 'gnu/packages') 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" +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 + and Shengyu Zhang +@@ -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 + -- cgit v1.2.3