From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2.migadu.com ([2001:41d0:403:58f0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms13.migadu.com with LMTPS id 6DhBDBj+Omex4gAAe85BDQ:P1 (envelope-from ) for ; Mon, 18 Nov 2024 08:43:04 +0000 Received: from aspmx1.migadu.com ([2001:41d0:403:58f0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2.migadu.com with LMTPS id 6DhBDBj+Omex4gAAe85BDQ (envelope-from ) for ; Mon, 18 Nov 2024 09:43:04 +0100 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=cyberdimension.org header.s=dkim header.b="sT/UR2EW"; spf=pass (aspmx1.migadu.com: domain of "help-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="help-guix-bounces+larch=yhetil.org@gnu.org"; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1731919384; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=RiyPDHkxTLCbgn9t+9/VSFkFLdgqLEsitmrvexHjn+I=; b=srb/cSoya7HksFQl7nWsoxRvFJhspWL+KzmaKXgnXgN6ebxFc01XBXKZoUJgG1qyKfCl/U 9GjoUgZi0gq26XP3cA60aHFbtrULy6MmdQLvfXoWGJfqcNfcA/4EPe53YKH/psjK66iw+j Kw55e7hJCrsSeFQ01FQaAo7zNy7fOaybmq0o8QJqrRRr84m4oAhHBwAAJ2pwwjELxTpL7O 2BLiDKxvh69/BMxKaBgpdUM2VS0KTDidjZ/wdTC/785pM6MVHo9e6bHfBNzgbiu84ofNCZ IdjTVFFoL6BQ6FkIriGMIFhdch4aYEiPfcx7Od/O8HrgW81bHdNKu+LKqY3V6A== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=cyberdimension.org header.s=dkim header.b="sT/UR2EW"; spf=pass (aspmx1.migadu.com: domain of "help-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="help-guix-bounces+larch=yhetil.org@gnu.org"; dmarc=none ARC-Seal: i=1; s=key1; d=yhetil.org; t=1731919384; a=rsa-sha256; cv=none; b=BULTVAFK4qg0zTK7DQs/bflvdorIR2VVKtrGazHvKcrC3XBV+6J5C3zOuikReHGZxsDoWn utVv8RsvaK7KnqGMCNs9U1WOp/5RDZlLoqTSKg5PLKnFEzL6FF4AS0fhMOQUUrWbC5eD9L FROtyGlHSPS9pVRTkQV6+it9W6/6N2v92wv4IlrdExJHDuB6454VPNDoFshAnhdnkSs19A yyKXTSQoYHne+RHdMcv4AHZ5wv+XnvisHCuROEACZjIOuV96JUHHNoDx0idJQH3SRRP2A6 U0+c/PyrO08l6+wAdPAUrwpztqdDQHJDcxGbKGvHEgJLNREsRapB3wrEJ2FCrQ== Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id C0B2E80AF7 for ; Mon, 18 Nov 2024 09:43:03 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tCxLA-0004lh-9V; Mon, 18 Nov 2024 03:42:36 -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 1tCxKf-0004O0-VM for help-guix@gnu.org; Mon, 18 Nov 2024 03:42:08 -0500 Received: from cyberdimension.org ([79.143.250.36] helo=rockpro64.cyberdimension.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_CHACHA20_POLY1305:256) (Exim 4.90_1) (envelope-from ) id 1tCxKd-0004qr-Ng; Mon, 18 Nov 2024 03:42:05 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; s=dkim; bh=SwQt7f4rtxmmXsa K9lC+qpiwBriUj5NMdcnCzs/rwxo=; h=references:in-reply-to:subject:cc:to: from:date; d=cyberdimension.org; b=sT/UR2EWnbFKM3RpcIQgMxWhSI6XZQFv2+X UDew9NYm3mLlGzWaBwrq8xl8ovKzTu4UwCSu0b71Pwf0E1bsyKg+aaZoKmlxc8JC+R6IIY y0XSc5rcI6pMhzrF4xRhofHySPuvm4Ut5vUSekl3B/gfxHqgpxwD+KuLJD/U2lsowsNksd 7UD1o+msLtqP7QcoteHHs9CpkErdUotKKi892Hgm1tFw7WvZzBqncouSnXC9fKOgm33got 5vRq79oAdmjMwPPg8EcpEdvVxLyXJxC5LGXI4y3b/Cq8yh9+vgjoASTlyIcuWaP3Snz1b5 ja6LXCcUVlKq5RvL9vV6Wamu1RQ== Received: from primary_laptop (localhost [127.0.0.1]) by rockpro64.cyberdimension.org (OpenSMTPD) with ESMTP id 841562b0; Mon, 18 Nov 2024 08:41:54 +0000 (UTC) Date: Mon, 18 Nov 2024 09:41:41 +0100 From: Denis 'GNUtoo' Carikli To: Simon Tournier Cc: Adrien 'neox' Bourmault , help-guix@gnu.org Subject: Re: License compliance when redistributing images built with 'guix system'. Message-ID: <20241118094141.44e5487c@primary_laptop> In-Reply-To: <20240930221134.405ecf9e@primary_laptop> References: <20240523020925.1cb0bb2c@primary_laptop> <874j8oexq9.fsf@gmail.com> <20240930221134.405ecf9e@primary_laptop> X-Mailer: Claws Mail 4.3.0 (GTK 3.24.41; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/signed; boundary="Sig_/AXdU6zR=1sr6kJ9nTLdj/ks"; protocol="application/pgp-signature"; micalg=pgp-sha256 Received-SPF: pass client-ip=79.143.250.36; envelope-from=GNUtoo@cyberdimension.org; helo=rockpro64.cyberdimension.org X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: help-guix@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+larch=yhetil.org@gnu.org Sender: help-guix-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN X-Migadu-Scanner: mx11.migadu.com X-Migadu-Spam-Score: 2.78 X-Spam-Score: 2.78 X-Migadu-Queue-Id: C0B2E80AF7 X-TUID: nq33Yw8pKZn0 --Sig_/AXdU6zR=1sr6kJ9nTLdj/ks Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi again, In the previous approach I tried to get the manifest and it failed to get some source like the ath9k firmware. Parsing the system definition approach: --------------------------------------- I then tried to parse the system definition better and I could extract it from the firmware field for instance and then I pass the resulting package name to guix build --source=3Dtransitive: > ;;; Copyright =C2=A9 2024 Denis 'GNUtoo' Carikli > ;;; > ;;; This file is free software; you can redistribute it and/or modify > ;;; it under the terms of the GNU General Public License as > ;;; published by the Free Software Foundation; either version 3 of > ;;; the License, or (at your option) any later version. > ;;; > ;;; GNU Guix is distributed in the hope that it will be useful, but > ;;; WITHOUT ANY WARRANTY; without even the implied warranty of > ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > ;;; GNU General Public License for more details. > (use-modules (gnu bootloader)) > (use-modules (gnu system)) > (use-modules (guix packages)) > (use-modules (minimal-system)) >=20 > ;; List all the OS packages but not its dependencies. This can then be > ;; fed to guix build --sources=3Dtransitive to provide the packages > source code. >=20 > (let ((os minimal-operating-system)) > (map > (lambda (p) > (display (string-append (package-name p) "\n"))) > (append > (operating-system-packages os) > (list (operating-system-kernel os)) > (operating-system-firmware os) > (operating-system-locale-libcs os) > (list > (bootloader-package > (bootloader-configuration-bootloader > (operating-system-bootloader os))))))) But then in /gnu/store of the image I have /gnu/store/sriajy9dya89gmfaix5n7ypc3li0lmcq-libx11-1.7.3.1 And the code above doesn't list that. Reading the derivations and filtering the result approach: ---------------------------------------------------------- So I tried again another approach and it seems to print the right paths. I can run it with: > guix time-machine --commit=3Dv1.4.0 -- repl read-derivations.scm \ > $(guix gc --derivers > /gnu/store/5rhwm44nwvc4b3ww48b8w0i6f4l0bh1c-system/) And it produces the ath9k source, and also /gnu/[...]-libX11-1.7.3.1.tar.xz Here's the code: > ;;; Copyright =C2=A9 2024 Denis 'GNUtoo' Carikli > ;;; > ;;; GNU Guix is free software; you can redistribute it and/or modify it > ;;; under the terms of the GNU General Public License as published by > ;;; the Free Software Foundation; either version 3 of the License, or (at > ;;; your option) any later version. > ;;; > ;;; GNU Guix is distributed in the hope that it will be useful, but > ;;; WITHOUT ANY WARRANTY; without even the implied warranty of > ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > ;;; GNU General Public License for more details. > (use-modules (guix derivations)) >=20 > (let ((drv-from-file (read-derivation-from-file (list-ref (program-argume= nts) 1)))) > (map > (lambda (drv-prerequisite) > (map > (lambda (drv-output) > (if (derivation-output-hash (cdr drv-output)) > ((lambda _ > (display > (string-append > (derivation-output-path (cdr drv-output)) > "\n")))))) > (derivation-outputs (derivation-input-derivation drv-prerequisite)= ))) > (derivation-prerequisites drv-from-file))) But now I have another problem: some of the paths don't exist. For instance the code above lists /gnu/[...]-ath9k-htc-firmware-1.4.0-checkout which doesn't exist. With the previous code that parsed the system definition, it produced a different path for the system definition which existed. And running 'guix time-machine --commit=3Dv1.4.0 -- build --system=3Di686-linux --source ath9k-htc-firmware' with and without --system also produce the same path than the code that parsed the system definition. I'm unsure where the issue could come from. Does someone has some hypothesis / ideas that I could look into? Denis. --Sig_/AXdU6zR=1sr6kJ9nTLdj/ks Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEeC+d2+Nrp/PU3kkGX138wUF34mMFAmc6/cUACgkQX138wUF3 4mPsbg/9FRyWfYJlrFkOs8l9jQY6n8v5ZoXHsq2g5fpegydkDYPCgGwSgJix2AsX C9Cf9OE/eBkJOuHME4zkay24UPVTZ3PkMDJ6PARjmEsC1f3LaI6aLTpycgcqEQLQ J6OL1q1F6WAn/0P2ta21fvknekdwCqLW+gFYV1QtK+depIk5H5/9aQ7703vNbwq7 FDxSfrESKirtahCT9zSMpjDxVbOLoD2jCyEJgxqG5ywDjloTPSWaAnou3RsSyBQH Q7/5gphnFonxgPQOAvoi6gko1xRu+n6S3nQSu1akH7Mly8Pe+bU796BFkcAQr/3+ 9jS47/bpKr12I1Z0SbMGckkm2ofE1EBRbvivs26+u7Rt47gPXvLpFkmQz0qhS4+k NI/66GtzWE1hnVMhZRu2WhbGW2wg3xr7Bu9k15Yso61lLF1Bh+a1K5m8Oe9T3TtH pS0anz1Bd+9DjMCNm0x1MT8w7LNbB71ltlAv4tB/41bVMUUSFnp9214tPW6iMe0L M/uD5zyYs4nReFDckHCOi8TlgtoIRvW735rUxzjkBjTfaR+x/HNtLeAvLuTnxytm bHGTmRYp6+QgW83DQpjCjKE8bbPLA97zWz/ltnDG7k6gjKv1xrl8y1k9RN6Rk7Rt 3TTHMJyli4yCT8enr+fNz/JoXbxJzJM19mzfrFJoflL4awpRkUM= =lSHE -----END PGP SIGNATURE----- --Sig_/AXdU6zR=1sr6kJ9nTLdj/ks--