public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] RDEPEND definition in docs differ from official PMS specs
@ 2009-01-17 13:09 Thomas Sachau
  2009-01-17 13:24 ` Jan Kundrát
  2009-01-17 14:38 ` Marius Mauch
  0 siblings, 2 replies; 12+ messages in thread
From: Thomas Sachau @ 2009-01-17 13:09 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 748 bytes --]

Hi,

as specified in the PMS spec [1] and stated in #gentoo-portage, RDEPEND will be set to DEPEND, if it
is not defined in the ebuild itself.
But devmanual [2] and developer handbook [3] both state, you have do explicitly set RDEPEND because
it may be removed in the future.
Since package manager have to follow the PMS spec, i would suggest to change those docs [2][3] and
let them follow the PMS spec.

Any problems, suggestions or anything else about this?


[1]: http://dev.gentoo.org/~yngwin/pms/pms.html#x1-750008.4
[2]: http://devmanual.gentoo.org/general-concepts/dependencies/index.html
[3]: http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml?part=2&chap=1#doc_chap5
-- 
Thomas Sachau

Gentoo Linux Developer


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 315 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [gentoo-dev] RDEPEND definition in docs differ from official PMS specs
  2009-01-17 13:09 [gentoo-dev] RDEPEND definition in docs differ from official PMS specs Thomas Sachau
@ 2009-01-17 13:24 ` Jan Kundrát
  2009-01-17 14:38 ` Marius Mauch
  1 sibling, 0 replies; 12+ messages in thread
From: Jan Kundrát @ 2009-01-17 13:24 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 450 bytes --]

Thomas Sachau wrote:
> as specified in the PMS spec [1] and stated in #gentoo-portage, RDEPEND will be set to DEPEND, if it
> is not defined in the ebuild itself.
> But devmanual [2] and developer handbook [3] both state, you have do explicitly set RDEPEND because
> it may be removed in the future.

Please file a bug for devrel (the devrel handbook) and QA (for devmanual).

Cheers,
-jkt

-- 
cd /local/pub && more beer > /dev/mouth


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [gentoo-dev] RDEPEND definition in docs differ from official PMS specs
  2009-01-17 13:09 [gentoo-dev] RDEPEND definition in docs differ from official PMS specs Thomas Sachau
  2009-01-17 13:24 ` Jan Kundrát
@ 2009-01-17 14:38 ` Marius Mauch
  2009-01-17 15:41   ` Thomas Sachau
  1 sibling, 1 reply; 12+ messages in thread
From: Marius Mauch @ 2009-01-17 14:38 UTC (permalink / raw
  To: gentoo-dev

On Sat, 17 Jan 2009 14:09:49 +0100
Thomas Sachau <tommy@gentoo.org> wrote:

> Hi,
> 
> as specified in the PMS spec [1] and stated in #gentoo-portage,
> RDEPEND will be set to DEPEND, if it is not defined in the ebuild
> itself. But devmanual [2] and developer handbook [3] both state, you
> have do explicitly set RDEPEND because it may be removed in the
> future. Since package manager have to follow the PMS spec, i would
> suggest to change those docs [2][3] and let them follow the PMS spec.
> 
> Any problems, suggestions or anything else about this?

It's strongly recommended to set both explicitly as the behavior could
change in future EAPI versions, and to ensure that you actually think
about which deps are build deps and which are runtime deps.
Also there is nothing wrong with policies being stricter than the
underlying spec.

Marius



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [gentoo-dev] RDEPEND definition in docs differ from official PMS specs
  2009-01-17 14:38 ` Marius Mauch
@ 2009-01-17 15:41   ` Thomas Sachau
  2009-01-17 15:52     ` Santiago M. Mola
  2009-01-17 17:02     ` Marius Mauch
  0 siblings, 2 replies; 12+ messages in thread
From: Thomas Sachau @ 2009-01-17 15:41 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 1355 bytes --]

Marius Mauch schrieb:
> On Sat, 17 Jan 2009 14:09:49 +0100
> Thomas Sachau <tommy@gentoo.org> wrote:
> 
>> Hi,
>>
>> as specified in the PMS spec [1] and stated in #gentoo-portage,
>> RDEPEND will be set to DEPEND, if it is not defined in the ebuild
>> itself. But devmanual [2] and developer handbook [3] both state, you
>> have do explicitly set RDEPEND because it may be removed in the
>> future. Since package manager have to follow the PMS spec, i would
>> suggest to change those docs [2][3] and let them follow the PMS spec.
>>
>> Any problems, suggestions or anything else about this?
> 
> It's strongly recommended to set both explicitly as the behavior could
> change in future EAPI versions, and to ensure that you actually think
> about which deps are build deps and which are runtime deps.
> Also there is nothing wrong with policies being stricter than the
> underlying spec.
> 
> Marius
> 
> 

If i want to use some future EAPI (give me some reasons, why this should be changed there by
default), i should think about it. But most ebuilds will stay with the default. I do think about
runtime deps and build deps. In my eyes, this is similar to src_unpack and src_compile. They have
defaults, noone specifies the defaults, even if they are changed in some EAPI.

-- 
Thomas Sachau

Gentoo Linux Developer


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 315 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [gentoo-dev] RDEPEND definition in docs differ from official PMS specs
  2009-01-17 15:41   ` Thomas Sachau
