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

From: Philip Kaludercic <[email-masked]>
Date: Thu, 11 Sep 2025 21:38:28 +0000

Jens Schmidt via "Bug reports for GNU Emacs, the Swiss army knife of
text editors" <[email-masked]> writes:

> 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!

Thanks!  And sorry for the delay this time around, I didn't have access
to my laptop until now :)

> 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.

100% agree here.

> - 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.

On a quick glance, I cannot see the reason either.  But it seems like
the reasonable approach, and I don't see a reason why we shouldn't be
able to revert that part of the commit.

> 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?)

I would like to avoid :make properties in package specifications.  To
build on your last suggestion, we can just make package.el download the
-readme.txt as README-elpa in the package directory (if it doesn't
already exist).  This would also have the advantage of not complicating
the cleanup procedure, as removing the directory would automatically
clean up the README file.

> Thanks!