From mboxrd@z Thu Jan 1 00:00:00 1970 From: Federico Beffa Subject: Re: reproducibility Date: Wed, 13 Jan 2016 20:53:38 +0100 Message-ID: References: <874mel2m94.fsf@gnu.org> <87bn8qa385.fsf@gnu.org> <87bn8p60rt.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]:57964) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aJRUB-0001xA-SB for guix-devel@gnu.org; Wed, 13 Jan 2016 14:53:40 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aJRUA-00045u-SU for guix-devel@gnu.org; Wed, 13 Jan 2016 14:53:39 -0500 In-Reply-To: <87bn8p60rt.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-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: =?UTF-8?Q?Ludovic_Court=C3=A8s?= Cc: Guix-devel On Wed, Jan 13, 2016 at 2:56 PM, Ludovic Court=C3=A8s wrote: > Federico Beffa skribis: > >> On Tue, Jan 12, 2016 at 10:37 PM, Ludovic Court=C3=A8s wr= ote: >>> Federico Beffa skribis: >>> >>>> On Sun, Jan 10, 2016 at 9:49 PM, Ludovic Court=C3=A8s w= rote: >>>>> Federico Beffa skribis: >>>>> >>>>>> I've noticed that a derivation is a function of the order of the >>>>>> inputs. As an example, the following two input orders give rise to t= wo >>>>>> distinct derivations: >>>>>> >>>>>> A) >>>>>> >>>>>> (inputs >>>>>> `(("texlive" ,texlive) >>>>>> ("texinfo" ,texinfo) >>>>>> ("m4" ,m4) >>>>>> ("libx11" ,libx11)) >>>>>> >>>>>> B) >>>>>> (inputs >>>>>> `(("texinfo" ,texinfo) >>>>>> ("texlive" ,texlive) >>>>>> ("m4" ,m4) >>>>>> ("libx11" ,libx11)) >>>>>> >>>>>> Is this intentional? >>>>> >>>>> Yes. There are several places where order matters, most importantly >>>>> search paths, and these are computed from the input lists. >>>> >>>> If order matters, it would probably be more robust to force internally >>>> a specific order rather than relying on the (often random) order >>>> defined in a package recipe (possibly created by an importer, ...). >>> >>> Most of the time any order would work, but I can imagine situations >>> where the packager could purposefully choose a specific order. So I=E2= =80=99d >>> rather not do any automatic sorting, if that=E2=80=99s what you have in= mind. >> >> Just out of curiosity, could you provide a concrete example where the >> order is purposefully specified. > > No specific example, sorry, but it=E2=80=99s plausible IMO. With enough = CPU > power, we could try rebuilding everything with a random order and see > what breaks. I guess that's not necessary... I was just trying to learn something. Thanks, Fede