[Aptitude-devel] Bug#825707: aptitude: should not regard a package as removed when another package has a Provides on it

Vincent Lefevre vincent at vinc17.net
Wed Jun 1 07:18:33 UTC 2016


On 2016-05-31 19:12:40 +0100, Manuel A. Fernandez Montecelo wrote:
> 2016-05-29 01:46 Vincent Lefevre:
> > In the gnuplot5-data upgrade, one has:
> > 
> > Package: gnuplot5-data
> > Source: gnuplot5
> > Version: 5.0.3+dfsg2-1
> > Depends: aglfn, gnuplot-tex
> 
> I see a discrepancy in the data (as of today, maybe it changed since you
> reported it).
> 
> The package which depends on gnuplot-text is "gnuplot-data", not
> "gnuplot5-data".  "gnuplot5-data" does depend on aglfn, but not on
> gnuplot-tex -- instead it *provides* the latter, as noted here:

5.0.3+dfsg2-1 was the previous version in unstable. It is no longer
available. But you can still see the dependency in the stable version:

Package: gnuplot5-data
Source: gnuplot5
Version: 5.0.0~rc+dfsg2-1
Depends: aglfn, gnuplot-tex

So, expect a problem with an upgrade from the current stable to the
next one.

> > currently installed, and the new version has:
> > 
> > Package: gnuplot5-data
> > Source: gnuplot5
> > Version: 5.0.3+dfsg2-2
> > Replaces: gnuplot-tex
> > Provides: gnuplot-tex
> > Depends: aglfn
> > Breaks: gnuplot-tex
> 
> I think that Provides, Breaks and Replaces together is wrong here (at
> least in unversioned form, and I don't know if versioned work fully
> yet), since the package conflicts with itself.

According to the Debian Policy Manual, this is allowed:

  7.3 Packages which break other packages - Breaks

  [...]

  A special exception is made for packages which declare that they
  break their own package name or a virtual package which they
  provide (see below): this does not count as a real breakage.

> I am not sure why it does provide gnuplot-tex, since nothing except
> "gnuplot-data" depends on it, and "gnuplot-data" and "gnuplot5-data"
> probably shouldn't be install at the same time.

I can see 2 reasons:

  * Packages that are not in the Debian repository (though I'd say
    that's a bit unlikely here).

  * To make package managers aware of the fact that gnuplot-tex isn't
    really removed and it has been merged into gnuplot5-data.

> > Unfortunately, when I try an upgrade, gnuplot-tex is regarded as
> > removed (the real package is removed, but due to the Provides,
> > the package should still be regarded as being present).
> > 
> > At least "aptitude safe-upgrade", "aptitude full-upgrade", and "U"
> > in the UI are affected, i.e. aptitude proposes to keep gnuplot5-data
> > as the default choice.
> > 
> > Moreover, even with the solution where gnuplot-tex is removed,
> > aptitude does not say that it is provided by gnuplot5-data, so
> > that one has the impression that something is lost.
> 
> The description above is a bit vague.
> 
> If the only thing by why you deduce that aptitude considers
> "gnuplot-text" removed is because the first proposal of aptitude is to
> "keep" it, perhaps it's not because of the fact that it would be removed
> but by the fact that it conflicts with itself, and in the face of a
> conflict maybe the "Keep" solution given just scores higher than other
> solutions.

Perhaps, but since a Breaks with itself is regarded as correct by
the Debian Policy Manual (see above) and that this "does not count
as a real breakage", this would be an even more important bug.

[...]
> Also, I was able to upgrade a few days ago this set without being given
> any conflict related to the gnuplot packages, but maybe it's because of
> other differences related to config options and installed packages /
> versions between your system and mine.

Since gnuplot-tex has no other reverse dependencies, I doubt that
this was due to other installed packages. Concerning the config
options, I still have:

Aptitude::ProblemResolver::SolutionCost "safety, removals";

-- 
Vincent Lefèvre <vincent at vinc17.net> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)



More information about the Aptitude-devel mailing list