In the developer handbook, ebuild HOWTO, section "1.e. Package Dependencies", it states: "Never set RDEPEND to DEPEND yourself in an ebuild." But in the Ebuild policy, section "1.e. Variables" of the handbook, it states: "RDEPEND should be set explicitly, even if RDEPEND=${DEPEND}." According to discussions between Marcus Hanwell (cryos@gentoo.org) with other developers on IRC, the second statement, from the Ebuild policy, is the correct one. From the email he sent me regarding this issue: "The policy is in a state of transition... It always used to be that portage set RDEPEND=DEPEND if RDEPEND was not set explicitly. That behaviour is being phased out and so the ebuild policy is correct and the ebuild howto needs correcting."
no, this *still* needs to be hashed out on the gentoo dev mailing list
Well, I don't see what you want to hash out, everyone can verify that the ebuild howto is wrong, portage doesn't behave like that. Following the howto results in broken ebuilds with broken dependencies. That's not exactly a purpose why the howto exists.
and we simply sit around waiting for portage to change behavior again and then update the docs ? here's a better idea ... figure out the exact behavior of portage on the gentoo-dev mailing list and then go with it everywhere
(In reply to comment #3) > and we simply sit around waiting for portage to change behavior again and then > update the docs ? Sure, that's the exact purpose of that HOWTO. For any other flames, feel free to use mailing list or whatever else, but "documenting" non-existant behaviour plain doesn't make sense.
17:40 < antarus> zmedico: so dumb question 17:40 < antarus> ebuild foo inherits eclass bar; eclass bar sets RDEPEND="something-useless" 17:41 < antarus> ebuild foo's RDEPEND doesn't get touched by portage 17:41 < antarus> basically if RDEPEND is empty; you set it to DEPEND; otherwise you leave it alone? 17:46 < zmedico> antarus: yes So if RDEPEND is unset; it will be set for you; if RDEPEND is set by an inherited eclass; you need to set it manually. This is the current behavior.
So, now that we know the behaviour, and that it was intended and nobody seems to have opposed it when it was announced [1], we should just solve this bug and bug 79337. [1] http://thread.gmane.org/gmane.linux.gentoo.devel/29509/
that's bullshit ... read the actually e-mail ebuilds never changed
(In reply to comment #7) > that's bullshit ... that's bullshit ... read the actually e-mail > ebuilds never changed Eh, I can say the same about current ebuild howto, because it doesn't document an existing behaviour. Don't see how using bullshit here is exactly helpful and also don't see what you mean. Yeah, ebuilds never changed, the portage behaviour has changed quite some time ago, noone opposed to that, and having broken ebuilds plus inconsistent documentation doesn't make any sense.
(In reply to comment #7) > that's bullshit ... read the actually e-mail Yeah I did: "For the ebuild part the plan is to remove the automatic RDEPEND=DEPEND setting from portage." "but you can for sure include RDEPEND="${DEPEND}" in your ebuilds to make them safe for the future." I know it says there would be EAPI bump first etc, and that's probably why implicit depend still mostly works now... just not when eclass sets RDEPEND. Not sure if this semi-state change was intentional but it's there and we have to deal with it. > ebuilds never changed Then maybe it's about time they change, starting with ebuilds affected by inheriting affected eclasses. Having this backed up by Ebuild HOWTO and repoman would really help. Yeah you could try to restore portage's old behaviour but wouldn't that be a step back, when it was already decided to remove implicit RDEPENDs completely?
no, portage hasnt changed ... it still implicitly sets RDEPEND for ebuilds there are other threads on the gentoo-dev list going over this issue which were not resolved
(In reply to comment #10) > no, portage hasnt changed ... it still implicitly sets RDEPEND for ebuilds No, it doesn't set RDEPEND implicitly for ebuilds when an inherited eclass sets its own RDEPEND, portage folks already explained this a couple of times, and users have filed quite a bunch of bugs about broken ebuilds.
The HOWTO does not contradict the policy any more which is what the bug is about.