all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Stefan Monnier <monnier@iro.umontreal.ca>
To: emacs-devel@gnu.org
Subject: Improving GNU ELPA (was: Adding advisory notification for non-ELPA package.el downloads)
Date: Tue, 11 Jul 2017 12:04:26 -0400	[thread overview]
Message-ID: <jwvbmorugp6.fsf-monnier+gmane.emacs.devel@gnu.org> (raw)
In-Reply-To: da19485c-d566-9496-0763-29131569a71b@gmail.com

> for inclusion.  Getting into ELPA requires subtle git invocations that end
> up mashing up the history of your project with that of tens of others, while
> fearing to break the entire ELPA repo because of a missing copyright line
> in a test file.
> And ELPA makes maintaining the package more painful, too: picking out the
> commits made by others and copying them on your personal repo requires
> further arcane git invocations — same for importing new commits from your
> personal repo. And of course you lose other MELPA goodies, like getting
> download statistics.

While most of the above only applies to the case where you put your
package as a "subtree" rather than an "external", I can't say that the
criticism is unfair.

And I indeed think that if we want to expand the use of ELPA, the
proverbial someone should first work on the elpa.gnu.org infrastructure.
It's all a simple matter of writing scripts, really, so help is very
welcome.

I know of the following:
- when someone commits to elpa.git we get an elpa-diffs email which
  I used to then forward to the corresponding package maintainer.
  This forwarding is currently broken because of changes to my
  email server.  This should really be done in elpa.gnu.org instead of
  iro.umontreal.ca anyway, so I don't intend to fix the old setup.

- elpa.gnu.org should be notified (e.g. via the elpa-diffs thingy)
  whenever a commit is made to an elpa package, and should then build
  the corresponding package (if the version was changed).  Currently, we
  just rebuild the world blindly twice a day, which is both more costly
  and adds a ~6h delay.  More importantly, this will make the handling
  of "externals" just as efficient as "subtrees", so it will scale
  a lot better.

- once that's in place, we could also consider supporting "one
  repository per package" rather than "one branch per package".

- we have the web-server log, so we could provide download stats.

Publishing on GNU ELPA is inevitably more work than on MELPA:
- you need to sign paperwork.
- we don't want to fetch from non-GNU servers, so we need the maintainer
  to push to elpa.git explicitly.
- we want the elpa.git code to be writable by "Emacs maintainers", so
  the package's maintainer will sometimes have to deal with commits made
  outside of his control.

But we could tilt the balance the other way.  The way I see GNU ELPA,
it doesn't just provide package distribution but also package hosting,
so we could maybe move towards a gitea/gogs/gitlab/younameit system
for it.  We could add some wiki or some way for users to vote up/down
and add comments to each package, ...

IOW, elpa.gnu.org needs some tender love from someone who understands
the web.  So far I've been doing most of the maintenance and I don't
understand the web, really.


        Stefan




  parent reply	other threads:[~2017-07-11 16:04 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-08  1:59 Adding advisory notification for non-ELPA package.el downloads John Wiegley
2017-07-08 10:29 ` Dmitry Gutov
2017-07-08 12:57   ` Kaushal Modi
2017-07-08 17:03   ` Richard Stallman
2017-07-08 22:12     ` Jean-Christophe Helary
2017-07-08 22:50       ` Tim Cross
2017-07-10  9:29         ` Richard Stallman
2017-07-13 15:07         ` Jean Louis
2017-07-10  9:29       ` Richard Stallman
2017-07-09  0:39     ` Dmitry Gutov
2017-07-10  2:07       ` Chad Brown
2017-07-10  9:27       ` Richard Stallman
2017-07-10 13:02         ` Dmitry Gutov
2017-07-11 11:45           ` Richard Stallman
2017-07-11 15:00             ` Yuri Khan
2017-07-11 18:01               ` John Wiegley
2017-07-11 18:37                 ` Yuri Khan
2017-07-11 22:57               ` Richard Stallman
2017-07-12  7:56                 ` Yuri Khan
2017-07-12 16:12                   ` Richard Stallman
2017-07-12 17:49                     ` emacs.org website [was Re: Adding advisory notification for non-ELPA package.el downloads] Glenn Morris
2017-07-13 12:23                       ` Richard Stallman
2017-07-15  5:55                         ` John Wiegley
2017-07-12 16:35                   ` Glenn Morris
2017-07-11 22:57               ` Adding advisory notification for non-ELPA package.el downloads Richard Stallman
2017-07-12 23:12                 ` Nicolas Petton
2017-07-13 12:26                   ` Richard Stallman
2017-07-13 19:12                     ` Nicolas Petton
2017-07-15  1:33                       ` Richard Stallman
2017-07-17  8:16                         ` Nicolas Petton
2017-07-24  2:54                           ` Richard Stallman
2017-07-10 15:36         ` Ken Manheimer
2017-07-10 23:32           ` Richard Stallman
2017-07-08 14:57 ` Clément Pit-Claudel
2017-07-09  3:04   ` Yann Hodique
2017-07-10  9:29     ` Richard Stallman
2017-07-10 15:41       ` Ken Manheimer
2017-07-10 23:30         ` Richard Stallman
2017-07-10 16:48       ` Yann Hodique
2017-07-10 20:43   ` Joost Kremers
2017-07-11 22:57     ` Richard Stallman
2017-07-12  0:40       ` Stefan Monnier
2017-07-12 16:13         ` Richard Stallman
2017-07-11 16:04   ` Stefan Monnier [this message]
2017-07-12  1:26     ` Improving GNU ELPA Clément Pit-Claudel
2017-07-12  2:19       ` Stefan Monnier
2017-07-12 23:17         ` Nicolas Petton
2017-07-13  2:03           ` Stefan Monnier
2017-07-13  2:07             ` Stefan Monnier
2017-07-13 19:18         ` Etienne Prud’homme
2017-07-13 22:07           ` Phillip Lord
2017-07-16 16:04     ` Improving GNU ELPA (was: Adding advisory notification for non-ELPA package.el downloads) Jonas Bernoulli
2017-07-16 17:11       ` Improving GNU ELPA Stefan Monnier
2017-07-16 17:28         ` Jonas Bernoulli
2017-07-17 16:46           ` Phillip Lord
2017-07-17 18:26           ` Stefan Monnier
2017-07-17 21:04             ` Richard Stallman
2017-07-17 21:21               ` Stefan Monnier
2017-07-18 10:08                 ` Phillip Lord
2017-07-18 13:35                   ` Stefan Monnier
2017-07-18 16:17                     ` Phillip Lord
2017-07-18 14:18                   ` Richard Stallman
2017-07-18 16:23                     ` Phillip Lord
2017-07-19  3:31                       ` Richard Stallman
2017-07-19 22:54                         ` Phillip Lord
2017-07-18 14:16                 ` Richard Stallman
2017-07-18 14:39                   ` Stefan Monnier
2017-07-18 16:20                     ` Phillip Lord
2017-07-18 17:26                       ` Stefan Monnier
2017-07-19 22:59                         ` Phillip Lord
2017-07-24  2:54                           ` Richard Stallman
2017-07-24 12:26                             ` Phillip Lord

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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=jwvbmorugp6.fsf-monnier+gmane.emacs.devel@gnu.org \
    --to=monnier@iro.umontreal.ca \
    --cc=emacs-devel@gnu.org \
    /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 external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.