[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: In need for a simple "join build container"
From: |
Ludovic Courtès |
Subject: |
Re: In need for a simple "join build container" |
Date: |
Wed, 07 Jun 2017 14:30:28 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) |
Heya,
Roel Janssen <address@hidden> 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’.