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
stdenv, bash: fixing info pages and stuff #35071
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like the look of this a lot! Would you mind making the stage naming in Darwin work the same way? (I think it only names cc-wrapper right now or something.)
Okay, will do.
|
Thanks! |
24b1e28
to
b0d43bf
Compare
Done. Also made both Linux and Darwin use the same naming scheme (i.e. renamed "stdenv" to "stdenv-linux" too). Now you can see that every bootstrap stage on Darwin gets rebuilt twice. Again, this happens even before this patchset (and it was easy to see before, its just I didn't look) and I have no idea why.
I did not try to rebuild the Darwin stdenv since I don't own anything made by Apple. But the changes are pretty trivial.
|
@oxij Thanks so much!! Having this consistent naming is very useful, not least because the crazy double-building you've found. Agreed that since these are existing bugs, there's no reason to fix them now in this PR. [Also I have some ideas for dramatically simplifying our bootstrapping with the cross infra developed over the last year I've been waiting to present. My instinct is to fix the rebuilds with that.] |
@oxij last thing is, I lean towards |
IMHO `doc` is too short and too common. `grep -r noDoc` is informational in the current version.
|
@oxij mmm if its just that I'd like to think of a way to be more descriptive without the negation. How about |
I haven't read this properly yet, but I'm not sure we are able to catch more stdenv-rebuilding changes for 18.03 (than those in staging now). |
Actually, this helps fixe the longstanding no C compiler binutils man page stuff, which is very user visible. |
…iate stages For the cc of the intermediate stages, to be precise. Doing the same for bintools requires lots of refactoring. This is mainly for the future extensibility as now you can change documentation generation with impunity without rebuilding the whole of stdenv.
Mainly for debugging.
This mostly reverts commit bd0e161.
b0d43bf
to
d45e39c
Compare
Ok, `propagateDoc` works for me. Updated the branch.
|
@oxij Thanks again! Sorry to be so nit-picky on a PR am actually very excited about. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is fantastic
Motivation for this change
Once upon a time I wanted to show the awesomeness of NixOS to a friend with "Look, we have all info pages installed!" Then I was like "Look!
$ info gcc
!" And it failed (because we now use separate outputs and I didn't check since before they were introduced). Then I was like "Well, shit. But look here!$ info bash
". And failed again for the same reason. I became really unhappy about this and decided to fix it (and did fix it, just sayin').In the process I made 0d887e928e1e2f636f25e728c2b03ece32670f03 which was very useful for debugging which stdenv stage broke things (all of them, just sayin'), so I left it in for future explorers.
Btw, with 0d887e928e1e2f636f25e728c2b03ece32670f03 applied you can now clearly see that stdenv stage4 is rebuilt twice for some reason. I have no idea why. Is this a bug? I confirmed it was the case even before this patchset, but it was hard to notice, because all stages were named "stdenv-boot" so you had to carefully count them.
Things done