* [gentoo-devhelp] Writing ebuilds that replace others but with different name
@ 2009-09-24 20:16 Nikos Chantziaras
2009-09-24 20:38 ` Justin
0 siblings, 1 reply; 8+ messages in thread
From: Nikos Chantziaras @ 2009-09-24 20:16 UTC (permalink / raw
To: gentoo-devhelp
I seem to have some fundamental "flaw" in portage. It seems I am not
able to write an ebuild that will in effect be able to replace another
one but with a different name.
With RPMs, no matter how the RPM is named, it has "provides" data in 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
will 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 "clash"
with portage. Let's assume that my overlay provides an ebuild called
"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 provides the
"foo" dependency, so ebuilds depending on "foo" will be satisfied if
"foo-alt" is installed but "foo" isn't.
Possible?
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [gentoo-devhelp] Writing ebuilds that replace others but with different name
2009-09-24 20:16 [gentoo-devhelp] Writing ebuilds that replace others but with different name Nikos Chantziaras
@ 2009-09-24 20:38 ` Justin
2009-09-24 21:00 ` [gentoo-devhelp] " Nikos Chantziaras
0 siblings, 1 reply; 8+ messages in thread
From: Justin @ 2009-09-24 20:38 UTC (permalink / raw
To: gentoo-devhelp
[-- Attachment #1: Type: text/plain, Size: 1259 bytes --]
Nikos Chantziaras wrote:
> I seem to have some fundamental "flaw" in portage. It seems I am not
> able to write an ebuild that will in effect be able to replace another
> one but with a different name.
>
> With RPMs, no matter how the RPM is named, it has "provides" data in 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 will
> 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 "clash"
> with portage. Let's assume that my overlay provides an ebuild called
> "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 provides the
> "foo" dependency, so ebuilds depending on "foo" will be satisfied if
> "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.
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* [gentoo-devhelp] Re: Writing ebuilds that replace others but with different name
2009-09-24 20:38 ` Justin
@ 2009-09-24 21:00 ` Nikos Chantziaras
2009-09-25 13:35 ` Justin
0 siblings, 1 reply; 8+ messages in thread
From: Nikos Chantziaras @ 2009-09-24 21:00 UTC (permalink / raw
To: gentoo-devhelp
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 not
>> able to write an ebuild that will in effect be able to replace another
>> one but with a different name.
>>
>> With RPMs, no matter how the RPM is named, it has "provides" data in 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 will
>> 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 "clash"
>> with portage. Let's assume that my overlay provides an ebuild called
>> "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 provides the
>> "foo" dependency, so ebuilds depending on "foo" will be satisfied if
>> "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 of
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 installed,
providing the same files).
Changing the category also doesn't help ("x11-libs-alt/qt-opengl" for
example).
So virtuals don't seem to have anything to do with with my problem.
What's missing is something like RPM's "provides" (so the qt-opengl-alt
ebuild would be able to say "I provide the qt-opengl package.) From
your answer, I take it that portage doesn't offer anything like this and
the ebuild's name is hardcoded to be the package it provides :P
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [gentoo-devhelp] Re: Writing ebuilds that replace others but with different name
2009-09-24 21:00 ` [gentoo-devhelp] " Nikos Chantziaras
@ 2009-09-25 13:35 ` Justin
2009-09-25 19:49 ` Sebastián Magrí
0 siblings, 1 reply; 8+ messages in thread
From: Justin @ 2009-09-25 13:35 UTC (permalink / raw
To: gentoo-devhelp
[-- Attachment #1: Type: text/plain, Size: 2678 bytes --]
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 not
>>> able to write an ebuild that will in effect be able to replace another
>>> one but with a different name.
>>>
>>> With RPMs, no matter how the RPM is named, it has "provides" data in 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 will
>>> 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 "clash"
>>> with portage. Let's assume that my overlay provides an ebuild called
>>> "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 provides the
>>> "foo" dependency, so ebuilds depending on "foo" will be satisfied if
>>> "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 of
> 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 installed,
> providing the same files).
>
> Changing the category also doesn't help ("x11-libs-alt/qt-opengl" for
> example).
>
> So virtuals don't seem to have anything to do with with my problem.
> What's missing is something like RPM's "provides" (so the qt-opengl-alt
> ebuild would be able to say "I provide the qt-opengl package.) From
> your answer, I take it that portage doesn't offer anything like this and
> the ebuild's name is hardcoded to be the package it provides :P
>
>
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 one
in the tree.
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [gentoo-devhelp] Re: Writing ebuilds that replace others but with different name
2009-09-25 13:35 ` Justin
@ 2009-09-25 19:49 ` Sebastián Magrí
2009-09-25 21:11 ` Nikos Chantziaras
2009-09-26 5:44 ` Justin
0 siblings, 2 replies; 8+ messages in thread
From: Sebastián Magrí @ 2009-09-25 19:49 UTC (permalink / raw
To: Justin; +Cc: gentoo-devhelp
El vie, 25-09-2009 a las 15:35 +0200, Justin escribió:
> 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 not
> >>> able to write an ebuild that will in effect be able to replace another
> >>> one but with a different name.
> >>>
> >>> With RPMs, no matter how the RPM is named, it has "provides" data in 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 will
> >>> 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 "clash"
> >>> with portage. Let's assume that my overlay provides an ebuild called
> >>> "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 provides the
> >>> "foo" dependency, so ebuilds depending on "foo" will be satisfied if
> >>> "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 of
> > 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 installed,
> > providing the same files).
> >
> > Changing the category also doesn't help ("x11-libs-alt/qt-opengl" for
> > example).
> >
> > So virtuals don't seem to have anything to do with with my problem.
> > What's missing is something like RPM's "provides" (so the qt-opengl-alt
> > ebuild would be able to say "I provide the qt-opengl package.) From
> > your answer, I take it that portage doesn't offer anything like this and
> > the ebuild's name is hardcoded to be the package it provides :P
> >
> >
> 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 one
> in the tree.
>
Why don't just use revision numbers? that's what I've always done...
^ permalink raw reply [flat|nested] 8+ messages in thread
* [gentoo-devhelp] Re: Writing ebuilds that replace others but with different name
2009-09-25 19:49 ` Sebastián Magrí
@ 2009-09-25 21:11 ` Nikos Chantziaras
2009-09-26 0:00 ` Sebastián Magrí
2009-09-26 5:44 ` Justin
1 sibling, 1 reply; 8+ messages in thread
From: Nikos Chantziaras @ 2009-09-25 21:11 UTC (permalink / raw
To: gentoo-devhelp
On 09/25/2009 10:49 PM, Sebastián Magrí wrote:
> El vie, 25-09-2009 a las 15:35 +0200, Justin escribió:
>> 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 not
>>>>> able to write an ebuild that will in effect be able to replace another
>>>>> one but with a different name.
>>>>>
>>>>> With RPMs, no matter how the RPM is named, it has "provides" data in 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 will
>>>>> 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 "clash"
>>>>> with portage. Let's assume that my overlay provides an ebuild called
>>>>> "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 provides the
>>>>> "foo" dependency, so ebuilds depending on "foo" will be satisfied if
>>>>> "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 of
>>> 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 installed,
>>> 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 one
>> 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
that one.
The only thing that seems to help is to prefix it with an insanely high
number, like "qt-opengl-99.4.5.2". However, this has the drawback that
it only works for just one overlay. It's just a kludge. It's actually
the same package, just a different version of it. The fundamental
problem of being unable to provide* alternative packages that are easy
to use by end users isn't solved.
* Note that the focus is on "provide" to others, not "use" myself.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [gentoo-devhelp] Re: Writing ebuilds that replace others but with different name
2009-09-25 21:11 ` Nikos Chantziaras
@ 2009-09-26 0:00 ` Sebastián Magrí
0 siblings, 0 replies; 8+ messages in thread
From: Sebastián Magrí @ 2009-09-26 0:00 UTC (permalink / raw
To: Nikos Chantziaras; +Cc: gentoo-devhelp
[-- Attachment #1: Type: text/plain, Size: 3359 bytes --]
El sáb, 26-09-2009 a las 00:11 +0300, Nikos Chantziaras escribió:
> On 09/25/2009 10:49 PM, Sebastián Magrí wrote:
> > El vie, 25-09-2009 a las 15:35 +0200, Justin escribió:
> >> 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 not
> >>>>> able to write an ebuild that will in effect be able to replace another
> >>>>> one but with a different name.
> >>>>>
> >>>>> With RPMs, no matter how the RPM is named, it has "provides" data in 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 will
> >>>>> 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 "clash"
> >>>>> with portage. Let's assume that my overlay provides an ebuild called
> >>>>> "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 provides the
> >>>>> "foo" dependency, so ebuilds depending on "foo" will be satisfied if
> >>>>> "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 of
> >>> 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 installed,
> >>> 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 one
> >> 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
> that one.
>
> The only thing that seems to help is to prefix it with an insanely high
> number, like "qt-opengl-99.4.5.2". However, this has the drawback that
> it only works for just one overlay. It's just a kludge. It's actually
> the same package, just a different version of it. The fundamental
> problem of being unable to provide* alternative packages that are easy
> to use by end users isn't solved.
>
> * Note that the focus is on "provide" to others, not "use" myself.
>
>
Then you will have to provide all the rdeps with alternative atom in
depends I guess...
Am I right?
[-- Attachment #2: Esta parte del mensaje está firmada digitalmente --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [gentoo-devhelp] Re: Writing ebuilds that replace others but with different name
2009-09-25 19:49 ` Sebastián Magrí
2009-09-25 21:11 ` Nikos Chantziaras
@ 2009-09-26 5:44 ` Justin
1 sibling, 0 replies; 8+ messages in thread
From: Justin @ 2009-09-26 5:44 UTC (permalink / raw
To: gentoo-devhelp
[-- Attachment #1: Type: text/plain, Size: 163 bytes --]
Sebastián Magrí wrote:
>
> Why don't just use revision numbers? that's what I've always done...
>
>
You are right, revisions are completely enough.
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2009-09-26 5:44 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-09-24 20:16 [gentoo-devhelp] Writing ebuilds that replace others but with different name Nikos Chantziaras
2009-09-24 20:38 ` Justin
2009-09-24 21:00 ` [gentoo-devhelp] " Nikos Chantziaras
2009-09-25 13:35 ` Justin
2009-09-25 19:49 ` Sebastián Magrí
2009-09-25 21:11 ` Nikos Chantziaras
2009-09-26 0:00 ` Sebastián Magrí
2009-09-26 5:44 ` Justin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox