The update script currently requires attribute to be passed.
Let’s return it using the commit feature.
Otherwise, `update.nix` would use the attribute it first found
for the commit message, which can be something like `emscriptenPackages.libxml2`.
This was prompted by the need to capture exit status of `find-latest-version.py` in the next commit.
I had to drop `errexit` (if I did not want to result to even worse hacks) but that concealed errors like the following,
when I accidentally used an incorrect equals operator in numeric comparison:
line 24: ((: 1 = 1 : attempted assignment to non-variable (error token is "= 1 ")
Converting the plumbing in `gnome/update.nix` to Python also makes it slightly easier to read.
For now, `find-latest-version.py` is still invoked as a separate process (rather than being imported as a Python module),
as `update.nix` might be replaced by `genericUpdater` in the future.
It is now possible to update to GNOME pre-release by simply running:
GNOME_UPDATE_STABILITY=unstable nix-shell maintainers/scripts/update.nix --arg predicate '(path: pkg: pkg.updateScript.name or null == "gnome-update-script")' --argstr keep-going true --argstr commit true