On Fri, Apr 27, 2018 at 1:28 PM, William Hubbs <willi...@gentoo.org> wrote:
> On Fri, Apr 27, 2018 at 12:28:43PM -0400, Mike Gilbert wrote:
>> On Fri, Apr 27, 2018 at 11:45 AM, William Hubbs <willi...@gentoo.org> wrote:
>> > On Fri, Apr 27, 2018 at 12:48:09AM -0700, Zac Medico wrote:
>> >> On 04/26/2018 11:34 PM, Kent Fredric wrote:
>> >> > On Thu, 26 Apr 2018 13:35:15 -0700
>> >> > Zac Medico <zmed...@gentoo.org> wrote:
>> >> >
>> >> >> emerge --depclean, resulting in an unbootable system. Just say-in.
>> >> >
>> >> > And depclean being very verbose doesn't do many favours here either.
>> >> >
>> >> > ( I regularly do >500 package depcleans and spotting things that aren't 
>> >> > meant to be
>> >> >  culled amongst that list is a bit of a challenge )>
>> >>
>> >> At least for system packages, it will show a warning like the one shown
>> >> here:
>> >>
>> >>    https://bugs.gentoo.org/642484#c0
>> >>
>> >> Hopefully that message helps those that are paying enough attention.
>> >> What can we do for those that overlook the warning message, other than
>> >> give them some rescue instructions for making their system boot again?
>> >
>> > Another option suggested to me was to add a use flag to OpenRC that
>> > pulls in a dependency on virtual/init instead of adding virtual/init to
>> > @system. The suggestion originally was to add it to rdepend, but that
>> > doesn't feel right to me since openrc really doesn't have a runtime
>> > dependency on init, so I'm thinking something like this:
>> >
>> > IUSE="... +separate-init"
>> >
>> > PDEPEND="
>> > ...
>> > separate-init? ( virtual/init )"
>> >
>> > Thoughts?
>>
>> RDEPEND and PDEPEND have essentially the same meaning when there are
>> no cycles in the dependency graph. The devmanual suggests that PDEPEND
>> should only be used to avoid cyclic dependencies.
>>
>> I don't see any reason to prefer PDEPEND over RDEPEND here, and I
>> don't understand why that would "feel" better. It effectively gets
>> treated as a runtime dependency either way.
>
> The goal of this is to find a way to accurately reflect the relationship
> between openrc and sysvinit in our ebuilds.
>
> The relationship between openrc and sysvinit is best described as a
> configurable reverse runtime dependency which we enable by default --
> sysvinit uses openrc to bring up the system, but openrc itself does not
> have a hard dependency on any init provider.
> It did in the past, because it called killall5, which is part of
> sysvinit, but that has been changed.
>
> So, the whole relationship is backward in our ebuilds. That, combined
> with our distro-wide ban on using use flags for optional runtime
> dependencies (also in the devmanual) is why I suggested this.
I have no objection to the USE flag idea. Just put the dependency in
RDEPEND, not PDEPEND. There is no depgraph cycle to be avoided here.

Reply via email to