From patchwork Sun Jan 5 21:03:00 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "vasilii.smirnov--- via Guix-patches\" via" X-Patchwork-Id: 36668 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id F0CE627BBEB; Mon, 6 Jan 2025 09:09:58 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-6.4 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL,RCVD_IN_VALIDITY_SAFE, SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 1123027BBE2 for ; Mon, 6 Jan 2025 09:09:57 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tUj6g-0004K7-FF; Mon, 06 Jan 2025 04:09:06 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tUj6e-0004JT-A9 for guix-patches@gnu.org; Mon, 06 Jan 2025 04:09:05 -0500 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tUj6d-0004w9-QD for guix-patches@gnu.org; Mon, 06 Jan 2025 04:09:03 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:Date:From:To:Subject; bh=zIP2QFE5UW5ncwDBaRaQYxqEwQeBvPGWIdVSCh7JRdo=; b=uuOEpC8NTOw9L52o3LqgZ+JRy86w9zraG9HJE/ucBSVeQ4U6p8TeItN802aKiYvTd6nHC9F4ig5pUvqLlCGZ5NTmHBqdtCOlUK+r+w+/2g9OPY258AbzgPObwBop3NEYzCfQ/s3VQaNj97Oi0qDTBmv+XJVX3yGMTk2vxEigwxJPzIf3XKI8suyhw+RotxqbfeZ7s0676z6mk3iOenxgr30qgQuNfFiqBlknRiPu/xg7fWDNDBUS5KoASTFwfCL4cBOGmfNfoZc4JLvrRfx+wfwImtub2CAh5G3vKQtvok6JCmGcbqU8PnSMpLCYwhbHngnGG7DpsfaJPlwBqe3MiQ==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1tUj6c-0007lA-My for guix-patches@gnu.org; Mon, 06 Jan 2025 04:09:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#75396] [PATCH] gnu: flatpak: Fix icon validation Resent-From: vasilii.smirnov@mailbox.org Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 06 Jan 2025 09:09:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 75396 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 75396@debbugs.gnu.org Cc: Vasilii Smirnov X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.173615452029773 (code B ref -1); Mon, 06 Jan 2025 09:09:02 +0000 Received: (at submit) by debbugs.gnu.org; 6 Jan 2025 09:08:40 +0000 Received: from localhost ([127.0.0.1]:36631 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tUj6D-0007ju-RV for submit@debbugs.gnu.org; Mon, 06 Jan 2025 04:08:40 -0500 Received: from lists.gnu.org ([2001:470:142::17]:37166) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tUXnu-0001wX-OQ for submit@debbugs.gnu.org; Sun, 05 Jan 2025 16:04:59 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tUXnn-0000AZ-MZ for guix-patches@gnu.org; Sun, 05 Jan 2025 16:04:52 -0500 Received: from mout-p-102.mailbox.org ([80.241.56.152]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_CHACHA20_POLY1305:256) (Exim 4.90_1) (envelope-from ) id 1tUXnl-0004VU-0L for guix-patches@gnu.org; Sun, 05 Jan 2025 16:04:51 -0500 Received: from smtp1.mailbox.org (smtp1.mailbox.org [10.196.197.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-102.mailbox.org (Postfix) with ESMTPS id 4YR8vM3j2Mz9v92 for ; Sun, 5 Jan 2025 22:04:31 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mailbox.org; s=mail20150812; t=1736111083; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=zIP2QFE5UW5ncwDBaRaQYxqEwQeBvPGWIdVSCh7JRdo=; b=P5Owit/Qiz+fy90zmHW5aXp7gSdwYO/dkw3a2PJERSgda3xPXRIVhwY3UulXy8WhxrUZYB 2P2tgaB33fYCTW1EGz8rxfuw0nzksjt24o1RzGnrv58BYpj7au29rXvgRDWCiBmMo4w5H6 7THumFN0hjh88OId0ZDNYYuiYPGe4e2tRy5m+ckbPF2AcKC99SVjkkFGfXTK5tAYKBBLo3 wVYyhbeV4D+ueQmMTujdbLxlJPHPbIiDTco1ahvMXJuk4Iapttk9WigpPlZcf4/+ODwh0z 8CNxTAdhSQhXWrCbCg0HZT8WhVSYo6ybniFk5oKOefoY8Mqe0us/XdpGEoUHtg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mailbox.org; s=mail20150812; t=1736111069; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=zIP2QFE5UW5ncwDBaRaQYxqEwQeBvPGWIdVSCh7JRdo=; b=UM8ttE+4lcpcvkqdDjXfmq+X1obRNGnvIJ1o7VWIJl1K8rNCGGc2oHXdkKwKmzMpQyT3eA AxQ9hm/PuMIu8Pmy+dm0npcU1rSQLkAFuMmsaIprAuw2S3FcVjo/UmTT7qHlfJE6cKMoPr DNNHjBAfOTvc3BRTlb5sKOj8664AZ4nXg/sZQn0wv0V+HSlgSZADdBtwMJxzeCpqMNMEuo mfn2AdO6ue3fo5c+pDK20lDYSDgG2euRuwvLq3jftxLbYB6BoGyN+MlvpVKzWlUIhbeauj 6cJjncPivFapnmUIGmNVRkJ3NkyG9FmMdO9oaza5G5C+KOx2KubVV6MUsQfrpw== Date: Sun, 5 Jan 2025 22:03:00 +0100 Message-ID: <7a4075b102949dc42d2acff1e4a948fe9a795cff.1736110687.git.vasilii.smirnov@mailbox.org> MIME-Version: 1.0 X-MBO-RS-META: tnik43ouwothtifpisea9en9o9a4csx1 X-MBO-RS-ID: 0947e20b998564cf77c Received-SPF: pass client-ip=80.241.56.152; envelope-from=vasilii.smirnov@mailbox.org; helo=mout-p-102.mailbox.org X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Mon, 06 Jan 2025 04:08:32 -0500 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: vasilii.smirnov@mailbox.org X-ACL-Warn: , "vasilii.smirnov--- via Guix-patches" X-Patchwork-Original-From: "vasilii.smirnov--- via Guix-patches" via From: "vasilii.smirnov--- via Guix-patches\" via" Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches From: Vasilii Smirnov * gnu/packages/package-management.scm (flatpak): Substitute a marker in icon-validator/validate-icon.c for the store location. * gnu/packages/patches/flatpak-fix-icon-validation.patch: Bind the guix store during flatpak-validate-icon invocation in sandbox mode, along with a few environment variables necessary for image format detection. This fixes the "No such file or directory" error when invoking flatpak-validate-icon with the --sandbox argument. Change-Id: I15dfdd0ecadc57ed383e2985c1c3caa36be4a1de --- gnu/packages/package-management.scm | 7 ++++ .../patches/flatpak-fix-icon-validation.patch | 34 +++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 gnu/packages/patches/flatpak-fix-icon-validation.patch base-commit: b8858d8b1344525d0d7ac78d8fb9dc1a577b85d3 -- 2.46.0 diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index a8b95f450a..663965367c 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -2032,6 +2032,7 @@ (define-public flatpak (patches (search-patches "flatpak-fix-fonts-icons.patch" "flatpak-fix-path.patch" + "flatpak-fix-icon-validation.patch" "flatpak-unset-gdk-pixbuf-for-sandbox.patch")))) ;; Wrap 'flatpak' so that GIO_EXTRA_MODULES is set, thereby allowing GIO to @@ -2078,6 +2079,12 @@ (define-public flatpak (("if \\(g_find_program_in_path \\(\"p11-kit\"\\)\\)") (string-append "if (g_find_program_in_path (\"" p11-path "\"))")))))) + (add-after 'unpack 'fix-icon-validation + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (store (dirname out))) + (substitute* "icon-validator/validate-icon.c" + (("@storeDir@") store))))) ;; Many tests fail for unknown reasons, so we just run a few basic ;; tests. (replace 'check diff --git a/gnu/packages/patches/flatpak-fix-icon-validation.patch b/gnu/packages/patches/flatpak-fix-icon-validation.patch new file mode 100644 index 0000000000..f55f43cf81 --- /dev/null +++ b/gnu/packages/patches/flatpak-fix-icon-validation.patch @@ -0,0 +1,34 @@ +diff --git a/icon-validator/validate-icon.c b/icon-validator/validate-icon.c +index 6c3d152..0d70e55 100644 +--- a/icon-validator/validate-icon.c ++++ b/icon-validator/validate-icon.c +@@ -163,7 +163,7 @@ rerun_in_sandbox (const char *arg_width, + const char *arg_height, + const char *filename) + { +- const char * const usrmerged_dirs[] = { "bin", "lib32", "lib64", "lib", "sbin" }; ++ const char * const usrmerged_dirs[] = { }; + int i; + g_autoptr(GPtrArray) args = g_ptr_array_new_with_free_func (g_free); + char validate_icon[PATH_MAX + 1]; +@@ -183,8 +183,7 @@ rerun_in_sandbox (const char *arg_width, + "--unshare-ipc", + "--unshare-net", + "--unshare-pid", +- "--ro-bind", "/usr", "/usr", +- "--ro-bind-try", "/etc/ld.so.cache", "/etc/ld.so.cache", ++ "--ro-bind", "@storeDir@", "@storeDir@", + "--ro-bind", validate_icon, validate_icon, + NULL); + +@@ -227,6 +226,10 @@ rerun_in_sandbox (const char *arg_width, + add_args (args, "--setenv", "G_MESSAGES_DEBUG", g_getenv ("G_MESSAGES_DEBUG"), NULL); + if (g_getenv ("G_MESSAGES_PREFIXED")) + add_args (args, "--setenv", "G_MESSAGES_PREFIXED", g_getenv ("G_MESSAGES_PREFIXED"), NULL); ++ if (g_getenv ("GDK_PIXBUF_MODULE_FILE")) ++ add_args (args, "--setenv", "GDK_PIXBUF_MODULE_FILE", g_getenv ("GDK_PIXBUF_MODULE_FILE"), NULL); ++ if (g_getenv ("XDG_DATA_DIRS")) ++ add_args (args, "--setenv", "XDG_DATA_DIRS", g_getenv ("XDG_DATA_DIRS"), NULL); + + add_args (args, validate_icon, arg_width, arg_height, filename, NULL); + g_ptr_array_add (args, NULL);