Zhengyi Fu <[email protected]> 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