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.