GNU bug report logs - #16826
Packages with same dependencies (name and version) fails to install

Previous Next

Package: emacs;

Reported by: Johan Andersson <johan.rejeep <at> gmail.com>

Date: Thu, 20 Feb 2014 17:16:01 UTC

Severity: important

Fixed in version 24.4

Done: Dmitry Gutov <dgutov <at> yandex.ru>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Dmitry Gutov <dgutov <at> yandex.ru>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#16826: closed (Packages with same dependencies (name and
 version) fails to install)
Date: Fri, 21 Mar 2014 06:14:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Fri, 21 Mar 2014 08:12:54 +0200
with message-id <87ob10nkpl.fsf <at> yandex.ru>
and subject line Re: bug#16826: Packages with same dependencies (name and version) fails to install
has caused the debbugs.gnu.org bug report #16826,
regarding Packages with same dependencies (name and version) fails to install
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
16826: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16826
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Johan Andersson <johan.rejeep <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: Packages with same dependencies (name and version) fails to install
Date: Thu, 20 Feb 2014 18:15:18 +0100
[Message part 3 (text/plain, inline)]
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?
[Message part 4 (text/html, inline)]
[Message part 5 (message/rfc822, inline)]
From: Dmitry Gutov <dgutov <at> yandex.ru>
To: Johan Andersson <johan.rejeep <at> gmail.com>
Cc: 16826-done <at> debbugs.gnu.org
Subject: Re: bug#16826: Packages with same dependencies (name and version)
 fails to install
Date: Fri, 21 Mar 2014 08:12:54 +0200
Version: 24.4

Johan Andersson <johan.rejeep <at> gmail.com> writes:

> 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"

Thanks for the report, should be fixed in 116817, branch emacs-24.

Seems to have been a regression from revision 113174. Provided I didn't
break anything else, the fix was pretty simple.

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

Now it checks if the requirement version is smaller or equal. The
package is moved to make the order of installation better (see the bug
referenced in the comment), and if the requirement version is higher
than the one scheduled to be installed, we're out of luck (but I've
tweaked the error message a bit).


This bug report was last modified 11 years and 62 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.