-
-
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
[RFC/WIP] Add a secondary location for a sysimage in $HOME/.julia/$VERSION/sys.so #25324
Conversation
adds a secondary location for a userdefined sysimage, making it easier for users to bake their own sysimages and use them. Furthermore this allows the update of stdlib packages, through building a new sysimage that contains them.
It seems that now we can load packages even if they are baked into the sysimg. For example, I have Pkg3 in my sysimg:
However, when I put a Pkg3 package in my directory:
Pkg3 does some type piracy now which is where the method overwrite warnings comes from. But using Pkg3 will now use the code that was in my recently cloned package. Same with e.g. SHA:
|
@KristofferC That's good to know that the right package is being picked up, and removes my So this PR still has the benefit that we can rebuild the sysimage after updating Pkg3 and continue |
Putting this on triage to get some eyes on this and decide if and how we want to do this. |
It's unclear to me how this blocks 1.0... |
Well this has been lacking discussion and review and I was hoping triage would spark either. |
If you want to discuss it on a triage call perhaps it would be good to join the call? Is 2:15 on Thursdays not a possible time slot for you? |
adds a secondary location for a userdefined sysimage, making it easier for users
to bake their own sysimages and use them. Furthermore this allows the update of
stdlib packages, through building a new sysimage that contains them.
This sidesteps the issue brought up in #25248, instead of removing all stdlib packages
from the sysimage, we can now rebuild the sysimage even if the other location is in a
write protected area.
I would greatly appreciate a style review since I bungled my way through the C string handling.
Currently this PR checks for the modify time of the sysimage in the bindir or homedir and uses
the newer one, trying to ensure that during development a potential stale userimage is not loaded.