@ 2009-01-17 15:52     ` Santiago M. Mola
  2009-01-17 17:02     ` Marius Mauch
  1 sibling, 0 replies; 12+ messages in thread
From: Santiago M. Mola @ 2009-01-17 15:52 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 1785 bytes --]

El sáb, 17-01-2009 a las 16:41 +0100, Thomas Sachau escribió:
> Marius Mauch schrieb:
> > On Sat, 17 Jan 2009 14:09:49 +0100
> > Thomas Sachau <tommy@gentoo.org> wrote:
> > 
> >> Hi,
> >>
> >> as specified in the PMS spec [1] and stated in #gentoo-portage,
> >> RDEPEND will be set to DEPEND, if it is not defined in the ebuild
> >> itself. But devmanual [2] and developer handbook [3] both state, you
> >> have do explicitly set RDEPEND because it may be removed in the
> >> future. Since package manager have to follow the PMS spec, i would
> >> suggest to change those docs [2][3] and let them follow the PMS spec.
> >>
> >> Any problems, suggestions or anything else about this?
> > 
> > It's strongly recommended to set both explicitly as the behavior could
> > change in future EAPI versions, and to ensure that you actually think
> > about which deps are build deps and which are runtime deps.
> > Also there is nothing wrong with policies being stricter than the
> > underlying spec.
> > 
> > Marius
> > 
> > 
> 
> If i want to use some future EAPI (give me some reasons, why this should be changed there by
> default), i should think about it. But most ebuilds will stay with the default. I do think about
> runtime deps and build deps. In my eyes, this is similar to src_unpack and src_compile. They have
> defaults, noone specifies the defaults, even if they are changed in some EAPI.
> 

You may want to change the wording in docs to make it say it's
encouraged to set both but it's not technically needed.

Note that PMS is *not* a good practice guidelenes. There are a bunch of
things that are technically valid but wrong from a QA point of view.

Regards,
-- 
Santiago Moisés Mola
Jabber: cooldwind@gmail.com | GPG: AAD203B5

