Re: [gentoo-dev] RDEPEND definition in docs differ from official PMS specs

2009-01-18 Thread Peter Volkov
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.


signature.asc
Description: Эта  часть  сообщения  подписана  цифровой  подписью


Re: [gentoo-dev] RDEPEND definition in docs differ from official PMS specs

2009-01-18 Thread Petteri Räty
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



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] RDEPEND definition in docs differ from official PMS specs

2009-01-18 Thread Ciaran McCreesh
On Sun, 18 Jan 2009 13:21:55 +0200
Petteri Räty betelge...@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


signature.asc
Description: PGP signature


Re: [gentoo-dev] RDEPEND definition in docs differ from official PMS specs

2009-01-18 Thread Maciej Mrozowski
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 copypaste 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


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] RDEPEND definition in docs differ from official PMS specs

2009-01-18 Thread Ciaran McCreesh
On Sun, 18 Jan 2009 22:01:54 +0100
Maciej Mrozowski reave...@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 copypaste 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


signature.asc
Description: PGP signature


Re: [gentoo-dev] RDEPEND definition in docs differ from official PMS specs

2009-01-17 Thread Jan Kundrát

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



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] RDEPEND definition in docs differ from official PMS specs

2009-01-17 Thread Marius Mauch
On Sat, 17 Jan 2009 14:09:49 +0100
Thomas Sachau to...@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



Re: [gentoo-dev] RDEPEND definition in docs differ from official PMS specs

2009-01-17 Thread Thomas Sachau
Marius Mauch schrieb:
 On Sat, 17 Jan 2009 14:09:49 +0100
 Thomas Sachau to...@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



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] RDEPEND definition in docs differ from official PMS specs

2009-01-17 Thread Santiago M. Mola
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 to...@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: cooldw...@gmail.com | GPG: AAD203B5


signature.asc
Description: Esta parte del mensaje está firmada digitalmente


Re: [gentoo-dev] RDEPEND definition in docs differ from official PMS specs

2009-01-17 Thread Marius Mauch
On Sat, 17 Jan 2009 16:41:25 +0100
Thomas Sachau to...@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