Subject: Packages with same dependencies (name and version) fails to install
From: Johan Andersson <[email-masked]>
To: [email-masked]
Date: Thu, 20 Feb 2014 18:15:18 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi,

I have an issue with package.el in Emacs snapshot. Works fine in Emacs
24.3.1 and lower.

Let's say I have three packages: foo, bar and baz.

Package foo depends on bar-0.0.1 and baz-0.0.1.
Package bar depends on baz-0.0.1.

It's important that foo and bar depends on the same baz version.

If I install package foo, I will get the following error:

  "Need package `baz-0.0.1', but only 0.0.1 is available"

I have looked at the code of package.el and the code that throws the error
makes no sense to me. It works like this:

We want to install a list of packages and a list of requirements. If we try
to install a requirement that is part of the list of packages, we set a
variable called already. If already is true, we check if the requirement
version is smaller than the already package version. If it is, we move that
package to the beginning of the packages list. If it is not smaller, the
error above is thrown. What? Why? I have no idea...

Is this a bug or did I miss something?