From mboxrd@z Thu Jan 1 00:00:00 1970 From: George Clemmer Subject: Re: ~/.guix-profile/manifest usage with "guix package -m [manifest]" / "guix pack -m [manifest]" etc.. Date: Mon, 01 Oct 2018 16:17:50 -0400 Message-ID: References: <87h8ic36ix.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:39361) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g74dl-0000Ri-Pb for guix-devel@gnu.org; Mon, 01 Oct 2018 16:18:02 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g74dh-0000H2-JM for guix-devel@gnu.org; Mon, 01 Oct 2018 16:18:01 -0400 In-reply-to: <87h8ic36ix.fsf@gnu.org> 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.org@gnu.org Sender: "Guix-devel" To: Ludovic =?utf-8?Q?Court=C3=A8s?= Cc: "guix-devel@gnu.org" , YOANN P Ludovic Court=C3=A8s writes: > Hello, > > YOANN P skribis: > >> I was thinking than "~/.guix-profile/manifest" was a valid manifest file= due to his name, but it seems not that is the case from the error i've got >> >> https://pastebin.com/Z7h2t5mL >> >> After some search , i've finally understand that the instantiated profil= e couldn't be used as source profile for "guix package -m" etc... due to th= e same words despite use case and is a bit confusing > > I agree it=E2=80=99s a bit confusing. The manual does make it clear that= -m > expects source code that evaluates to a manifest object, though. > >> https://gnunet.org/bot/log/guix/2016-05-27#T1040380 >> >> It will be really convenient to only have the instantiate profile to eas= ily maintain it in a vcs system. >> >> Despite what ludo said in 2016 on IRC, i didn't see those options yet. >> Did i missed them ? >> If not implemented yet, any news about this feature ? :) > > No news I=E2=80=99m afraid :-) but I=E2=80=99ve opened an issue so we kee= p track of it: > > https://issues.guix.info/issue/32844 Hi Ludo=E2=80=99, Your bug doesn't capture some other manifest issues ... "~/.guix-profile/manifest" and 'guix package --manifest=3DFILE' use the same term/filename for markedly different things and the doc is silent on the distinction. While "~/.guix-profile/manifest" may be internal to Guix, users will inevitably trip across it and be confused (as YOANN did here, and I did a year ago). We might avoid confusion and make documentation easier by renaming one of these. Consider ... We are using "~/.guix-profile/manifest" in a way that is consistent with a common use, e.g., shipping manifest, which specifies information not in the associated order and at a level of detail that can only be determined at shipment (e.g. serial number). Our use of manifest in 'guix package --manifest=3DFILE' is rather less intuitive. In fact this FILE is more like an order than a manifest, IMO. As the doc says, [the manifest] 'FILE must return a =E2=80=9Cmanifest= =E2=80=9D object, which is roughly a list of packages'. If we were to rename this a "package-list" or "package-spec", this would be more intuitive and self-explanatory (at least to me, an English speaker), and make the doc easier to write/understand. YOANN hit an error when trying to do 'guix package -m ~/.guix-profile/manifest'. Why would one want to do this? Maybe to (re)produce a configuration previously reached by a series of 'guix package -i' operations? In most situations, rather than a "~/.guix-profile/manifest" file, one wants to use a 'guix package --manifest=3DFILE', since this is more durable over time and easier to maintain (e.g. in SCC). So, IMO, it would be useful to have something like ... guix package --manifest-from-profile -p ~/.guix-profile > FILE ... which returns a "minimally specified" FILE that allows 'guix package --manifest=3DFILE' to reproduce "~/.guix-profile". - George