WinRPM.jl
WinRPM.jl copied to clipboard
Be better about upgrading old versions of packages
ref https://github.com/JuliaLang/IJulia.jl/issues/329#issuecomment-127100041
We may want to only do this if we detect a Julia version upgrade - breaking an existing setup due to upstream changes from opensuse might not be pleasant for users.
In the meantime, I'd like to add a workaround to the IJulia troubleshooting README. Is the right workaround to do rm(Pkg.dir("WinRPM","deps","usr"), recursive=true)
followed by Pkg.build("IJulia")
?
Removing is a bit drastic and leaves people without a way to get back to what they had before, so I'd rather recommend moving it to a backup name as a first step. Especially since the opensuse downloads are flaky for some people (#44), and fully upgrading all WinRPM packages could lead to a previously working setup breaking for some older releases of Julia.
Testing this now, and it looks like you'll also likely need to move Pkg.dir("WinRPM", "installed.list")
out of the way as well, to force all packages to re-download.
WinRPM.update() only updates the metadata, so it isn't really the right function for this.
For this, there needs to be a WinRPM.upgrade function added that parses installed.list and calls Pkg.install on the list of all currently installed packages.
Yes please!
And another vote here, I just came across that for https://github.com/WizardMac/ReadStat.jl. The C library that ReadStat.jl wraps is probably going to be updated from time to time, and if I understand this issue here correctly, users won't get those updated DLLs automatically once they have downloaded an old version, right? That would probably be a pretty serious issue for that package.
you could add a validation hook to check that the binaries are acceptable. not sure whether that would force a redownload.