From mboxrd@z Thu Jan 1 00:00:00 1970 From: myglc2 Subject: Rethinking guix pull [was Re: Heads-up: transition to Guile 2.2] Date: Mon, 15 May 2017 16:24:10 -0400 Message-ID: <86inl127it.fsf_-_@gmail.com> References: <87bmt28qnm.fsf@gnu.org> <87k26chy16.fsf@gnu.org> <87y3u5wwsi.fsf_-_@gnu.org> <20170514135041.GA29369@thebird.nl> <871srrruvi.fsf@gnu.org> <20170515072626.GA963@thebird.nl> <87fug6f7dj.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]:33239) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dAMXQ-0000Gy-ED for guix-devel@gnu.org; Mon, 15 May 2017 16:24:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dAMXN-00087C-7n for guix-devel@gnu.org; Mon, 15 May 2017 16:24:16 -0400 In-Reply-To: <87fug6f7dj.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Mon, 15 May 2017 17:48:56 +0200") 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 On 05/15/2017 at 17:48 Ludovic Court=C3=A8s writes: > Hi, > > Pjotr Prins skribis: > [...] >> Everyone, I mean everyone, is building guix with different toolsets, i.e, >> combinations of tools and versions. >> >> This is wrong and unguixy. > > Yes, I kinda agree, though again, we need to distinguish between > developers and users (I know I know, the deficiencies of =E2=80=98guix pu= ll=E2=80=99 > gives users an incentive to do use the > checkout/autoreconf/configure/make dance, but let=E2=80=99s put that asid= e for > now.) I believe there will be many guix "users" that want to run from git checkout. They just may not know it, yet. They will want it not just because they are trying to get around the limitations of git pull. For example, even users that don't do development have occasion to... - select non-stock package config options - need/apply/use patches from guix developers - need/apply/use patches from package developers - need/apply/use some crazy stuff from a friend Furthermore, ISTM that current guix packaging is a rather nasty tease: Our user installs guix/guixSD, does 'guix pull' & 'guix-edit', and what do they get? READ-ONLY source in an editor that BEEPS when they TRY TO CHANGE IT :-( Right out of the box this seem contrary to the Guix promise of _freedom_ and _hackability_. Now, if our user thinks they really do want to try making a change, they first have to wade thru various and confusing config options and set guix up in a _non-standard_ way. This is currently a large hurdle and _far from liberating_. Now there are no doubt different "classes" of guix users that need to be accommodated. We should think about and agree on a model of what these classes are and the services that guix provides in each class. Maybe some of the discussions of channels, potluck, etc can also be fit into such a framework. Thinking about these issues I ended up wondering: why don't we use git checkout in "guix pull" for all classes of user? Then there won't be a big hurdle to get over when a user decides they want to try editing a source. In this approach, different user classes would be accommodated in the documentation structure and with a config option or two. As an optimization, compiled .go modules can be pulled to minimize user-side guix source compilation. ISTM there would be no downside. WDYT? - George