From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christopher Allan Webber Subject: Re: Add "guix update" command Date: Sat, 23 Jan 2016 11:27:07 -0800 Message-ID: <8737to6qp9.fsf@dustycloud.org> References: <20160123192034.3fd660a9@alarmpi> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:51167) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aNOvh-00071y-63 for guix-devel@gnu.org; Sun, 24 Jan 2016 12:58:26 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aNOvg-000114-9R for guix-devel@gnu.org; Sun, 24 Jan 2016 12:58:25 -0500 Received: from dustycloud.org ([50.116.34.160]:50412) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aNOvg-00010p-4t for guix-devel@gnu.org; Sun, 24 Jan 2016 12:58:24 -0500 In-reply-to: <20160123192034.3fd660a9@alarmpi> 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-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Fabian Harfert Cc: guix-devel@gnu.org Fabian Harfert writes: > Hello, > > on IRC I already mentioned that, but there wasn't much resonance: I > think for the purposes of non-developers the behavior of the "guix > pull" command is too complicated. > > Normal users don't need a development version of the package manager, > when they just want to get the newest package definitions to update > their installed software. So it would be much easier and faster if > there was a separate repository just containing the most recent package > definitions. > > I propose to add a new command line option - e.g. "guix update" - > fetching these latest package definitions and not doing anything else. > They could be contained by a package whose definition is downloaded, > for example "guix-packages". > > To avoid compatibility issues when there's a new release of Guix itself > this package must be versioned equal to the Guix version numbers. I'm > thinking of the following: > > The user is running Guix 1.2.1 and has installed the package > guix-packages-1.2.1-4 containing the package definitions. Now he runs > "guix update" and fetches guix-packages-1.2.1-5 with the new package > definitions including the new Guix release 1.2.2. He now updates Guix > to this version which has the new guix-packages-1.2.2-0 as an input. > When he runs "guix update" again, guix-packages-1.2.2-1 is installed, > which contains package definitions that make use of some new features. > > This would just be for the time between the Guix releases. I think we > don't need support for older versions of Guix except from keeping the > last guix-packages package, but we could also do some security > or minor updates to the older package definitions which would provide > users the possibility to use GuixSD as a stable distribution like > Debian. > > Another advantage of the separation between Guix itself and the package > definitions is that it's easy to provide an own or foreign > guix-packages package which would promote the decentralization of Guix. I'm not really for this. It would require a lot of careful planning. Additionally, right now the packages depend on Guix code generally, so as Guix evolves its internal APIs, packages shipped with it can depend on that. That seems valuable for the "core" set of packages. I'm afraid we'd lose this if we'd take the above suggested route.