From mboxrd@z Thu Jan 1 00:00:00 1970 From: Leo Famulari Subject: bug#22629: Towards a new 'guix pull' Date: Fri, 24 Feb 2017 13:21:01 -0500 Message-ID: <20170224182101.GA9615@jasmine> References: <87vb5vsffd.fsf@gnu.org> <20170222075706.GA21158@mail.thebird.nl> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="T4sUOijqQbZv57TR" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:51634) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1chKVJ-0002NO-5i for bug-guix@gnu.org; Fri, 24 Feb 2017 13:22:06 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1chKVF-0005HE-St for bug-guix@gnu.org; Fri, 24 Feb 2017 13:22:05 -0500 Received: from debbugs.gnu.org ([208.118.235.43]:56715) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1chKVF-0005HA-Pm for bug-guix@gnu.org; Fri, 24 Feb 2017 13:22:01 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1chKVF-0000jz-KR for bug-guix@gnu.org; Fri, 24 Feb 2017 13:22:01 -0500 Sender: "Debbugs-submit" Resent-Message-ID: Content-Disposition: inline In-Reply-To: <20170222075706.GA21158@mail.thebird.nl> List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: Pjotr Prins Cc: 22629@debbugs.gnu.org --T4sUOijqQbZv57TR Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Feb 22, 2017 at 07:57:06AM +0000, Pjotr Prins wrote: > To keep things simple I propose a channel simply reflects a fixed > version of a git tree of a Guix package list. I.e., the exact *state* > of the combined list of packages is what we support in a channel. The > git checkout can be stored in something like You shared *a lot* of ideas following this paragraph, but I think that =66rom here we can start thinking about how to incrementally evolve from the current `guix pull` to something better. Currently, you can `guix pull` any commit of GNU Guix with `guix pull --url` [0]. This feature depends on the Git server implementation's HTTP interface, but I bet it's a common feature, and it can already be used with other Git repositories besides our Savannah repo. This achieves the goal of channels, "easy specialization of deployments". Well, "easy" is a matter of degrees ;) I was thinking we could start by keeping `guix pull` the same from the user's point of view, but change it to support Git in addition to downloading a tarball. We already have code for this in (guix git-download) which uses the Git command-line tool. [1] The next step would be to keep some metadata about which channel the last pull came from, so that subsequent pulls would point to it. What do people think? I haven't wrapped my head around all the proposed changes. I think it will be best to keep the goal of "easy specialization of deployments" in mind and work towards it incrementally. [0] https://git.savannah.gnu.org/cgit/guix.git/commit/?id=3D8a9cffb202414b20081= 910115ba76402924bdcdd [1] In the long run, we should ditch the Git CLI and use something like guile-git: https://gitlab.com/amirouche/guile-git --T4sUOijqQbZv57TR Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEsFFZSPHn08G5gDigJkb6MLrKfwgFAliweYkACgkQJkb6MLrK fwjrOBAA0BdkuDnJ0aD/9bHmV2F/w2jcLyjFQvJfne2c9D10SOndcvGMUpbyPFCy TVYmlbTjwwS+U48721VtgQXbpWdKdddwk6g7akvZMitjcZ/SANaPOKOCg94Ez3f3 W8ap8dJRXMgWaF6sYNtD5dk0xA4B1PUEB3fySuO/grEtGCcfnP1L5e/SaRss2BGV sqgxwvMSvY3lwWlVXqGwx/3zS2scn8J/5GubcV0Yu2/SaUcEKuVgd92y1W/iJj9U MFRqjA0bHp+2pVLOD0QNFbTV+B9ChAa+Xo29AkRo43eCcL4x61S4R9n09c4jZPQv cx2PizHxld5MKFADYAhba9x1PThkdhVPk687gHiLfENSd5eUdU5P/5eJH4mxMrL0 g3VOK2YOb85VdsPJmdtLO3hvXG2DqBKs8Gob7HzV0fekKnWgvDeiJaAFts1PR6ga GGYdyln/TmqHIqMgdQuulrlCrmYk0uvzz5UW8WxQ0W7j6EfjlppnP0kJtNGYynI0 enPB2OcMohuYnHEXmB9p4QxtgoP3CL66VvPDTFyAgtekUBqA1dcicQbbJ86sIwTi 0FiMEch+DVGH5z98H9CBT8DzFa4b/FSomSZ1jGA8uNp5zHuGHe+R8JQch1j2M+nS 5UvYVLnKWGozxRxdvu7dYYx7L6uPuhnF0mL6xkd6fabMYj9kjRc= =TqJj -----END PGP SIGNATURE----- --T4sUOijqQbZv57TR--