On 09/12/2011 10:02 PM, Michael Schreckenbauer wrote:
On Monday, 12. September 2011 21:31:59 Nikos Chantziaras wrote:
On 09/12/2011 08:17 PM, Michael Schreckenbauer wrote:
On Monday, 12. September 2011 20:04:47 Nikos Chantziaras wrote:
On 09/12/2011 07:42 PM, Michael Schreckenbauer wrote:
On Monday, 12. September 2011 18:41:37 Nikos Chantziaras wrote:
In my /etc/portage/profile/package.provided, I have this:
      media-libs/freetype-1.4_pre20080316-r2

When I try to emerge freetype however, instead of emerging the
newer

version, I get:
      $ emerge freetype

      WARNING: A requested package will not be merged because
      it is
      listed

      in package.provided:
        freetype pulled in by 'args'

      Nothing to merge; would you like to auto-clean packages?
      [Yes/No]

Trying "emerge freetype:2" also won't work.  The only only to
emerge
it
seems is by using the whole version ("emerge =freetype-2.4.6").
Is
this
a bug?

At least it's inconsistent. I would expect that the emerge with
complete version also fails.

It's slotted, so it shouldn't fail.  Freetype 1 and 2 can be installed
at the same time.

Yes, that's true for the packages provided by portage. portage does not
know anything about the freetype you provide, so it shouldn't install
any freetype from any slot by any command.

I don't see how it doesn't know anything about it, given that it
requires me to list a full package atom in package.provided.  So it
always knows which version should be considered as being provided.

Yes. freetype version 1. So if a package depends on freetype version 1,
portage assumes, the dep is already installed.
It does not know, where it is installed, or what files it installed. So it has
to assume, that an emerge of freetype-2 actually could overwrite some of your
freetype-1 files. Therefore it should not install freetype-2 with any command,
if you have any version of freetype in package.provided.

I disagree. A slotted package is practically two different packages that simply share the same name. If one slot is assumed as being provided, then that slot should have no effect on the other ones.

With your argument, portage should not install *any* packages at all if there's even a single entry in package.provided, because it doesn't know what that package installs and therefore *any other* package could results in conflicts.


Reply via email to