[-- Attachment #2: Esta parte del mensaje está firmada digitalmente --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [gentoo-dev] RDEPEND definition in docs differ from official PMS specs
  2009-01-17 15:41   ` Thomas Sachau
  2009-01-17 15:52     ` Santiago M. Mola
@ 2009-01-17 17:02     ` Marius Mauch
  2009-01-18  9:07       ` Peter Volkov
  1 sibling, 1 reply; 12+ messages in thread
From: Marius Mauch @ 2009-01-17 17:02 UTC (permalink / raw
  To: gentoo-dev

On Sat, 17 Jan 2009 16:41:25 +0100
Thomas Sachau <tommy@gentoo.org> wrote:

> Marius Mauch schrieb:
> > It's strongly recommended to set both explicitly as the behavior
> > could change in future EAPI versions, and to ensure that you
> > actually think about which deps are build deps and which are
> > runtime deps. Also there is nothing wrong with policies being
> > stricter than the underlying spec.
> 
> If i want to use some future EAPI (give me some reasons, why this
> should be changed there by default), i should think about it.

If nothing else, dropping the implicit assignment would remove one
special case to handle in the PM (and I hope that everyone agrees that
special cases should generally be avoided). In the past there have also
been some issues due to the interaction between the implicit setting of
RDEPEND and eclasses (long fixed, but shows that there is a bit more
involved than might obvious).

> But most ebuilds will stay with the default. I do think about
> runtime deps and build deps. 

If you do that's good, but that doesn't mean everyone else does.
Consider looking at an ebuild for a package you're not familiar with
that doesn't set RDEPEND. Could mean that the author was just too lazy
to add a RDEPEND="$DEPEND" statement and that all deps are needed for
build and runtime, or that he completely forgot to think about runtime
deps. There is no way to know (without asking him) if the implicit
RDEPEND is actually intended or not.

> In my eyes, this is similar to src_unpack and src_compile. They
> have defaults, noone specifies the defaults, even if they are changed
> in some EAPI.

Sure, but the key difference is that the defaults for those are fixed.
You would have a point if the default src_compile would vary based on
what other phase functions the ebuild defines, but that's not the case.

Marius



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [gentoo-dev] RDEPEND definition in docs differ from official PMS specs
  2009-01-17 17:02     ` Marius Mauch
@ 2009-01-18  9:07       ` Peter Volkov
  2009-01-18 11:21         ` Petteri Räty
  0 siblings, 1 reply; 12+ messages in thread
From: Peter Volkov @ 2009-01-18  9:07 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 334 bytes --]

Marius Mauch schrieb:
> It's strongly recommended to set both explicitly 

FYI, I've opened bug to add repoman check for this:
http://bugs.gentoo.org/show_bug.cgi?id=255358

/me also had feeling that it's good idea to rely on implicit RDEPEND and
since it's not true, it's better to warn developers about that.

-- 
Peter.

[-- Attachment #2: Эта часть сообщения подписана цифровой подписью --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [gentoo-dev] RDEPEND definition in docs differ from official PMS specs
  2009-01-18  9:07       ` Peter Volkov
@ 2009-01-18 11:21         ` Petteri Räty
  2009-01-18 15:21           ` Ciaran McCreesh
  0 siblings, 1 reply; 12+ messages in thread
From: Petteri Räty @ 2009-01-18 11:21 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 528 bytes --]

Peter Volkov wrote:
> Marius Mauch schrieb:
>> It's strongly recommended to set both explicitly 
> 
> FYI, I've opened bug to add repoman check for this:
> http://bugs.gentoo.org/show_bug.cgi?id=255358
> 
> /me also had feeling that it's good idea to rely on implicit RDEPEND and
> since it's not true, it's better to warn developers about that.
> 

One thing to note why it's bad to rely on it is that if you have an
eclass setting RDEPEND then you are probably not getting what you wanted.

Regards,
Petteri


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [gentoo-dev] RDEPEND definition in docs differ from official PMS specs
  2009-01-18 11:21         ` Petteri Räty
@ 2009-01-18 15:21           ` Ciaran McCreesh
  2009-01-18 21:01             ` Maciej Mrozowski
  0 siblings, 1 reply; 12+ messages in thread
From: Ciaran McCreesh @ 2009-01-18 15:21 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 1013 bytes --]

On Sun, 18 Jan 2009 13:21:55 +0200
Petteri Räty <betelgeuse@gentoo.org> wrote:
> One thing to note why it's bad to rely on it is that if you have an
> eclass setting RDEPEND then you are probably not getting what you
> wanted.

Actually, you do. If you have ebuild:

    DEPEND="from/ebuild"

and eclass:

    DEPEND="from/eclass"
    RDEPEND="also-from/eclass"

you end up with:

    DEPEND="from/ebuild from/eclass"
    RDEPEND="from/ebuild also-from/eclass"

It's been that way for several years now.

And yes, I'd really like to see this killed for EAPI 3. Ideally we'd go
with a single DEPENDENCIES variable with labels of some kind,
something like:

    DEPENDENCIES="
        build:
            foo/bar
        build+run:
            foo/baz
        post:
            foo/plugin"

which would make it much easier to start specifying dependencies for
use of ROOT properly in the future -- it'd just be new labels, not
zillions of new variables.

-- 
Ciaran McCreesh

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [gentoo-dev] RDEPEND definition in docs differ from official PMS specs
  2009-01-18 15:21           ` Ciaran McCreesh
@ 2009-01-18 21:01             ` Maciej Mrozowski
  2009-01-18 21:24               ` Petteri Räty
  2009-01-18 21:52               ` Ciaran McCreesh
  0 siblings, 2 replies; 12+ messages in thread
From: Maciej Mrozowski @ 2009-01-18 21:01 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 1138 bytes --]

On Sunday 18 of January 2009 16:21:57 Ciaran McCreesh wrote:

> And yes, I'd really like to see this killed for EAPI 3. Ideally we'd go
> with a single DEPENDENCIES variable with labels of some kind,
> something like:
>
>     DEPENDENCIES="
>         build:
>             foo/bar
>         build+run:
>             foo/baz
>         post:
>             foo/plugin"
>
> which would make it much easier to start specifying dependencies for
> use of ROOT properly in the future -- it'd just be new labels, not
> zillions of new variables.

What's the benefit of changing syntax so dramatically? (apart from the sake of 
changing it to someone's liking) and what's so wrong with zillion of separate 
dependency variables? Are they too easy to read, implement and understand?
As everyone knows, to avoid copy&paste one can easily use such scheme:

COMMONDEPEND="
     somedep
     someotherdep
     someuse? ( conddep )
"
DEPEND="${COMMONDEPEND}
     somebuilddeponly
"
RDEPEND="${COMMONDEPEND}
     someruntimedeponly
"

Similar simple bash play can be used for other purposes as well.

-- 
regards
MM

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [gentoo-dev] RDEPEND definition in docs differ from official PMS specs
  2009-01-18 21:01             ` Maciej Mrozowski
@ 2009-01-18 21:24               ` Petteri Räty
  2009-01-18 21:52               ` Ciaran McCreesh
  1 sibling, 0 replies; 12+ messages in thread
From: Petteri Räty @ 2009-01-18 21:24 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 1668 bytes --]

