GNU bug report logs - #76568
'package-install' should not install duplicate packages

Previous Next

Package: emacs;

Reported by: Ship Mints <shipmints <at> gmail.com>

Date: Tue, 25 Feb 2025 20:53:01 UTC

Severity: normal

Tags: patch

Full log


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

From: Ship Mints <shipmints <at> gmail.com>
To: Stefan Kangas <stefankangas <at> gmail.com>
Cc: 76568 <at> debbugs.gnu.org
Subject: Re: bug#76568: 'package-install' should not install duplicate packages
Date: Wed, 5 Mar 2025 16:05:25 -0500
[Message part 1 (text/plain, inline)]
On Wed, Mar 5, 2025 at 4:02 PM Ship Mints <shipmints <at> gmail.com> wrote:

> On Wed, Mar 5, 2025 at 2:55 PM Ship Mints <shipmints <at> gmail.com> wrote:
>
>> On Wed, Mar 5, 2025 at 12:00 PM Ship Mints <shipmints <at> gmail.com> wrote:
>>
>>> On Mon, Mar 3, 2025 at 9:34 PM Stefan Kangas <stefankangas <at> gmail.com>
>>> wrote:
>>>
>>>> Ship Mints <shipmints <at> gmail.com> 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.
>>>
>>
>> Thinking about it a bit more, this patch needs a little more work.  The
>> menu-driven package "upgrade" in describe-package-1 workflow will be interrupted by
>> this patch.  It does not differentiate install vs. upgrade and calls
>> package-install which will now complain the package already exists.  This
>> should be changed to run package-upgrade.  I'll take a look.
>>
>> Any feedback on the minimal patch is still welcome in the meantime.
>>
>
> This patch now accommodates both scenarios.
>

Now with an amended commit log.
[Message part 2 (text/html, inline)]
[0001-Correct-package-install-to-detect-installed-packages.patch (application/octet-stream, attachment)]

This bug report was last modified 3 days ago.

Previous Next


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