On Tue, 29 Aug 2017 23:46:00 +0200 ludo@gnu.org (Ludovic Courtès) wrote: > Hello! > > Christopher Baines skribis: > > > On Tue, 29 Aug 2017 11:55:08 +0530 > > Arun Isaac wrote: > > > >> Christopher Baines writes: > >> > >> > 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(-) > >> > >> 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. > >> > >> 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’m guessing you wrote this after spending a while > debugging 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. Ok, thanks for your review Ludo :)