Zhengyi Fu <i...@fuzy.me> writes: > When I try recompiling all packages installed by package.el with `M-x > package-recompile-all', I got the following error: > > Debugger entered--Lisp error: (permission-denied "Removing old name" > "Permission denied" "/usr/share/emacs/site-lisp/elpa/mu4e-1.10.8/mu4e-a...") > package-recompile(#s(package-desc :name mu4e :version (1 10 8) :summary > "the mu mail user agent" :reqs nil :kind nil :archive nil :dir > "/usr/share/emacs/site-lisp/elpa/mu4e-1.10.8" :extras nil :signed nil)) > package-recompile-all() > funcall-interactively(package-recompile-all) > command-execute(package-recompile-all record) > execute-extended-command(nil "package-recompile-all" "recom all") > funcall-interactively(execute-extended-command nil "package-recompile-all" > "recom all") > command-execute(execute-extended-command) > > This is possibly because the package `mu4e' was installed by the distro > package manager in a path where normal users don't have write access. > > I think `package-recompile-all' should either skip those packages that > are not installed by package.el or ignore such errors and continue to > recompile other packages.
We have installed a patch in Bug#68678 on master (the commit is from last February, so you wouldn't see it yet on 29.4) that wraps the `package-recompile' call in a `with-demoted-errors' block. That would still emit a error message, but it wouldn't break the recompilation procedure. Do you think that is enough, or should be explicitly and additionally avoid re-compiling external packages? -- Philip Kaludercic on icterid