-
Notifications
You must be signed in to change notification settings - Fork 164
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
Autoinstall fixes #314
Merged
Merged
Autoinstall fixes #314
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1ae57d1
to
7f25544
Compare
evelikov
reviewed
Mar 20, 2023
evelikov
reviewed
Mar 20, 2023
evelikov
reviewed
Mar 20, 2023
evelikov
reviewed
Mar 20, 2023
evelikov
reviewed
Mar 20, 2023
evelikov
reviewed
Mar 20, 2023
evelikov
reviewed
Mar 20, 2023
evelikov
reviewed
Mar 20, 2023
Huge thanks for the series - in general it looks good. There are a few of minor comments and I'm in favour of this landing with those addressed. |
7f25544
to
74ae445
Compare
evelikov
reviewed
Mar 21, 2023
74ae445
to
35f96c6
Compare
evelikov
reviewed
Mar 25, 2023
796b3b7
to
6f610ac
Compare
interleaving may be nondeterministic due to buffering
dba8761
to
5b00d90
Compare
ensures that * installed_modules does not contain duplicates (could happen if multiple kernels are installed) * the intersection between installed_modules and to_install is empty (could happen if multiple versions of a dkms module are installed)
ec3db42
to
1ae8b86
Compare
after eliminating a lot of nondeterminism in the output, I finally got it all green ;-) |
evelikov
reviewed
Apr 2, 2023
evelikov
reviewed
Apr 2, 2023
evelikov
reviewed
Apr 2, 2023
evelikov
reviewed
Apr 2, 2023
the keys of an associative array have no defined order this is no problem for regular operation, but tests that run autoinstall to (try to) build multiple modules need a deterministic ordering of the modules to produce deterministic output
error code 9 is used at multiple locations throughout the dkms code to indicate different unrelated errors error code 77 has been used by GNU autotest for skipped tests and was later adopted by other testing frameworks
resolving skipped modules with dependencies may need multiple rounds
otherwise a module with a build_exclusive constraint can fail due to a missing dependency, since build_exclusive is only evaluated after all dependencies are satisfied a build-exclusive module depending on another build-exclusive module just needs the same (or a more strict) build-exclusive constraint
align the behavior with dkms_common.postinst which also skips the build step if headers are not available Before this change the following installation order succeeds (while linux-headers-... is *not* installed) (Debian syntax): apt install linux-image-... && apt install ...-dkms while the opposite order causes a failure: apt install ...-dkms && apt install linux-image-... After this change both ways succeed.
1ae8b86
to
e110326
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is how I expect
autoinstall
to work in case of modules being skipped due toBUILD_EXCLUSIVE_*
.