From mboxrd@z Thu Jan  1 00:00:00 1970
Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org)
	by finch.gentoo.org with esmtp (Exim 4.60)
	(envelope-from <gentoo-devhelp+bounces-77-garchives=archives.gentoo.org@lists.gentoo.org>)
	id 1MrI4s-0007zr-Mo
	for garchives@archives.gentoo.org; Fri, 25 Sep 2009 21:11:42 +0000
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id 4C3F4E07CE;
	Fri, 25 Sep 2009 21:11:42 +0000 (UTC)
Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183])
	by pigeon.gentoo.org (Postfix) with ESMTP id 0FFD3E07CE
	for <gentoo-devhelp@lists.gentoo.org>; Fri, 25 Sep 2009 21:11:42 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
	by smtp.gentoo.org (Postfix) with ESMTP id AE80866FE1
	for <gentoo-devhelp@lists.gentoo.org>; Fri, 25 Sep 2009 21:11:41 +0000 (UTC)
X-Virus-Scanned: amavisd-new at gentoo.org
X-Spam-Score: -3.21
X-Spam-Level: 
X-Spam-Status: No, score=-3.21 required=5.5 tests=[AWL=-0.611,
	BAYES_00=-2.599]
Received: from smtp.gentoo.org ([127.0.0.1])
	by localhost (smtp.gentoo.org [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id 5mdt9hixPEqv for <gentoo-devhelp@lists.gentoo.org>;
	Fri, 25 Sep 2009 21:11:34 +0000 (UTC)
Received: from lo.gmane.org (lo.gmane.org [80.91.229.12])
	(using TLSv1 with cipher AES256-SHA (256/256 bits))
	(No client certificate requested)
	by smtp.gentoo.org (Postfix) with ESMTP id 9AFF8668AD
	for <gentoo-devhelp@gentoo.org>; Fri, 25 Sep 2009 21:11:31 +0000 (UTC)
Received: from list by lo.gmane.org with local (Exim 4.50)
	id 1MrI4f-0008DF-3a
	for gentoo-devhelp@gentoo.org; Fri, 25 Sep 2009 23:11:29 +0200
Received: from athedsl-380524.home.otenet.gr ([79.131.38.106])
        by main.gmane.org with esmtp (Gmexim 0.1 (Debian))
        id 1AlnuQ-0007hv-00
        for <gentoo-devhelp@gentoo.org>; Fri, 25 Sep 2009 23:11:29 +0200
Received: from realnc by athedsl-380524.home.otenet.gr with local (Gmexim 0.1 (Debian))
        id 1AlnuQ-0007hv-00
        for <gentoo-devhelp@gentoo.org>; Fri, 25 Sep 2009 23:11:29 +0200
X-Injected-Via-Gmane: http://gmane.org/
To: gentoo-devhelp@lists.gentoo.org
From:  Nikos Chantziaras <realnc@arcor.de>
Subject: [gentoo-devhelp]  Re: Writing ebuilds that replace others but   with   different name
Date:  Sat, 26 Sep 2009 00:11:06 +0300
Organization:  Lucas Barks
Message-ID: <h9jbl8$a1u$1@ger.gmane.org>
References:  <h9gk35$e9m$1@ger.gmane.org> <4ABBD8C1.5040003@j-schmitz.net>	 <h9gmla$ml4$1@ger.gmane.org>  <4ABCC70D.5030507@j-schmitz.net> <1253908146.6432.15.camel@linux-2anc.site>
Precedence: bulk
List-Post: <mailto:gentoo-devhelp@lists.gentoo.org>
List-Help: <mailto:gentoo-devhelp+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-devhelp+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-devhelp+subscribe@lists.gentoo.org>
List-Id: Gentoo Development-related help <gentoo-devhelp.gentoo.org>
X-BeenThere: gentoo-devhelp@gentoo.org
X-BeenThere: gentoo-devhelp@lists.gentoo.org
Mime-Version:  1.0
Content-Type:  text/plain; charset=UTF-8; format=flowed
X-Complaints-To: usenet@ger.gmane.org
X-Gmane-NNTP-Posting-Host: athedsl-380524.home.otenet.gr
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.4pre) Gecko/20090923 Thunderbird/3.0b4
In-Reply-To: <1253908146.6432.15.camel@linux-2anc.site>
Sender: news <news@ger.gmane.org>
Content-Transfer-Encoding: quoted-printable
X-Archives-Salt: e3f33e0b-d98c-460e-89ce-fe9839170e47
X-Archives-Hash: b642e62ec5fda0981ec8150bdf0f23ae

On 09/25/2009 10:49 PM, Sebasti=C3=A1n Magr=C3=AD wrote:
> El vie, 25-09-2009 a las 15:35 +0200, Justin escribi=C3=B3:
>> Nikos Chantziaras schrieb:
>>> On 09/24/2009 11:38 PM, Justin wrote:
>>>> Nikos Chantziaras wrote:
>>>>> I seem to have some fundamental "flaw" in portage.  It seems I am n=
ot
>>>>> able to write an ebuild that will in effect be able to replace anot=
her
>>>>> one but with a different name.
>>>>>
>>>>> With RPMs, no matter how the RPM is named, it has "provides" data i=
n it.
>>>>>    Is there some similar mechanism in portage?  It seems to me that=
 if
>>>>> the
>>>>> name of an ebuild is changed, then *all* ebuilds depending on it wi=
ll
>>>>> have to change too.  That looks like a PITA to me if it's true.
>>>>>
>>>>> For example, if I have an overlay that provides alternative/altered
>>>>> packages of already existing ones in the portage tree, they will "c=
lash"
>>>>> with portage.  Let's assume that my overlay provides an ebuild call=
ed
>>>>> "foo-alt" which is a variation of a package in portage called "foo"=
, but
>>>>> is totally compatible with it.  What I'm looking for is being able =
to
>>>>> emerge "foo-alt", but have the ebuild state clearly that it provide=
s the
>>>>> "foo" dependency, so ebuilds depending on "foo" will be satisfied i=
f
>>>>> "foo-alt" is installed but "foo" isn't.
>>>>>
>>>>> Possible?
>>>>>
>>>>>
>>>> Thats's what virtuals are good for. As an example see virtual/jre.
>>>> But in principle you are right. renaming a package is a headache and
>>>> should really be avoided.
>>>
>>> I'm not sure how I can use virtuals to provide an alternative but
>>> completely compatible package.  I'll give a straight example:
>>>
>>> In my overlay, there's "x11-libs/qt-opengl-alt".  It is a variation o=
f
>>> qt-opengl, providing and *replacing* all files in it.  However, if I
>>> unmerge qt-opengl and install qt-opengl-alt instead, even though the
>>> installed packages depending on qt-opengl work perfectly fine with it
>>> (it's fully compatible), an "emerge -uDN world" will try to pull
>>> qt-opengl back in because it thinks it's missing (and this will of
>>> course result in a file collision since qt-opengl-alt is also install=
ed,
>>> providing the same files).
>>>  [...]
>> Thats right, the only thing what you can do, is naming your ebuild
>> x11-libs/qt-opengl as well and give it higher version number as the on=
e
>> in the tree.
>
> Why don't just use revision numbers? that's what I've always done...

Because if a higher version shows up in portage, it will be updated to=20
that one.

The only thing that seems to help is to prefix it with an insanely high=20
number, like "qt-opengl-99.4.5.2".  However, this has the drawback that=20
it only works for just one overlay.  It's just a kludge.  It's actually=20
the same package, just a different version of it.  The fundamental=20
problem of being unable to provide* alternative packages that are easy=20
to use by end users isn't solved.

* Note that the focus is on "provide" to others, not "use" myself.