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`.