Subject: Re: bug#19296: [PATCH] Package archives now have priorities.

From: Jorgen Schaefer <[email-masked]>
Date: Mon, 15 Dec 2014 09:36:10 +0100

On 12/15/2014 05:59 AM, Stefan Monnier wrote:

>> What requirements would a patch need to fulfill that you deem it
>> acceptable to be applied to the Emacs repository that solves my
>> original problem (i.e. only install packages from a given repository if
>> the package is not available from other repositories)?
>
> I'd like a solution that also addresses, at least partly, the other
> problem (the one where the MELPA version is superseded by a version
> elsewhere such as in GNU ELPA).
 >
> It's not important to automatically upgrade the package from the MELPA
> version to the GNU ELPA version, but the user should somehow be warned
> at some point that the MELPA version is not the latest any more.

So a warning "this package was installed from archive X, but is not 
available from there anymore" would suffice to fulfill this requirement, 
correct? Would it be enough if the package list displayed a string like 
"changed archive" or similar? (This needs a shorter name.)

> I think in general it would be desirable to try and remember where
> a package came from so that upgrading to a version in another repository
> doesn't happen automatically.

I can see two ways for this. One, we overwrite the package's -pkg.el 
file on install time with an expanded version that includes our own 
infos, e.g. :archive "name" for this 
(`package-generate-description-file' already has the code to generate 
this file, and it just needs to be called even if the file already 
exists). Alternatively, we add an .archive file to the package directory 
recording the archive this came from.

I would tend to lean to overriding the -pkg.el file, but I do not have 
any big preferences. Which way would you prefer?

In either case, we should populate the pkg-desc in `package-alist' from 
this, which should make it easy to implement the display above.

If I add this functionality, will that make the reminder of the patch 
acceptable to be included in Emacs?

Regards,
Jorgen