Skip to content
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

Change semantics of respect_sysimage_versions #3627

Closed
LilithHafner opened this issue Sep 19, 2023 · 4 comments
Closed

Change semantics of respect_sysimage_versions #3627

LilithHafner opened this issue Sep 19, 2023 · 4 comments

Comments

@LilithHafner
Copy link
Member

I think ]dev Tar should continue to "just work".

(@v1.6) pkg> dev Tar
   Resolving package versions...
    Updating `~/.julia/environments/v1.6/Project.toml`
  [a4e569a6] + Tar `~/.julia/dev/Tar`
    Updating `~/.julia/environments/v1.6/Manifest.toml`
  [a4e569a6] ~ Tar  `~/.julia/dev/Tar`

(@v1.11) pkg> dev Tar
     Cloning git-repo `https://github.com/JuliaIO/Tar.jl.git`
ERROR: Tried to develop or add by URL package Tar [a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e] which is already in the sysimage, use `Pkg.respect_sysimage_versions(false)` to disable this check.

I propose to change the semantics to either
A (preferred)
false => no change (syimg versions are still irrelevant)
true => force using sysimg versions for anything that is not explicitly set in Project.toml.

or B (less breaking, but this fixes a regression so idk if that's really an issue)
false => no change (syimg versions are still irrelevant)
:auto => use force using sysimg versions for anything that is not explicitly set in Project.toml.
true => no change (force use sysimg versions everywhere)

See also: JuliaLang/julia#51374, #3002, cc @KristofferC

@KristofferC
Copy link
Member

The point here is that you cannot load any other Tar than the one in the sysimage so doing a dev doesn't really make sense, or?

@LilithHafner
Copy link
Member Author

Right. So not a regression because in 1.6 this seemed to work at first, but didn't actually work

(@v1.6) pkg> dev Tar
  Resolving package versions...
     Updating `~/.julia/environments/v1.6/Project.toml`
  [a4e569a6] + Tar `~/.julia/dev/Tar`
  No Changes to `~/.julia/environments/v1.6/Manifest.toml`

julia> using Tar

julia> @which Tar.read_data(stdout, stdout)
read_data(tar::IO, file::IO; size, buf, tee) in Tar at /Users/x/.julia/juliaup/julia-1.6.7+0.x64.apple.darwin14/share/julia/stdlib/v1.6/Tar/src/extract.jl:642

To make this feature request reasonable, we would need a way of loading a version of Tar other than the one in the syimg. (something like, but ideally more pretty than the UUID hack we currently recommend for ]deving stdlibs)

@KristofferC
Copy link
Member

To make this feature request reasonable, we would need a way of loading a version of Tar other than the one in the syimg.

The solution in my opinion is to move out stdlibs from the sysimage which is very much an active work in progress.

@KristofferC
Copy link
Member

Most stdlibs are now out of the sysimage so dev should work quite well now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants