Juliaup currently does not support switching between multiple JULIAUP_SERVERs with different versiondbs, which makes it hard to implement third-party juliaup servers as a delivery mechanism for custom Julia builds.
Consider the following:
- A user starts out with the official juliaup server and installs e.g.
release
- sets
JULIAUP_SERVER to a URL that serves a versiondb containing custom Julia channels (with a newer versiondb version)
- installs one of those new channels (this triggers a new versiondb to be written)
- uses this newly added channel for a while
- switches back to the original (or yet another server) and uses juliaup (or even just julia, because of auto-update checks)
In this situation, the custom channel will vanish without a trace, because the versiondb of the original server does not contain it.
A possible solution to this issue would be to mimic Pkg.jl's multi-registry design -- essentially, each juliaup server provides its own versiondb (independently versioned) and juliaup merges the contents of all of them when the user wants to use/install a channel.
Juliaup currently does not support switching between multiple
JULIAUP_SERVERs with different versiondbs, which makes it hard to implement third-party juliaup servers as a delivery mechanism for custom Julia builds.Consider the following:
releaseJULIAUP_SERVERto a URL that serves a versiondb containing custom Julia channels (with a newer versiondb version)In this situation, the custom channel will vanish without a trace, because the versiondb of the original server does not contain it.
A possible solution to this issue would be to mimic Pkg.jl's multi-registry design -- essentially, each juliaup server provides its own versiondb (independently versioned) and juliaup merges the contents of all of them when the user wants to use/install a channel.