-
How does
raco pkg migratehandle linked packages (those originally installed with--linkfrom a directory package source)?Does it:
- Copy (ala
--copy), such that the original'scompiledremains 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 migraterespect 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.