all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Stefan Monnier <monnier@iro.umontreal.ca>
To: Adam Porter <adam@alphapapa.net>
Cc: emacs-devel <emacs-devel@gnu.org>
Subject: Re: [ELPA] Wrong dependency headers for Ement v0.4
Date: Mon, 24 Oct 2022 16:51:39 -0400	[thread overview]
Message-ID: <jwvwn8p55vz.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <75b04605-f880-cfd3-3ee2-48603e741fab@alphapapa.net> (Adam Porter's message of "Mon, 24 Oct 2022 10:44:59 -0500")

> I've encountered a strange situation: I recently published v0.4 of Ement.
> The describe-package command now shows this:
>
>   Package ement is incompatible.
>
>      Status: Incompatible because it depends on uninstallable packages.
>     Archive: gnu
>     Version: 0.4
>      Commit: b06c78d1ba700857330520bc796c5a29018b7ec5
>     Summary: Matrix client
>    Requires: emacs-27.1, map-2.1, plz-0.2, taxy-0.12.1 (not available),
>                taxy-magit-section-0.9, svg-lib-0.2.5, transient-0.3.7
>     Website: https://github.com/alphapapa/ement.el
>
> However, these package headers do not match those in the listed commit,
> i.e. https://github.com/alphapapa/ement.el/blob/b06c78d1ba700857330520bc796c5a29018b7ec5/ement.el
> shows:

Hmm... this seems to clearly point to a bug in `elpa-admin.el`.

I wonder how we end up generating a `ement-pkg.el` that contains this
Git revision id, with a `0.4` version, the correct files, but the wrong
set of requires.

[... reading the code...]

Hmm... it looks like we get most of the metadata for `<PKG>-pkg.el` from
the HEAD before we select the actual revision from which we'll build the
tarball :-(

This is ugly.  It probably messed up several existing tarballs, actually
(just in a way sufficiently "harmless" that noone complained loudly
enough yet).

> Aside: This is one way in which MELPA is a bit easier to work with: although
> MELPA Stable is generally not recommended for use (due to various issues),
> it builds packages from version tags rather than git master (regular MELPA
> builds from git master); if ELPA worked the same way, I could easily tag
> a v0.4.1 independently of what's on the master branch.

We can actually do something similar currently by adding
a `:version-map` in the `elpa-packages` spec to make a release
from an arbitrary Git commit (it's better avoided but was introduced to
handle cases where the upstream doesn't have any `Version:` header, as
well as to allow building a new tarball with a different version number
in case the original build was broken for some reason, as in our case).

> Given that, would it be possible to have ELPA build from a separate branch?
> That's how I organize some of my other packages, with a "stable" branch and
> a master branch.  If ELPA pulled from a "stable" branch, I could push a fix
> to that while the next major version is still in development.

We can also do that, yes, using the `:release-branch`.


        Stefan




  reply	other threads:[~2022-10-24 20:51 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <85sfjfa7v0.fsf@elpa.gnu.org>
2022-10-24 15:44 ` [ELPA] Wrong dependency headers for Ement v0.4 Adam Porter
2022-10-24 20:51   ` Stefan Monnier [this message]
2022-10-27 17:46     ` Adam Porter
2022-10-27 20:18       ` Stefan Monnier
2022-10-27 20:28         ` Adam Porter

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=jwvwn8p55vz.fsf-monnier+emacs@gnu.org \
    --to=monnier@iro.umontreal.ca \
    --cc=adam@alphapapa.net \
    --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.