Heya, Roel Janssen <[email protected]> skribis:
> Hartmut Goebel writes: > >> Hi, >> >> I find myself debugging some package test-cases quite often. This is >> *very* time-consuming, esp. if compiling the source takes several minutes. >> >> So what I need is something to drop me into an interactive shell if the >> build fails. >> >> At the moment for these cases I try setting of an environment (see my >> other post just a few minutes ago). But this setup is quite complicated >> (so I wrote a wrapper-shell-script) and error-prone. And I assume, >> others packagers will need this, too. >> >> My ideal solution would be something like >> >> guix build --shell-on-failure mypackage >> >> Should I open a bug-report for this? > > I would find this really useful as I usually do the manual steps: > guix build -K <package> > cd <package-build-dir> > bash > . environment_variables > cd <actual_source_dir> > > Which is suboptimal because then you're not the build user in an > isolated environment. Did you see the suggestions we recently added to the manual? https://www.gnu.org/software/guix/manual/html_node/Debugging-Build-Failures.html The instructions are reasonable IMO. The proposed ‘--shell-on-failure’ could automate this though, and I agree it’d be nice. Technically it could be surprisingly difficult to implement, for instance because the daemon doesn’t communicate in a machine-readable way the name of the failed build directory, and also because the directory name “outside” might differ from the directory name “inside” (/data/tmp/guix-build-foo.drv-7 vs /tmp/guix-build-foo.drv-0). Ludo’.
