Subject: bug#76568: 'package-install' should not install duplicate packages

From: Ship Mints <[email-masked]>
Date: Wed, 5 Mar 2025 12:00:55 -0500

On Mon, Mar 3, 2025 at 9:34 PM Stefan Kangas <[email-masked]> wrote:

> Ship Mints <[email-masked]> writes:
>
> > As part of my production upgrade to 30.1, and before I wrote a program
> to install my local
> > ELPA tree from scratch, I tried to first curate my packages and change
> from MELPA to
> > generally equivalent GNU ELPA or non-GNU ELPA archives.  The result was
> that I had two of
> > each package installed.
> >
> > I think there's a bug in 'package-install' which, when invoked from
> > 'package-install-button-action', processes the new package spec, and
> incorrectly checks to
> > see if the package is already installed.  Interactive invocation of
> 'package-install' yields the
> > package name from the prompt, not its archive description.
> >
> > If the below is correct, I can submit a patch to make 'package-install'
> behave like
> > 'package-reinstall' for the non-interactive case.
>
> Please submit a patch, but could we also have tests for this please?
>
> Thanks in advance.
>

Patch attached.  It prevents the menu-driven case from erasing the already
installed message.  It could suggest to the user to remove and then install
or we could offer to use package upgrade to the chosen package-desc.  At
the very least, the patch prevents duplicates.

-Stephane