Skip to content

stdenv: Store one package per line in nix-support/propagated-* #27284

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

Merged
merged 1 commit into from
Jul 11, 2017

Conversation

Ericson2314
Copy link
Member

@Ericson2314 Ericson2314 commented Jul 10, 2017

Motivation for this change

This makes those files a bit easier to read. Also, for what it's worth, it brings us one tiny step closer to handling spaces in store paths.

Also, I optimized handling of many transitive deps with read. Probably, not very beneficial, but nice to enforce the pkg-per-line structure. Doing so let me find much dubious code and fix it.

Two misc notes:

  • propagated-user-env-packages also needed to be adjusted as sometimes it is copied to/from the propagated input files.

  • local fd should ensure that file descriptors aren't clobbered during recursion.

Things done

Built stdenv on Darwin and Linux

@Ericson2314 Ericson2314 requested a review from edolstra July 10, 2017 16:06
@Ericson2314 Ericson2314 added 1.severity: mass-rebuild This PR causes a large number of packages to rebuild 1.severity: mass-darwin-rebuild This PR causes a large number of packages to rebuild on Darwin labels Jul 10, 2017
@dezgeg
Copy link
Contributor

dezgeg commented Jul 10, 2017

Spaces in store paths can never possibly work since you can't escape a space in a #! line (and probably one zillion similar places).

@Ericson2314 Ericson2314 added the 2.status: work-in-progress This PR isn't done label Jul 10, 2017
@Ericson2314 Ericson2314 force-pushed the prop-lines branch 3 times, most recently from 64d2858 to fb0e153 Compare July 10, 2017 16:17
@Ericson2314
Copy link
Member Author

@dezgeg That's true. I guess take this PR as a matter of style.

This makes those files a bit easier to read. Also, for what it's worth,
it brings us one baby step closer to handling spaces in store paths.

Also, I optimized handling of many transitive deps with read. Probably,
not very beneficial, but nice to enforce the pkg-per-line structure.
Doing so let me find much dubious code and fix it.

Two misc notes:

 - `propagated-user-env-packages` also needed to be adjusted as
   sometimes it is copied to/from the propagated input files.

 - `local fd` should ensure that file descriptors aren't clobbered
   during recursion.
@Ericson2314
Copy link
Member Author

OK, this is tested.

@edolstra
Copy link
Member

Seems fine to me, though I don't see a huge advantage - these files are not intended for human consumption so the readability is not really important, and as @dezgeg mentioned, whitespace is unlikely to ever work well (also this solution wouldn't support newlines in filenames).

@Ericson2314
Copy link
Member Author

@edolstra Thanks for the verdict. TBH this was basically me getting side-tracked when working on that previous PR, but I do occasionally read those files by hand---at least when debugging.

@Ericson2314 Ericson2314 merged commit a889454 into NixOS:staging Jul 11, 2017
@Ericson2314 Ericson2314 deleted the prop-lines branch July 11, 2017 18:33
@oxij
Copy link
Member

oxij commented Jul 23, 2017 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1.severity: mass-darwin-rebuild This PR causes a large number of packages to rebuild on Darwin 1.severity: mass-rebuild This PR causes a large number of packages to rebuild 9.needs: community feedback
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants