GNU bug report logs - #42984
27.1; package-list results in error while updating archive due to malformed path

Previous Next

Package: emacs;

Reported by: Mirko Vukovic <mirko.vukovic <at> gmail.com>

Date: Sat, 22 Aug 2020 14:08:01 UTC

Severity: normal

Found in version 27.1

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #26 received at 42984 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Mirko Vukovic <mirko.vukovic <at> gmail.com>
Cc: 42984 <at> debbugs.gnu.org, stefan <at> marxist.se
Subject: Re: bug#42984: 27.1; package-list results in error while updating
 archive due to malformed path
Date: Thu, 26 Nov 2020 17:38:08 +0200
> From: Mirko Vukovic <mirko.vukovic <at> gmail.com>
> Date: Thu, 26 Nov 2020 10:28:17 -0500
> Cc: Stefan Kangas <stefan <at> marxist.se>, 42984 <at> debbugs.gnu.org
> 
> Tracing package--check-signature-content
> 
> * I trace it in plain emacs, started with emacs -Q
> * I edebug the function and step through it
> * I have a single signature and its status is no-pub-key which triggers the No public key error 
> 
> * This results in the message in the error buffer with the malformed directory
> 
> Below is the code annotated with values of key variables. I did not see anything obvious.
> 
> I evaluated context at several points. I following deeper into the epg-... functions, stopped when I saw
> compiler macros. I would need guidance to trace those.

Thanks.  I think the situation is clear:

>   ;; #s(epg-context :protocol OpenPGP :program "c:/msys64-a/usr/bin/gpg.exe" 

The "C:/msys64-a" part indicates that gpg.exe is an MSYS2 port, not a
native MinGW port.  So it's expected that it will manipulate
Posix-like file names like /c/foo/bar and /home/977315/...  It is also
expected that it may not realize that "c:/foo/bar" is an absolute file
name, since in the Posix world any file name which doesn't begin with
a slash is not an absolute file name.  So it concatenates the file
name passed to it by Emacs with /home/977315/... on the assumption
that the file name passed by Emacs is a relative file name.

Bottom line: you need to install a native MinGW port of gpg, or make
some wrapper script for gpg which would convert Windows d:/foo/bar
file names into the Posix-like format expected by MSYS2 executables.

Thanks.




This bug report was last modified 4 years and 176 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.