From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id gPqBCJfMiF+RRQAA0tVLHw (envelope-from ) for ; Thu, 15 Oct 2020 22:26:31 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id MIhNBJfMiF+lLwAA1q6Kng (envelope-from ) for ; Thu, 15 Oct 2020 22:26:31 +0000 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 B0DC49402A8 for ; Thu, 15 Oct 2020 22:26:29 +0000 (UTC) Received: from localhost ([::1]:47740 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kTBhc-0007Y3-LQ for larch@yhetil.org; Thu, 15 Oct 2020 18:26:28 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:58272) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kTBhR-0007Xv-Ur for help-guix@gnu.org; Thu, 15 Oct 2020 18:26:17 -0400 Received: from tobias.gr ([2a02:c205:2020:6054::1]:46784) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kTBhP-0000iD-4z for help-guix@gnu.org; Thu, 15 Oct 2020 18:26:17 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tobias.gr; s=2018; bh=U4kf+6FJdLtwk4i6JyLs5hyfp285XwWXeYcuoUzf088=; h=date:in-reply-to: references:subject:cc:to:from; b=ASS3hd8VDQ2JJfVMQglQC2aAvpltDYQSCmC3J cTJXpsEJzTsq2dirBDMREm0QFRTwwQiAUcPQmzi5I+EuMRSvuXgUxqLmDyXm2fkLJuyIRh MF+csO3GbMO1lGf2gi9Fi9O2NiM+R4RrFiGyKYjbzAuNe76vwcEW8hSZFob15uyAUJjgNq lfW0AmJweOHRZG/jNVB0XLKRzccAO4geM6cIEJ7Su5zjbDPHQWmbL+v47kTuU91jeDrlur bMRu5WeIn7OtgsxEocGA1wZK7ifMxBPPR4SsfPNUGOqf2a8c3z5Hn0MYj5uv9QNrChit/e zLi0lhoacJBv9YYfncbCpykDQ== Received: by submission.tobias.gr (OpenSMTPD) with ESMTPSA id 2b2bc74a (TLSv1.2:ECDHE-ECDSA-AES256-GCM-SHA384:256:NO); Thu, 15 Oct 2020 22:26:25 +0000 (UTC) BIMI-Selector: v=BIMI1; s=default; From: Tobias Geerinckx-Rice To: Simon South Cc: help-guix@gnu.org Subject: Re: Specifying dependencies among package outputs? References: <87eem0l9qc.fsf@simonsouth.net> <87y2k8mihx.fsf@nckx> <87o8l3h746.fsf@simonsouth.net> In-reply-to: <87o8l3h746.fsf@simonsouth.net> Date: Fri, 16 Oct 2020 00:26:13 +0200 Message-ID: <87imbbazy2.fsf@nckx> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Received-SPF: pass client-ip=2a02:c205:2020:6054::1; envelope-from=me@tobias.gr; helo=tobias.gr X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. 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, SPF_HELO_PASS=-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.23 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" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=tobias.gr header.s=2018 header.b=ASS3hd8V; dmarc=pass (policy=reject) header.from=tobias.gr; spf=pass (aspmx1.migadu.com: domain of help-guix-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=help-guix-bounces@gnu.org X-Spam-Score: -2.31 X-TUID: y4B74agi3vZH --=-=-= Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable Simon, Simon South =E5=86=99=E9=81=93=EF=BC=9A > Thank you Brett, Julien and Tobias for your responses. They've=20 > been > super helpful and have cleared things up for me quite a bit. Very happy to hear that! > This also clears up for me a bit of remaining confusion around=20 > the > distinction between "inputs" and "propagated inputs": I wondered=20 > why, if > a package's inputs are its dependencies, the "propagated-inputs"=20 > field > is needed at all since surely a package's inputs would always be > installed alongside it. The explanation is that a package's=20 > inputs are > _not_ its dependencies; they are merely inputs to its build=20 > process, and > whether one becomes a "dependency" depends entirely on whether a > reference to it remains in any of the package's outputs. The > "propagated-input" field is used to ensure this association is=20 > made, > even when there is no apparent reference (that Guix can find) in=20 > the > outputs. Yes, P-Is are a bit of a hack outside of the simple functional=20 model. Note that they're not equivalent to (say) simply echoing some=20 store references into a /gnu/store/foo/.propz text file. They=20 affect the resulting profile as if they had been explicitly=20 installed into it. Knot keeps a reference to fstrm, but =E2=80=98guix=20 install knot=E2=80=99 will not make =E2=80=98fstrm_capture=E2=80=99 appear = in your $PATH.=20 If it were propagated, it would. Propagation is evil and indispensable. > Tobias Geerinckx-Rice writes: >> If you apply the patch below you'll see (e.g., with =E2=80=98guix=20 >> size=E2=80=99) that >> installing only knot:tools will pull in knot{:out,:lib} without=20 >> any >> human-made hints to that effect. > > Thank you for this! This is amazing, and exactly the sort of=20 > thing I had > in mind. (Though I wonder if the "tools" output would better be=20 > called > "utils", to match the isc-bind package?) Rather not. I dislike pointless abbreviation. I'm not alone[0].=20 I don't think matching BIND provides value. > Are you planning on committing these changes? I think they're=20 > great. Sure. I'll move all of /bin to :tools, since I'm defining :tools=20 as =E2=80=98reasons I install knot on my laptop=E2=80=99. I'll keep /sbin in :out. Some of its commands could be useful=20 even without a [running] knotd but I don't think it's likely. Sound good? >>> However, Knot's daemon and utilities have the same dependency=20 >>> on its >>> own libraries, so pulling those into a separate "lib" output=20 >>> would be >>> liable to break everything else. >> >> Why? > > Assuming you didn't mean this rhetorically: Not at all. I don't consider rhetorical =E2=80=98Why?=E2=80=99s useful and= am=20 always interested in the answers. Thanks for taking the time to=20 respond at length. I'll read it at my leisure. Kind regards, T G-R [0]: http://issues.guix.gnu.org/43881#3 --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iIMEARYKACsWIQT12iAyS4c9C3o4dnINsP+IT1VteQUCX4jMhQ0cbWVAdG9iaWFz LmdyAAoJEA2w/4hPVW15JQAA/2vOEvu4ESuObhWxfBhHDcA001ktylHkY1rAEhpr LwnTAP0RvrMDvMPPIegXTOal/NtSW8FdAkRu9GYUqbfEy6BEAw== =ZEk5 -----END PGP SIGNATURE----- --=-=-=--