diff options
author | Leo <thinkabit.ukim@gmail.com> | 2020-12-08 06:39:03 -0300 |
---|---|---|
committer | Leo <thinkabit.ukim@gmail.com> | 2020-12-09 19:18:32 +0000 |
commit | 29f3ce7c8ed22c5367165750929c89510f7ff579 (patch) | |
tree | 1130743b9b3f1ae09f02b4ab6b6c081d74080e93 /main/bubblewrap | |
parent | bc9a5170980c070fcf48e12f75372daed84d58a3 (diff) | |
download | aports-29f3ce7c8ed22c5367165750929c89510f7ff579.zip |
main/bubblewrap: remove realpath workaround
https://git.musl-libc.org/cgit/musl/commit/?id=29ff7599a448232f2527841c2362643d246cee36
Diffstat (limited to 'main/bubblewrap')
-rw-r--r-- | main/bubblewrap/APKBUILD | 9 | ||||
-rw-r--r-- | main/bubblewrap/realpath-workaround.patch | 53 |
2 files changed, 3 insertions, 59 deletions
diff --git a/main/bubblewrap/APKBUILD b/main/bubblewrap/APKBUILD index b34594b9b45..4b36f6bd7ec 100644 --- a/main/bubblewrap/APKBUILD +++ b/main/bubblewrap/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Timo Teräs <timo.teras@iki.fi> pkgname=bubblewrap pkgver=0.4.1 -pkgrel=1 +pkgrel=2 pkgdesc="Unprivileged sandboxing tool" url="https://github.com/containers/bubblewrap" arch="all" @@ -10,9 +10,7 @@ license="LGPL-2.0-or-later" options="!check suid" # Testsuite with suid requires sudo binary and some socket operations fail makedepends="autoconf automake libcap-dev docbook-xsl" subpackages="$pkgname-doc $pkgname-bash-completion:bashcomp:noarch" -source="bubblewrap-$pkgver.tar.gz::https://github.com/containers/bubblewrap/archive/v$pkgver.tar.gz - realpath-workaround.patch - " +source="bubblewrap-$pkgver.tar.gz::https://github.com/containers/bubblewrap/archive/v$pkgver.tar.gz" # secfixes: # 0.4.1-r0: @@ -49,5 +47,4 @@ bashcomp() { mv "$pkgdir"/usr/share/bash-completion/ "$subpkgdir"/usr/share/ } -sha512sums="83e036e242503e1364b2d0052bba5127175891203c57bd22ba47a1b1e934fdca64ca620cd0e48c903fa2bc7cdcf92339b8a7fcb8716b54c2e28034b6d6f86adc bubblewrap-0.4.1.tar.gz -7e8395aa7801263056b0c072194240f0ae1ee1a3b0acd874baf112a7b7b5e53ac5f688ece9099067bfc1e28e52e81f107964a3288a615cc1eedb1af5f82bbd8e realpath-workaround.patch" +sha512sums="83e036e242503e1364b2d0052bba5127175891203c57bd22ba47a1b1e934fdca64ca620cd0e48c903fa2bc7cdcf92339b8a7fcb8716b54c2e28034b6d6f86adc bubblewrap-0.4.1.tar.gz" diff --git a/main/bubblewrap/realpath-workaround.patch b/main/bubblewrap/realpath-workaround.patch deleted file mode 100644 index 8474faf358e..00000000000 --- a/main/bubblewrap/realpath-workaround.patch +++ /dev/null @@ -1,53 +0,0 @@ -Musl realpath() implementation currently depends on /proc which is -not available when setting up pivot root. For the time being just -fallback to a naive normalization algorithm originated from -VoidLinux' xbps. If there was path that would have required advanced -normalizing as provided by realpath() the following parse_mountinfo() -will fail. - - -diff --git bind-mount.c.orig bind-mount.c -index 045fa0e..d05b540 100644 ---- ./bind-mount.c.orig -+++ ./bind-mount.c -@@ -23,6 +23,28 @@ - #include "utils.h" - #include "bind-mount.h" - -+#ifndef __GLIBC__ -+static char * -+normpath(char *path) -+{ -+ char *seg = NULL, *p = NULL; -+ -+ for (p = path, seg = NULL; *p; p++) { -+ if (strncmp(p, "/../", 4) == 0 || strncmp(p, "/..", 4) == 0) { -+ memmove(seg ? seg : p, p+3, strlen(p+3) + 1); -+ return normpath(path); -+ } else if (strncmp(p, "/./", 3) == 0 || strncmp(p, "/.", 3) == 0) { -+ memmove(p, p+2, strlen(p+2) + 1); -+ } else if (strncmp(p, "//", 2) == 0 || strncmp(p, "/", 2) == 0) { -+ memmove(p, p+1, strlen(p+1) + 1); -+ } -+ if (*p == '/') -+ seg = p; -+ } -+ return path; -+} -+#endif -+ - static char * - skip_token (char *line, bool eat_whitespace) - { -@@ -397,7 +419,11 @@ bind_mount (int proc_fd, - path, so to find it in the mount table we need to do that too. */ - resolved_dest = realpath (dest, NULL); - if (resolved_dest == NULL) -+#ifdef __GLIBC__ - return 2; -+#else -+ resolved_dest = normpath(strdup(dest)); -+#endif - - mount_tab = parse_mountinfo (proc_fd, resolved_dest); - if (mount_tab[0].mountpoint == NULL) |