From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= Subject: Re: Store channel specification in profile Date: Sun, 12 Jan 2020 00:48:18 +0100 Message-ID: <87pnfpsgfx.fsf@gnu.org> References: <87blsyelgm.fsf@ambrevar.xyz> <87tv69bezo.fsf@gnu.org> <87zhg1xvmo.fsf@ambrevar.xyz> <874kx8gxh1.fsf@ambrevar.xyz> <87blreasgd.fsf@ambrevar.xyz> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:54795) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iqQUP-0005Sp-SJ for guix-devel@gnu.org; Sat, 11 Jan 2020 18:48:23 -0500 In-Reply-To: <87blreasgd.fsf@ambrevar.xyz> (Pierre Neidhardt's message of "Wed, 08 Jan 2020 16:17:06 +0100") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane-mx.org@gnu.org Sender: "Guix-devel" To: Pierre Neidhardt Cc: Guix Devel Hi, Pierre Neidhardt skribis: >> Basically an entry looks like: >> >> --8<---------------cut here---------------start------------->8--- >> ("diffoscope" >> "131" >> "out" >> "/gnu/store/h8zr4rxhvpikv9p07kdjkf2dsrja35wm-diffoscope-131" >> (propagated-inputs ()) >> (search-paths ()) >> (properties >> (provenance >> (repository >> (version 0) >> (url "https://git.savannah.gnu.org/git/guix.git") >> (branch "master") >> (commit >> "b5d4d5b9bcf267fddd02fcc14b88eac0bebf979f"))))) >> --8<---------------cut here---------------end--------------->8--- > > The above is not very human friendly. Each entry should be something > like plist with default values, so that the user does not have to write > "out" every time. Note that it was never designed to be human-friendly. :-) The Scheme code passed to =E2=80=98--manifest=E2=80=99 is friendlier. > Questions: > > - Do manifests really need the store path?=20=20 > - Same question about propagated-inputs. Aren't they already encoded in > the package definition? Why repeating them here? This =E2=80=98manifest=E2=80=99 file exists mostly for one purpose: to allo= w incremental operations on a profile with =E2=80=98guix upgrade=E2=80=99, =E2=80=98guix = install=E2=80=99, and so on. If =E2=80=98--manifest=E2=80=99 were the only way to build a profile, this = =E2=80=98manifest=E2=80=99 file would (almost) not be needed. (Actually it=E2=80=99s also needed for =E2=80=98--list-installed=E2=80=99.) Incremental operations need all this info so they can pull in the right store items, set the right search paths, etc. IOW, they need to work around the fact that some of the objects for their profile are not available. HTH! Ludo=E2=80=99.