Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] flatpak: update to 1.8.2.
@ 2020-10-18  9:21 Johnnynator
  2020-10-18 16:36 ` [PR PATCH] [Merged]: " Johnnynator
  0 siblings, 1 reply; 3+ messages in thread
From: Johnnynator @ 2020-10-18  9:21 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 318 bytes --]

There is a new pull request by Johnnynator against master on the void-packages repository

https://github.com/Johnnynator/void-packages flatpak
https://github.com/void-linux/void-packages/pull/25706

flatpak: update to 1.8.2.


A patch file from https://github.com/void-linux/void-packages/pull/25706.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-flatpak-25706.patch --]
[-- Type: text/x-diff, Size: 1490 bytes --]

From 7c2cceff5feed9b10b4deb9b01e4aadf19a1b28f Mon Sep 17 00:00:00 2001
From: John Zimmermann <me@johnnynator.dev>
Date: Sun, 20 Sep 2020 17:41:34 +0200
Subject: [PATCH] flatpak: update to 1.8.2.

---
 srcpkgs/flatpak/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/flatpak/template b/srcpkgs/flatpak/template
index 4edff5e9f75..6dd4ec1e6bb 100644
--- a/srcpkgs/flatpak/template
+++ b/srcpkgs/flatpak/template
@@ -1,6 +1,6 @@
 # Template file for 'flatpak'
 pkgname=flatpak
-version=1.6.3
+version=1.8.2
 revision=1
 build_style=gnu-configure
 build_helper="gir"
@@ -10,7 +10,7 @@ configure_args="
  --enable-selinux-module=no
  $(vopt_enable gir introspection)"
 hostmakedepends="bubblewrap gettext glib-devel libxslt pkg-config bison
- docbook docbook-xml docbook-xsl"
+ python3-parsing docbook docbook-xml docbook-xsl"
 makedepends="appstream-glib-devel gpgme-devel json-glib-devel libcap-devel
  libostree-devel libseccomp-devel polkit-devel dconf-devel fuse-devel"
 depends="bubblewrap gnupg2"
@@ -21,7 +21,7 @@ license="LGPL-2.1-or-later"
 homepage="https://flatpak.org/"
 changelog="https://github.com/flatpak/flatpak/blob/master/NEWS"
 distfiles="https://github.com/flatpak/flatpak/releases/download/${version}/flatpak-${version}.tar.xz"
-checksum=5142f0ae48100f6af1fd43695a253a0a32d69b3280aff4d4f1ad93d61bb6489f
+checksum=7926625df7c2282a5ee1a8b3c317af53d40a663b1bc6b18a2dc8747e265085b0
 
 build_options="gir"
 build_options_default="gir"

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PR PATCH] [Merged]: flatpak: update to 1.8.2.
  2020-10-18  9:21 [PR PATCH] flatpak: update to 1.8.2 Johnnynator
@ 2020-10-18 16:36 ` Johnnynator
  0 siblings, 0 replies; 3+ messages in thread
From: Johnnynator @ 2020-10-18 16:36 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 159 bytes --]

There's a merged pull request on the void-packages repository

flatpak: update to 1.8.2.
https://github.com/void-linux/void-packages/pull/25706

Description:


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PR PATCH] flatpak: update to 1.8.2.
@ 2020-10-18  9:21 Johnnynator
  0 siblings, 0 replies; 3+ messages in thread
From: Johnnynator @ 2020-10-18  9:21 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 437 bytes --]

There is a new pull request by Johnnynator against master on the void-packages repository

https://github.com/Johnnynator/void-packages bwrap
https://github.com/void-linux/void-packages/pull/25705

flatpak: update to 1.8.2.
In some cases bubbewrap calls realpath without having /proc available,
but musl's realpath requires /proc.

@ericonr  

A patch file from https://github.com/void-linux/void-packages/pull/25705.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-bwrap-25705.patch --]
[-- Type: text/x-diff, Size: 11380 bytes --]

From e49c6c75701c7792ceefadd595aac3b45721f2a8 Mon Sep 17 00:00:00 2001
From: John Zimmermann <me@johnnynator.dev>
Date: Sun, 18 Oct 2020 11:11:46 +0200
Subject: [PATCH] bubblewrap: use NetBSD realpath on musl

In some cases bubbewrap calls realpath without having /proc available,
but musl's realpath requires /proc.
---
 .../patches/realpath-workaround.patch         | 265 ++++++++++++++++--
 srcpkgs/bubblewrap/template                   |   6 +
 2 files changed, 240 insertions(+), 31 deletions(-)

