-
-
Notifications
You must be signed in to change notification settings - Fork 5.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
Upgrade and use NSIS for compression instead of extra 7z stage #31879
Conversation
Does this mean we can completely remove the dependency on 7z? |
I don't think so. Julia ships with 7z but I'm not exactly sure what it's used for. |
I searched the repo and indeed 7z isn't used by any julia source files either in base or stdlib. We can work towards that goal in another PR since that is an unrelated change. |
No; we use |
Does this effect compression factor at all? |
No, the binaries are almost the same size (I can't remember the size difference anymore) |
Is there any discernable difference between the installation experience? E.g. for people who do headless installs, are they going to need to change the flags they use to do a headless install? If so, we may need to note that in |
The only differences is that it's a smoother installation experience from a user perspective. Instead of an extraction pop window and then the installation phase, the two are merged into the nsis installer and extraction and copying both occur during the installation phase.
No change required. With the 7z stage it merged the extraction details into the binary. The only change that might be necessary are scripts that first extract the exe using 7z, since they know that the binary was first compressed. However this must be very rare since they would have to know how that the binary was first compressed using 7z. The reason I delved into this was I got super annoyed at how chocolatey kept popping up the Julia extraction stage of the installer even though the silent flag of the nsis installer was used. The reason for this is that the 7z configuration is unaffected by the silent flag. |
BTW I plan to also update and make the installer look more modern in another PR. |
size difference: I can increase the dictionary size if this difference is too big @staticfloat ? |
size difference reduced to less than 2MB |
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.
LGTM
I restarted the Linux 64 Travis build because it wasn't 100% clear to me that it was unrelated. Also unclear to me if @staticfloat's "LGTM" was about the code, the test failures or both. |
Squashed the commits and cleaned things up. @staticfloat want to take another look before merge? |
Awesome thanks so much, I'm glad to have this improvement. |
JuliaLang#31879)" This reverts commit b118e68, reversing changes made to 1707e13.
@musm I'm having trouble with win32 installers now, and I think it might be related to this. Previously, I've been using the following command to silently extract the Julia installer's files into the current directory for CI:
But when I run that on a win32 build now, it doesn't put anything in the current directory. Could this be related to these changes? For reference, you can see this behavior in this file. |
Unlikely, but I'll take a look Sunday at the earliest. Is that exe from this branch, since we reverted these changes anyways? |
Ah, you're right, I forgot that we reverted this. Hmmm, I wonder what could have changed then... Furthermore, it looks like it's only happening on win32, not on win64, which I think rules these changes out. |
For a reference see the original issue #31875
Fix #31875
This also fixes #30475