-
How does
raco pkg migrate
handle linked packages (those originally installed with--link
from a directory package source)?Does it:
- Copy (ala
--copy
), such that the original'scompiled
remains in the original link source dir, and the current version gets its own, freshcompiled
?
OR
- Re-compile the original link source dir in-place? (Meaning there's still just one
compiled
, and attempting to use the package with various versions of Racket could give "link: module mismatch" errors.)
- Copy (ala
-
What if someone originally installs with
raco pkg install --no-setup
? Doesraco pkg migrate
respect that for the new version's copy, OR, go ahead and do setup?
I could just experiment. But in addition to being lazy, I think it's likely I'll learn more by asking. Like maybe my questions already show some misunderstanding.
Why I ask: I'm contemplating having Racket Mode's back end Racket code be defined as a package, i.e. add an info.rkt
. But not a package on the Racket package server. Racket Mode would continue to be an Emacs package, a subdirectory of which has its "back end" process Racket files (and now also an info.rkt
).
The idea would be to raco pkg install
it as a directory package source, using --link
. But maybe it needs to be --copy
, ala question 1 above?
And for some users, it's nicer never to compile the Racket Mode back end. Startup is still quite fast, and it simplifies moving around various versions of Racket, no .zo mismatch. So that's background on my question 2. If raco pkg migrate
always did setup, I suppose it wouldn't be horrible to tell these users they'd need to e.g. raco setup --clean racket-mode
, but, I'd need to know to document that.