summaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2021-11-26 22:49:21 +0100
committerLudovic Courtès <ludo@gnu.org>2021-11-26 22:49:21 +0100
commitc335c06115e90ee7c8892ed5978b3d04d8c6d028 (patch)
treeb583fb445e09ef204db43d81bdc895ea76ea0203 /gnu/packages
parentef717037c88f2b78c6f8c46c852984e4607327f1 (diff)
downloadguix-patches-c335c06115e90ee7c8892ed5978b3d04d8c6d028.tar
guix-patches-c335c06115e90ee7c8892ed5978b3d04d8c6d028.tar.gz
gnu: tor: Address glibc 2.33 compatibility issue on i686.
* gnu/packages/patches/tor-sandbox-i686.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/tor.scm (tor): Use it.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/patches/tor-sandbox-i686.patch36
-rw-r--r--gnu/packages/tor.scm5
2 files changed, 39 insertions, 2 deletions
diff --git a/gnu/packages/patches/tor-sandbox-i686.patch b/gnu/packages/patches/tor-sandbox-i686.patch
new file mode 100644
index 0000000000..34b0a053b1
--- /dev/null
+++ b/gnu/packages/patches/tor-sandbox-i686.patch
@@ -0,0 +1,36 @@
+This patch fixes sandboxing on i686 by allowing 'statx'. Without this,
+'src/test/test_include.sh' would fail.
+
+Patch adapted from:
+
+ https://gitlab.torproject.org/tpo/core/tor/-/merge_requests/480
+
+From 001d880d1082f5d124e10554e2718e407c7e88c6 Mon Sep 17 00:00:00 2001
+From: Simon South <simon@simonsouth.net>
+Date: Fri, 5 Nov 2021 10:10:10 -0400
+Subject: [PATCH] sandbox: Allow "statx" syscall on i386 for glibc 2.33
+
+glibc versions 2.33 and newer use the modern "statx" system call in their
+implementations of stat() and opendir() for Linux on i386. Prevent failures in
+the sandbox unit tests by modifying the sandbox to allow this system call
+without restriction on i386 when it is available, and update the test suite to
+skip the "sandbox/stat_filename" test in this case as it is certain to fail.
+---
+ src/lib/sandbox/sandbox.c | 3 +++
+ src/test/test_sandbox.c | 7 ++++---
+ 2 files changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/src/lib/sandbox/sandbox.c b/src/lib/sandbox/sandbox.c
+index fb02a345ab..a15f99ad76 100644
+--- a/src/lib/sandbox/sandbox.c
++++ b/src/lib/sandbox/sandbox.c
+@@ -252,6 +252,9 @@ static int filter_nopar_gen[] = {
+ SCMP_SYS(sigreturn),
+ #endif
+ SCMP_SYS(stat),
++#if defined(__i386__) && defined(__NR_statx)
++ SCMP_SYS(statx),
++#endif
+ SCMP_SYS(uname),
+ SCMP_SYS(wait4),
+ SCMP_SYS(write),
diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm
index 3cd7983827..11b81a1234 100644
--- a/gnu/packages/tor.scm
+++ b/gnu/packages/tor.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016, 2017, 2018, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
@@ -64,7 +64,8 @@
version ".tar.gz"))
(sha256
(base32
- "0sj7qn6d6js6gk4vjfkc7p9g021czbfaq00yfq3mn5ycnhvimkhm"))))
+ "0sj7qn6d6js6gk4vjfkc7p9g021czbfaq00yfq3mn5ycnhvimkhm"))
+ (patches (search-patches "tor-sandbox-i686.patch"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags