From: Stefan Monnier <monnier@iro.umontreal.ca>
To: Sebastian Wiesner <lunaryorn@gmail.com>
Cc: Steve Purcell <steve@sanityinc.com>,
Donald Curtis <dcurtis@milkbox.net>,
emacs-devel@gnu.org
Subject: Re: MELPA version numbers
Date: Fri, 02 Aug 2013 10:27:34 -0400 [thread overview]
Message-ID: <jwv1u6cchqt.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <CALf2awSsjHx_G+H91rMtweWqXOVw-Kgg9PvO=z=ENPtny+JH8A@mail.gmail.com> (Sebastian Wiesner's message of "Fri, 2 Aug 2013 10:26:33 +0200")
> It doesn't track archives independently, and though it actually stores
> the origin of a package, it doesn't make any use of this information
> at all.
Not true any more. When you click on a package, it lists the "other
versions" it knows about, including their respective origin.
Also you can pin a package to a particular archive.
> These limitations sort of defeat the purpose of having
> multiple archives imho.
> Ideally, package.el would track *all* packages of *all* repositories
> in "package-archive-contents" (not just the latest out of all
> repositories), so that packages, which are contained in multiple
> archives, also appear multiple times in M-x list-packages, once for
> each archive.
The current package.el does store all packages in
package-archive-contents, IIRC. And M-x list-packages only has one
entry per package, but once you select one of those entries, it should
tell you about all the versions it knows.
If you prefer to list all the versions directly in list-packages, we
could add an option for that (patches welcome). The 24.3 code did
sometimes list a package twice (e.g. cl-lib which is both listed as
built-in and as available from GNU ELPA), but when the two versions
don't have the same status ("built-in" vs "available"), they get sorted
by default to completely different places. For that reason I decided to
have this two-level approach where list-package only lists a package
once and only when you select a package do you see the
available alternatives.
> The user could then choose from which archive a package should be
> installed.
That can be done now.
> And package.el would remember this choice, and look for
> updates only in the archive the package was installed from.
That indeed is not available currently. I'm not convinced we'd want to
always restrict updates to come from the same archive. But it could be
a useful option. Actually, we can already do that via pinning, but it's
obviously not as streamlined as you'd want.
I guess the best way to do it would be something like:
- when the user requests to install a package, check if it's the most recent.
- if not, ask the user if he wants to "pin" that package either to the
corresponding archive or to the specific version.
Patches welcome.
> This more sophisticated way of tracking archives would not only neatly
> solve the problem of MELPA version numbers (without even touching them),
No, it doesn't really solve the problem: most people wouldn't know when
MELPA's version is out of date. How would you know to switch archive if
package.el doesn't tell you that there's a newer version in the
"gnu" archive?
> but also a number of other issues with package.el, such as the
> popular demand to be able to explicitly choose for each package
> whether to use a stable release from GNU ELPA or Marmalade, or a VCS
> snapshot from MELPA.
Hmm... I hadn't heard those requests, but I think I did satisfy them to
some extent in my recentish changes ;-)
Stefan
next prev parent reply other threads:[~2013-08-02 14:27 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-01 17:50 MELPA version numbers Stefan Monnier
2013-08-01 20:49 ` Donald Curtis
2013-08-01 21:39 ` Stefan Monnier
2013-08-02 8:26 ` Sebastian Wiesner
2013-08-02 14:27 ` Stefan Monnier [this message]
2013-08-02 14:35 ` Steve Purcell
2013-08-02 15:24 ` Sebastian Wiesner
2013-08-02 15:47 ` Stefan Monnier
2013-08-02 15:58 ` Steve Purcell
2013-08-01 20:51 ` Sebastian Wiesner
2013-08-01 20:57 ` Dmitry Gutov
2013-08-02 14:46 ` Steve Purcell
2013-08-02 15:57 ` Stefan Monnier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=jwv1u6cchqt.fsf-monnier+emacs@gnu.org \
--to=monnier@iro.umontreal.ca \
--cc=dcurtis@milkbox.net \
--cc=emacs-devel@gnu.org \
--cc=lunaryorn@gmail.com \
--cc=steve@sanityinc.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).