From: "Ludovic Courtès" <ludo@gnu.org>
To: Edouard Klein <edk@beaver-labs.com>
Cc: guix-devel@gnu.org
Subject: Re: A script to check an edit does not break anything
Date: Tue, 16 Jun 2020 12:01:28 +0200 [thread overview]
Message-ID: <87a713uy6f.fsf@gnu.org> (raw)
In-Reply-To: <874krcbtmc.fsf@alice.lan> (Edouard Klein's message of "Mon, 15 Jun 2020 10:50:19 +0200")
Hi Edouard,
Edouard Klein <edk@beaver-labs.com> skribis:
> Ludovic Courtès writes:
[...]
>> However, this is definitely something ‘guix lint’ could check with
>> something along the lines of the patch below.
>
> Thank you for pushing profile-collisions, it certainly is helpful for
> finding such problems, and it perfectly integrates within guix.
>
>>
>>> - Secondly, it does not limit itself to the dependents (as listed by
>>> guix refresh --list-dependents) of the packages one is meddling with,
>>> but to the whole reverse bags (as listed by guix graph
>>> --type=reverse-bag).
>>
>> I think it’s equivalent: ‘guix refresh -l’ simply shows the contour of
>> the graph whereas ‘guix graph’ lists every node.
>
> The problem lies when the leafs are OK but the nodes in the middle are
> not. See for example in the attached image, the failure of jupyter is
> masked by r-irkernel being both buildable and installable.
When you write “the failure of jupyter”, you mean failure to _install_
jupyter, right?
‘guix refresh -l’ returns the set of leaves whose closure encompasses
all the dependents of the given package. Thus, if you build all the
nodes returned by ‘guix refresh -l jupyter’, you’ll definitely notice a
build failure in jupyter.
> Now, the new tool you added to guix lint solves the discoverability
> problem. It is now indeed reported that jupyter has a problem.
>
> Still, it takes around 10 minutes to run on my (admittedly underpowered)
> machine, and one has to rummage to the output (or diff with a previous
> run) to see if a specific action caused or solved problems.
What takes 10 minutes? ‘guix lint -c profile-collisions’ without
arguments?
It runs in 2 minutes on my laptop, which is admittedly too much, but
note that most of the time you’ll just run:
guix lint -c profile-collisions jupyter
That should take a few seconds at most.
> gpwc.sh has a real time visual output that is specific to current
> modifications (it could even be paired with Ricardo's automatic commit
> message writer to automatically guess which root packages to start with)
> that allows the developer to start investing a problem quicker, without
> having to wait for the end of the run. Also, the visual output makes
> seeing who depends on whom easier, the same information in text form
> makes my head hurt.
>
> Provided I rewrite it in scheme, do you think gpwc could make it
> into guix/etc ?
I haven’t looked in detail at gwpc.sh but I guess we’d all like improved
tooling. To have it in Guix, it’s better if it’s well integrated with
existing tools and written in Scheme.
Thanks!
Ludo’.
prev parent reply other threads:[~2020-06-16 10:15 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-11 15:19 A script to check an edit does not break anything Edouard Klein
2020-06-11 15:41 ` Edouard Klein
2020-06-11 17:55 ` Vincent Legoll
2020-06-12 16:41 ` Edouard Klein
2020-06-13 21:15 ` Ludovic Courtès
2020-06-14 15:27 ` Checking for profile collisions with ‘guix lint’ Ludovic Courtès
2020-06-15 8:50 ` A script to check an edit does not break anything Edouard Klein
2020-06-16 10:01 ` Ludovic Courtès [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87a713uy6f.fsf@gnu.org \
--to=ludo@gnu.org \
--cc=edk@beaver-labs.com \
--cc=guix-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).