Maciej Mrozowski wrote:
> On Sunday 18 of January 2009 16:21:57 Ciaran McCreesh wrote:
> 
>> And yes, I'd really like to see this killed for EAPI 3. Ideally we'd go
>> with a single DEPENDENCIES variable with labels of some kind,
>> something like:
>>
>>     DEPENDENCIES="
>>         build:
>>             foo/bar
>>         build+run:
>>             foo/baz
>>         post:
>>             foo/plugin"
>>
>> which would make it much easier to start specifying dependencies for
>> use of ROOT properly in the future -- it'd just be new labels, not
>> zillions of new variables.
> 
> What's the benefit of changing syntax so dramatically? (apart from the sake of 
> changing it to someone's liking) and what's so wrong with zillion of separate 
> dependency variables? Are they too easy to read, implement and understand?
> As everyone knows, to avoid copy&paste one can easily use such scheme:
> 

I don't think I have heard any devs opposing labels yet. Labels enable a
lot of good things when you start to use them heavily. See Exherbo docs
for ideas:

http://www.exherbo.org/exheres-0.html#dependencies

> COMMONDEPEND="
>      somedep
>      someotherdep
>      someuse? ( conddep )
> "
> DEPEND="${COMMONDEPEND}
>      somebuilddeponly
> "
> RDEPEND="${COMMONDEPEND}
>      
> "
> 
> Similar simple bash play can be used for other purposes as well.

Yeah you can usually make things more complex than they need to be if
you want.

DEPENDENCIES="
   build:
     somebuilddeponly
   run:
     someruntimedeponly
   build+run:
     somedep
     someotherdep
     someuse? ( conddep )"

Regards,
Petteri


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [gentoo-dev] RDEPEND definition in docs differ from official PMS specs
  2009-01-18 21:01             ` Maciej Mrozowski
  2009-01-18 21:24               ` Petteri Räty
@ 2009-01-18 21:52               ` Ciaran McCreesh
  1 sibling, 0 replies; 12+ messages in thread
From: Ciaran McCreesh @ 2009-01-18 21:52 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 853 bytes --]

On Sun, 18 Jan 2009 22:01:54 +0100
Maciej Mrozowski <reavertm@poczta.fm> wrote:
> What's the benefit of changing syntax so dramatically? (apart from
> the sake of changing it to someone's liking) and what's so wrong with
> zillion of separate dependency variables? Are they too easy to read,
> implement and understand? As everyone knows, to avoid copy&paste one
> can easily use such scheme:

A zillion is a lot, and the whole cache and metadata mechanism can't
deal with it. Start multiplying this lot together:

* on / vs under ROOT/
* native vs target
* required for build, run time, post, install, test or use
* however many userland ABIs there are
* however many Python ABIs there are

It quickly becomes clear that various things that are wanted in the
future can't be done by having lots of variables.

-- 
Ciaran McCreesh

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2009-01-18 21:52 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-01-17 13:09 [gentoo-dev] RDEPEND definition in docs differ from official PMS specs Thomas Sachau
2009-01-17 13:24 ` Jan Kundrát
2009-01-17 14:38 ` Marius Mauch
2009-01-17 15:41   ` Thomas Sachau
2009-01-17 15:52     ` Santiago M. Mola
2009-01-17 17:02     ` Marius Mauch
2009-01-18  9:07       ` Peter Volkov
2009-01-18 11:21         ` Petteri Räty
2009-01-18 15:21           ` Ciaran McCreesh
2009-01-18 21:01             ` Maciej Mrozowski
2009-01-18 21:24               ` Petteri Räty
2009-01-18 21:52               ` Ciaran McCreesh

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox