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
Review the kernel builder ergonomics #212
Merged
samueldr
merged 32 commits into
NixOS:master
from
samueldr-wip:feature/refreshed-kernel-builder
Oct 3, 2020
Merged
Review the kernel builder ergonomics #212
samueldr
merged 32 commits into
NixOS:master
from
samueldr-wip:feature/refreshed-kernel-builder
Oct 3, 2020
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
d0a4582
to
003fb05
Compare
Works on tissot |
003fb05
to
9210f71
Compare
d80ba7b
to
36a99a3
Compare
Works on |
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.
The main idea is to finally factor out the things to factor out of the kernel derivations.
Look at the resulting derivations to see what changes were made.
With this, a better understanding of what was done, and what was unneeded was also achieved.
The goal here is to reduce the amount of cargo-culting between the different kernel derivations. By better understanding what was cargo-culted, necessary and unnecessary, I basically documented through the code what was being done.
By reducing the cargo-culting, I should be able to soon add a kernel derivation skeleton to autoport. With some additional detection it should be able to give a pretty solid approximation, while guiding the user appropriately.
What about the patches? The patches are fine still cargo-culted. I'm still thinking about a way to reduce it. Most likely it will look like collection of patches per-SoC. I'm open to other suggestions.
What's the difference between
is*
andenable*
parameters?is
are for intrinsic "properties" of the build.enable*
, whileenable*
serves to enable a feature. The distinction becomes a big hazy with things likeenableCompilerGcc6Quirk
andenableRemovingWerror
, but the same applies. The gcc6 quirk or removing Werror is not a property of the build, but a feature needed for the current implementation to work.TODO
enable*
andis*
flags.Verified to boot on every devices except:
Two of those I do own, but did not test for different reasons.
xiaomi-lavender
is basically equivalent to the newly introducedsony-pioneer
, they're like twins from different mothers. Myxiaomi-lavender
is currently not usable for testing purposes.The
asus-dumo
build is assumed to be fine, as like the pinephone it is a mainline device. It is assumed to be possible to boot since itskpart
partition built trivially; testing changes on it is a bit cumbersome.google-marlin
andxiaomi-tissot
I don't think are of concern.google-marlin
is the same SoC asoneplus-oneplus3
, they were similar at first, and are now still similar in the same way.xiaomi-tissot
, while sharing its SoC withmotorola-addison
, cannot really be compared as one is seemingly QCDT-based while the other is not. Though the changes look just fine to me, I'm not concerned.Though, testing for those devices would be well-received.
This PR affects the currently opened ports PRs. As with every time I break the internal definitions, I'm glad to help contributors figuring out what to fix.
cc @lheckemann xiaomi-tissot original contributor
cc @danielfullmer google-marlin original contributor
I don't require testing to go forward, but it would be appreciated. (Obviously taking a look at the change and reviewing would be appreciated too.)