-
-
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
apache: strip extra dirs. #14823
apache: strip extra dirs. #14823
Conversation
By analyzing the blame information on this pull request, we identified @edolstra, @lethalman and @peti to be potential reviewers |
There are a lot of seemingly unrelated changes in this PR? |
Looks to me like what this PR actually does is change |
83b8783
to
7b56559
Compare
Yes, indeed. I got my commits messed up. |
7b56559
to
ca03137
Compare
@@ -23,6 +23,7 @@ stdenv.mkDerivation rec { | |||
# FIXME: -dev depends on -doc | |||
outputs = [ "dev" "out" "doc" ]; | |||
setOutputFlags = false; # it would move $out/modules, etc. | |||
stripDebugList= [ "bin" "lib" "modules" ]; # also strip modules. |
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.
What is the purpose of this modification? This doesn't seem to change anything, really. Am I missing something?
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.
No, it does not change anything to apache 2.2, it simply unifies the syntax with 2.4.
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 could of course unify the other way around, but I feel this makes more sense with the name of the variable, and with the other pull requests I just made.
In fact, I am not sure this should be merged. Our stripping strategy should be smarter that to try only bin/ and lib/ and just strip any ELF in the derivation. |
The only problem with stripping everything is that it will give a lot of pointless warnings about non-ELF files. That could be solved by using the |
@edolstra This seems something we should really do. Wild references are a pain to debug. |
Do note though that there are other things than ELFs that presumably need stripping as well, such as |
If error message are really an issue, why not strip everything and &>/dev/null the output ? |
Also, #5447 is related. |
Piping to /dev/null is not a good idea because it will hide actual error messages. |
What is the state of this PR? Is it still relevant? |
It is still relevant as the problem still exists. However, the actual fix is being developed in #15339. That fix is taking a while to get merged as it changes stdenv (modifies the strip phase). |
We did this for 2.2 (cc61d31) but lost this for 2.4. This reduces the Apache closure size from 312 MiB to 102 MiB (primarily by getting rid of -dev outputs).
Apache keeps reference to build-time paths in /include files.
I bet these files could be simply removed, but creating a dev output works just as well.