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. William
signature.asc
Description: Digital signature