From mboxrd@z Thu Jan 1 00:00:00 1970 From: myglc2@gmail.com Subject: Re: [RFC] A simple draft for channels Date: Wed, 24 Jan 2018 12:55:08 -0500 Message-ID: <86tvvbuooz.fsf@gmail.com> References: <87bmhq6ytg.fsf@mdc-berlin.de> <87mv19ozgl.fsf@member.fsf.org> <874lnb2vt8.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]:57441) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eePGV-0006Fg-Oy for guix-devel@gnu.org; Wed, 24 Jan 2018 12:55:16 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eePGS-0006Cn-Hz for guix-devel@gnu.org; Wed, 24 Jan 2018 12:55:15 -0500 In-Reply-To: <874lnb2vt8.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Wed, 24 Jan 2018 15:08:51 +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.org@gnu.org Sender: "Guix-devel" To: Ludovic =?utf-8?Q?Court=C3=A8s?= Cc: guix-devel@gnu.org, Ricardo Wurmus On 01/24/2018 at 15:08 Ludovic Court=C3=A8s writes: > Hello, > > iyzsong@member.fsf.org (=E5=AE=8B=E6=96=87=E6=AD=A6) skribis: > >> Ricardo Wurmus writes: >> >>> Hi Guix, >>> >>> I=E2=80=99d like to retire GUIX_PACKAGE_PATH as the main way to get thi= rd-party >>> packages, because we can=E2=80=99t really keep track of packages that w= ere added >>> or redefined in this way. I want to replace it with slightly more >>> formal =E2=80=9Cchannels=E2=80=9D. >> >> Hello, as a way to get and manage third-party guix repositories, it >> sounds more like =E2=80=9Coverlays=E2=80=9D (in Gentoo world) rather tha= n =E2=80=9Cchannels=E2=80=9D (in >> Nix world, to ensure binaries availability and updates stability) to me. >> >> https://wiki.gentoo.org/wiki/Overlay >> https://nixos.org/nix/manual/index.html#sec-channels >> >> How about call it as =E2=80=9Coverlay=E2=80=9D? > I think =E2=80=9Coverlay=E2=80=9D has the notion that it=E2=80=99s a laye= r on top of another > layer, which is not exactly the case here. It=E2=80=99s not exactly like= what > Nix channels either, but closer to that, I think. Because Nix is not well known and their definition[1] is obscure I looked for mainstream uses of "channels". I found Chrome "Release Channels"[2] and Red Hat Network Satellite "Channels"[3,4]. A Chrome user can use only one channel at a time, e.g., Stable, Beta, Developer. The Red Hat model is more complex: CHANNEL A channel is a list of packages. Channels are used to choose packages to be installed from client systems. Every client system must be subscribed to one Base Channel and can be subscribed to one or more Child Channel . BASE CHANNEL A base channel is a type of Channel that consists of a list of packages based on a specific architecture and Red Hat release. For example, all the packages in Red Hat Enterprise Linux AS 3 for the x86 architecture make a base channel. CHILD CHANNEL A child channel is a Channel associated with a Base Channel but contains extra packages. Ricardo, AIUI, your channels don't work like this. But I am at a loss to say how they will work in practice from the user's POV. If you could write such a description it would sure help us understand the proposal better. [1] https://nixos.org/nix/manual/#sec-channels: "A Nix channel is just a URL that points to a place that contains a set of Nix expressions and a manifest." [2] https://www.chromium.org/getting-involved/dev-channel [3] https://access.redhat.com/documentation/en-us/red_hat_network_satellite/5.3= /html/reference_guide/glossary [4] https://access.redhat.com/documentation/en-us/red_hat_network_satellite= /5.3/html/reference_guide/s1-sm-channels-packages