-
-
Notifications
You must be signed in to change notification settings - Fork 14.5k
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
Just strip everything by default #15087
Conversation
By analyzing the blame information on this pull request, we identified @edolstra to be a potential reviewer |
Run strip of each file and discard expected failure types. Also default to stripping the entire output.
When this is merged some dontStrip properties can be removed from expressions. I've used dontStrip exactly to shut up file format warnings |
Looks good to me. |
Thanks for the reviews. |
It is the right branch, normally someone looks through the mass-rebuild changes and merges them about once a week. |
Merged to |
Hmm, the error https://travis-ci.org/NixOS/nixpkgs/builds/127459031#L1131 looks a little disconcerting. @layus, have you tested the bootstrapping process with your patch applied? |
That was fast :-). No, as I explain above, I have done little testing on this (because I do not know how, except rebuilding my whole system). I actually started a Now, I have no idea how a line like |
More info: if [ -n "$setupHook" ]; then
mkdir -p ${!outputDev}/nix-support"
substituteAll "$setupHook" "${!outputDev}/nix-support/setup-hook"
fi which fails because
Looking further... |
@peti, Look no further, the issue is obviously in the patch as it overrides $out + if out=$(strip $commonStripFlags $stripFlags "$f" 2>&1); then I need to make my variables local! |
I'd prefer to get a fix.
|
I reverted the patch in 397c75a. |
Yes, seems better as the fix has complications. So this patch also requires small adjustments in other derivations. |
Run strip of each file and discard expected failure types. Also default to stripping the entire output.
Stripping binaries is of utmost importance to benefit from the closure-size changes.
To avoid missing custom paths (like /modules for php-like packages), strip the whole output.
This PR has the following advantages
I have tested it on some derivations (ldb, php) by fiddling around with makeSetupHook, but not on stdenv. That being said, the only way this patch could break stuff is by stripping something that should not be stripped and that resides outside of
lib lib32 lib64 libexec bin sbin
.NB: This triggers a mass-rebuild.
Fixes #14821, #14822, #14823, #14824.