diff --git a/srcpkgs/bubblewrap/patches/realpath-workaround.patch b/srcpkgs/bubblewrap/patches/realpath-workaround.patch
index 434da769657..6976590a1f2 100644
--- a/srcpkgs/bubblewrap/patches/realpath-workaround.patch
+++ b/srcpkgs/bubblewrap/patches/realpath-workaround.patch
@@ -1,46 +1,249 @@
-add normpath(), originally written for xbps.
-diff --git bind-mount.c.orig bind-mount.c
-index 045fa0e..d05b540 100644
---- bind-mount.c.orig
-+++ bind-mount.c
-@@ -23,6 +23,28 @@
+--- /dev/null	2020-10-18 09:26:32.312745755 +0200
++++ LICENSE.realpath	2020-10-18 11:09:14.119929076 +0200
+@@ -0,0 +1,29 @@
++Copyright (c) 1989, 1991, 1993, 1995
++     The Regents of the University of California.  All rights reserved.
++
++This code is derived from software contributed to Berkeley by
++Jan-Simon Pendry.
++
++Redistribution and use in source and binary forms, with or without
++modification, are permitted provided that the following conditions
++are met:
++1. Redistributions of source code must retain the above copyright
++   notice, this list of conditions and the following disclaimer.
++2. Redistributions in binary form must reproduce the above copyright
++   notice, this list of conditions and the following disclaimer in the
++   documentation and/or other materials provided with the distribution.
++3. Neither the name of the University nor the names of its contributors
++   may be used to endorse or promote products derived from this software
++   without specific prior written permission.
++
++THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
++ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
++ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
++FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
++DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
++OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
++LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
++OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
++SUCH DAMAGE.
+--- bind-mount.c	2018-09-26 14:55:17.000000000 +0200
++++ bind-mount.c	2020-10-18 11:08:37.822931452 +0200
+@@ -22,6 +22,198 @@
+ 
  #include "utils.h"
  #include "bind-mount.h"
- 
++#include <stdlib.h>
++#include <string.h>
++#include <limits.h>
++#include <unistd.h>
++#include <sys/stat.h>
++#include <errno.h>
++#include <fcntl.h>
++#include <sys/param.h>
++
 +#ifndef __GLIBC__
