Zhengyi Fu <[email protected]> writes:
> Philip Kaludercic <[email protected]> writes:
>
>> 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?
>
> Yes. That patch is enough for me. Thanks!!
Great, I'll close this report then. If you haven't fixed the issue
locally yet: Until you upgrade, a simple fix would be to add some advice
around package-recompile that wraps it in a `with-demoted-errors' block.
--
Philip Kaludercic on siskin