Edouard Klein writes: > Dear Guixers, > > I recently broke jupyter while updating python-prompt-toolkit (a mistake > I'm still trying to fix...) despite doing my best to follow the > instructions of the manual: > https://guix.gnu.org/manual/en/html_node/Packaging-Guidelines.html > https://guix.gnu.org/manual/en/html_node/Submitting-Patches.html#Submitting-Patches > > Because of the subtle consequences of editing a package are hard to keep > track of, I wrote the attached script (you need sharness to run it, but > with slight modification it can become a standalone script). > > This script goes beyond the instructions of the manual on two fronts: > - First, it not only tries to build the packages, but also to install > them, > - 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). > > Both these extensions are necessary to discover that my update broke the > jupyter package: > - jupyter builds, so if you don't try to install it you won't discover > it's broken > - the leafs of the dependency graph that depend on jupyter fail to build > for reasons unrelated to python-prompt-toolkit, so by just building the > leafs (which are what is being returned by guix refresh > --list-dependents) you can't discover jupyter's broken status. > > I think an update of the manual is in order (I've added it to my own > TODO queue, but I have no idea when I'll be able to get to it) but I > first wanted to share my script in case it may be useful to someone > else, and gather some feedback as to whether other developers have > encountered these kind of errors, and the way seasoned developers make > sure they don't push breaking changes. > > Cheers, > > Edouard.