-+static char *
-+normpath(char *path)
++/*
++ * Copyright (c) 1989, 1991, 1993, 1995
++ *      The Regents of the University of California.  All rights reserved.
++ *
++ * This code is derived from software contributed to Berkeley by
++ * Jan-Simon Pendry.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ * 1. Redistributions of source code must retain the above copyright
++ *    notice, this list of conditions and the following disclaimer.
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in the
++ *    documentation and/or other materials provided with the distribution.
++ * 3. Neither the name of the University nor the names of its contributors
++ *    may be used to endorse or promote products derived from this software
++ *    without specific prior written permission.
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
++ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
++ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
++ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
++ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
++ * SUCH DAMAGE.
++ */
++char *realpath_int(const char *, char*);
++char *
++realpath_int(const char * path, char * resolved)
 +{
-+  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;
++        struct stat sb;
++        int idx = 0, nlnk = 0;
++        const char *q;
++        char *p, wbuf[2][MAXPATHLEN], *fres;
++        size_t len;
++        ssize_t n;
++
++        /* POSIX sez we must test for this */
++        if (path == NULL) {
++                errno = EINVAL;
++                return NULL;
++        }
++
++        if (resolved == NULL) {
++                fres = resolved = malloc(MAXPATHLEN);
++                if (resolved == NULL)
++                        return NULL;
++        } else
++                fres = NULL;
++
++
++        /*
++         * Build real path one by one with paying an attention to .,
++         * .. and symbolic link.
++         */
++
++        /*
++         * `p' is where we'll put a new component with prepending
++         * a delimiter.
++         */
++        p = resolved;
++
++        if (*path == '\0') {
++                *p = '\0';
++                errno = ENOENT;
++                goto out;
++        }
++
++        /* If relative path, start from current working directory. */
++        if (*path != '/') {
++                /* check for resolved pointer to appease coverity */
++                if (resolved && getcwd(resolved, MAXPATHLEN) == NULL) {
++                        p[0] = '.';
++                        p[1] = '\0';
++                        goto out;
++                }
++                len = strlen(resolved);
++                if (len > 1)
++                        p += len;
++        }
++
++loop:
++        /* Skip any slash. */
++        while (*path == '/')
++                path++;
++
++        if (*path == '\0') {
++                if (p == resolved)
++                        *p++ = '/';
++                *p = '\0';
++                return resolved;
++        }
++
++        /* Find the end of this component. */
++        q = path;
++        do
++                q++;
++        while (*q != '/' && *q != '\0');
++
++        /* Test . or .. */
++        if (path[0] == '.') {
++                if (q - path == 1) {
++                        path = q;
++                        goto loop;
++                }
++                if (path[1] == '.' && q - path == 2) {
++                        /* Trim the last component. */
++                        if (p != resolved)
++                                while (*--p != '/')
++                                        continue;
++                        path = q;
++                        goto loop;
++                }
++        }
++
++        /* Append this component. */
++        if (p - resolved + 1 + q - path + 1 > MAXPATHLEN) {
++                errno = ENAMETOOLONG;
++                if (p == resolved)
++                        *p++ = '/';
++                *p = '\0';
++                goto out;
++        }
++        p[0] = '/';
++        memcpy(&p[1], path,
++            /* LINTED We know q > path. */
++            q - path);
++        p[1 + q - path] = '\0';
++
++        /*
++         * If this component is a symlink, toss it and prepend link
++         * target to unresolved path.
++         */
++        if (lstat(resolved, &sb) == -1)
++                goto out;
++
++        if (S_ISLNK(sb.st_mode)) {
++                if (nlnk++ >= MAXSYMLINKS) {
++                        errno = ELOOP;
++                        goto out;
++                }
++                n = readlink(resolved, wbuf[idx], sizeof(wbuf[0]) - 1);
++                if (n < 0)
++                        goto out;
++                if (n == 0) {
++                        errno = ENOENT;
++                        goto out;
++                }
++
++                /* Append unresolved path to link target and switch to it. */
++                if (n + (len = strlen(q)) + 1 > sizeof(wbuf[0])) {
++                        errno = ENAMETOOLONG;
++                        goto out;
++                }
++                memcpy(&wbuf[idx][n], q, len + 1);
++                path = wbuf[idx];
++                idx ^= 1;
++
++                /* If absolute symlink, start from root. */
++                if (*path == '/')
++                        p = resolved;
++                goto loop;
++        }
++        if (*q == '/' && !S_ISDIR(sb.st_mode)) {
++                errno = ENOTDIR;
++                goto out;
++        }
++
++        /* Advance both resolved and unresolved path. */
++        p += 1 + q - path;
++        path = q;
++        goto loop;
++out:
++        free(fres);
++        return NULL;
 +}
 +#endif
-+
+ 
  static char *
  skip_token (char *line, bool eat_whitespace)
- {
-@@ -397,7 +419,11 @@ bind_mount (int           proc_fd,
+@@ -395,9 +587,14 @@
+ 
+   /* The mount operation will resolve any symlinks in the destination
       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;
+   resolved_dest = realpath (dest, NULL);
+-  if (resolved_dest == NULL)
 +#else
-+    resolved_dest = normpath(strdup(dest));
++  resolved_dest = realpath_int (dest, NULL);
 +#endif
++  if (resolved_dest == NULL) {
+     return 2;
++  }
  
    mount_tab = parse_mountinfo (proc_fd, resolved_dest);
    if (mount_tab[0].mountpoint == NULL)
diff --git a/srcpkgs/bubblewrap/template b/srcpkgs/bubblewrap/template
index 711342d3b8e..1f13a61a6f6 100644
--- a/srcpkgs/bubblewrap/template
+++ b/srcpkgs/bubblewrap/template
@@ -11,3 +11,9 @@ license="LGPL-2.0-or-later"
 homepage="https://github.com/projectatomic/bubblewrap"
 distfiles="https://github.com/containers/bubblewrap/releases/download/v${version}/${pkgname}-${version}.tar.xz"
 checksum=b9c69b9b1c61a608f34325c8e1a495229bacf6e4a07cbb0c80cf7a814d7ccc03
+
+post_install() {
+	if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
+		vlicense LICENSE.realpath
+	fi
+}

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-10-18 16:36 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-18  9:21 [PR PATCH] flatpak: update to 1.8.2 Johnnynator
2020-10-18 16:36 ` [PR PATCH] [Merged]: " Johnnynator
  -- strict thread matches above, loose matches on Subject: below --
2020-10-18  9:21 [PR PATCH] " Johnnynator

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).