From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: reproducibility Date: Wed, 13 Jan 2016 14:56:38 +0100 Message-ID: <87bn8p60rt.fsf@gnu.org> References: <874mel2m94.fsf@gnu.org> <87bn8qa385.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]:36907) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aJLuo-0002Fy-7F for guix-devel@gnu.org; Wed, 13 Jan 2016 08:56:47 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aJLuj-0006YV-EJ for guix-devel@gnu.org; Wed, 13 Jan 2016 08:56:46 -0500 In-Reply-To: (Federico Beffa's message of "Wed, 13 Jan 2016 09:13:25 +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-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Federico Beffa Cc: Guix-devel Federico Beffa skribis: > On Tue, Jan 12, 2016 at 10:37 PM, Ludovic Court=C3=A8s wro= te: >> Federico Beffa skribis: >> >>> On Sun, Jan 10, 2016 at 9:49 PM, Ludovic Court=C3=A8s wr= ote: >>>> 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 two >>>>> 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. Thanks, Ludo=E2=80=99.