From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35125) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dmoLi-0000ZM-IB for guix-patches@gnu.org; Tue, 29 Aug 2017 17:47:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dmoLe-0000nO-LQ for guix-patches@gnu.org; Tue, 29 Aug 2017 17:47:06 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:52521) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dmoLe-0000nC-H2 for guix-patches@gnu.org; Tue, 29 Aug 2017 17:47:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1dmoLe-0005lu-6b for guix-patches@gnu.org; Tue, 29 Aug 2017 17:47:02 -0400 Subject: [bug#28185] [PATCH] build: emacs-build-system: Make the install phase more helpful. Resent-Message-ID: From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) References: <20170822171303.21754-1-mail@cbaines.net> <3c5556d2.ADkAAC0m-p4AAAAAAAAAAAPmDT4AAAACwQwAAAAAAAW9WABZpQjV@mailjet.com> <20170829075827.72c9a858@cbaines.net> Date: Tue, 29 Aug 2017 23:46:00 +0200 In-Reply-To: <20170829075827.72c9a858@cbaines.net> (Christopher Baines's message of "Tue, 29 Aug 2017 07:58:27 +0100") Message-ID: <87d17eqc87.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: Christopher Baines Cc: 28185@debbugs.gnu.org Hello! Christopher Baines skribis: > On Tue, 29 Aug 2017 11:55:08 +0530 > Arun Isaac wrote: > >> Christopher Baines writes: >>=20 >> > Modify the install phase to detect when nothing has been installed, >> > and error if this happens. This is preferable to continuing, and >> > allowing the next phase to fail. >> > >> > Also, when nothing can be found to be installed, print out each >> > file that was considered, along with the regular expressions that >> > were used to include and exclude it. >> > >> > * gnu/build/emacs-build-system.scm (install-file?): Add additional >> > error checking and logging. >> > --- >> > guix/build/emacs-build-system.scm | 45 >> > ++++++++++++++++++++++++++++----------- 1 file changed, 32 >> > insertions(+), 13 deletions(-)=20=20 >>=20 >> I feel that this adds a lot of complexity (lines of code) to the >> emacs-build-system checking for an error that can be quite easily >> identified and fixed otherwise. >>=20 >> WDYT? Maybe, others can comment on this as well. > > In my personal experience, I didn't find this easy to identify and fix. > For packaging emacs-minitest, I ended up writing this to pin down why > the emacs-build-system wasn't installing the key file. > > I think validating that something has been installed is really > important, as otherwise the later phases fail in a very unclear way. > > The extra functionality about explaining why each file hasn't been > installed is useful for debugging, and I agree that it adds significant > complexity. I agree. I=E2=80=99m guessing you wrote this after spending a while debugg= ing a build, despite being experienced with Guix, which to me suggests that this is a welcome improvement, in spite of the extra complexity. > But, I'd like for packaging emacs things to be really easy in the > general case, and I think making the build system more helpful when it > fails is one way to improve this. I wouldn't like to expect that you'd > need to read the implementation of the build system, or add in your own > debugging code just to package a emacs module. Sounds reasonable. To me this looks like a step in the right direction. Thanks, Ludo=E2=80=99. PS: Thanks Arun for pinging me. :-)