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 ) 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 ; 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 ; 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 ; 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 ; 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 ; 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 ; Fri, 25 Sep 2009 23:11:29 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: gentoo-devhelp@lists.gentoo.org From: Nikos Chantziaras 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: References: <4ABBD8C1.5040003@j-schmitz.net> <4ABCC70D.5030507@j-schmitz.net> <1253908146.6432.15.camel@linux-2anc.site> Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Development-related help 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 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.