-
-
Notifications
You must be signed in to change notification settings - Fork 166
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature Request: Test for incompatible versions used in the inputs tree of affected packages #533
Comments
If ofborg builds a package it should rather check the store paths in its closure (e.g. using I updated the script: https://paste.sr.ht/~jorsn/71a68250987766c94f82651442a8d9dc6704b32f. The function searches a restricted dependency tree of limited depth for packages with a given package name (as given by This is not quite fast. I tried to register already checked packages and prevent double-checking them. This didn't decrease execution times; in some cases it even increased them. If anyone has suggestions how this can be optimized, I'm happy to apply changes. But since ofborg builds the package anyway, it is maybe better to only check the output of Here is the output of two sample calls with time measured on my notebook: 1. with broken `carla`:
2. with fixed `carla`
|
Now, by using beadth-first search it (https://paste.sr.ht/~jorsn/49940df504ab8860715c38b6e697ac6b555ea8a4) really achieves constant time if there is an inconsistency, and a saturation if there is none: 1. with broken `carla`:
2. with fixed `carla`:
|
Maybe this should print the whole parent stacks. This would probably really help debugging. |
I don't know if there's more to print, just perhaps the message could be improved, I figured out what's wrong with |
If the whole parent stack is printed, you see the whole chain of dependencies pulling in the conflicting packages. Maybe I can even display the parent tree, i.e. the list of deps until the last common parent and then for each package its branch separately. Edit: Yes, the error message can probably be improved. |
The source of this function or the source of |
The source of this function. |
In NixOS/nixpkgs#99956, we learned how disastrous are the consequences when incompatible versions of qt, are used in transitive inputs of a package. We learned that the hard way, by experiencing the issues on runtime, and many users experienced the same issue in various packages.
@jorsn wrote a script / nix function that checks that:
https://paste.sr.ht/~jorsn/307bd7a99855c7d6f34923ebe2f41a9f2d0f6f8a
Called like this (using
nixUnstable
):Maybe ofborg should perform this check upon every attribute in the changed paths?
The text was updated successfully, but these errors were encountered: