Subject: Re: bug#79411: 31.0.50; describe-package does not show :readme after package installation, but sth else

From: Jens Schmidt <[email-masked]>
Date: Tue, 9 Sep 2025 14:00:34 +0200

On 2025-09-08  22:56, Philip Kaludercic wrote:

> Hi, if you have a reasonable patch, I would gladly review it. The
> behaviour you describe does fundamentally sound confusing, and it
> would be nice to come up with a solution.

Thanks for your quick reply and for caring about ELPA, package.el, and
the packaging system in general!

Only having a "reasonable" solution is more difficult than I initially
thought ... I started edebugging and eyeballing that code only after
filing this bug, sorry.

So here are some facts, not to lecture you, but to have them summarized
and probably corrected, if I got them wrong:

- I have been hoping on the ELPA metadata, like, :news, :doc:, :readme
  etc., but that's not part of the archive web server contract (as in
  (elisp) Archive Web Server).

  The only thing we can get from an archive web server to help with this
  issue is file <package name>-readme.txt.

- For the following reasons it is not reasonable to access that file
  online *for installed packages*:

  + The user might be offline.
  + A package, once installed, forgets about its originating archive,
    and determining a matching archive might be difficult.
  + The file on the archive web server is not versioned, so it might not
    match the version of the installed package.

- So the only thing that seems reasonable is to download <package
  name>-readme.txt during package installation and store it below
  `package-user-dir'.  And remove it during package deinstallation.

Well, and Emacs did exactly that already until commit
d4fb2690702fbd348977fc94a9f7a99c00cc3010 removed it.  Does anybody have
an idea as to why that was removed?  (CCing Stephen, the author of that
commit.)  The commit message does not quote a bug number, and the only
bug I have found that might be related to this issue is bug#39609, which
seems to be a duplicate of this one.

Please advise how to continue here.  I can live with this issue and, as
a work-around for my package, prepare file "README-elpa.md" as a copy of
my "README.md" when ELPA processes the :make property.  (That should
work, shouldn't it?)

Thanks!