Created attachment 334674 [details] Ebuild with fix on RDEPEND. Ebuild of the package net-snmp-5.7.2 require a runtime dependency to openrc that it isn't available if it is installed systemd. So it is needed add an "or" condition to ebuild. Probably, best solution is create a virtual like sys-apps/init to use on all ebuild that permit to add a dependency generic and not relative to a particular init system.
Comment on attachment 334674 [details] Ebuild with fix on RDEPEND. --- net-snmp-5.7.2.ebuild 2012-10-20 07:00:03.000000000 +0200 +++ - 2013-01-07 04:58:37.972174189 +0100 @@ -45,7 +45,11 @@ !minimal? ( dev-perl/TermReadKey ) ) selinux? ( sec-policy/selinux-snmp ) - sys-apps/openrc" + || ( + sys-apps/openrc + sys-apps/systemd + ) +" # Dependency on autoconf due to bug #225893 DEPEND="${COMMON}
I have removed the dependency
The dependency is because we use the new syntax in openrc. I'm no sure if that's a good idea. Besides, if we have to start making this conditional, we have to look at it as a global policy, as we install the init scripts unconditionally.
(In reply to comment #3) > The dependency is because we use the new syntax in openrc. I'm no sure if > that's a good idea. Depending on one of many init packages is not a good idea, you mean? I whole-heartedly agree with that. If you insist on forcing everyone to use openrc, wouldn't it be better to depend on !<sys-apps/baselayout-2 in that case? > Besides, if we have to start making this conditional, we have to look at it > as a global policy, as we install the init scripts unconditionally. I don't think the systemd people are after that.
Quite a few packages are going to get minimum version requirements for sys-apps/openrc soon enough because of tmpfilesd. Do you think we should block instead of just allowing dependencies to be handled correctly? I disagree that doing either || () or simply dropping openrc dependencies is the correct way to do that.
(In reply to comment #5) > Quite a few packages are going to get minimum version requirements for > sys-apps/openrc soon enough because of tmpfilesd. Do you think we should > block instead of just allowing dependencies to be handled correctly? Yes, why not block some !<sys-apps/openrc-[version] ? It gives users a choice to not install/use openrc at all.
Main problem is that is there a lot of todo for systemd integration (because there are a lot of tools/package that use for example function.sh) and i think that it is correct create a virtual package for init system and then as dependency of systemd could be useful have a systemd-init-tools package that install all shell script that permit to use without patch all others scripts/packages. For example: - revdep-rebuild inside setup_color() has a source of the /etc/init.d/function.sh that it isn't available if i removed openrc; - gcc-config: at begin try to source /etc/init.d/functions.sh and exit if it isn't available In some cases it only needed comment include of functions.sh but it isn't a fine solution.
This is the wrong place to discuss revdep-rebuild or anything else. Also honestly, <QA hat on>I don't really care about an openrc-less system right now</QA hat on>.
My comment it isn't relative to problems with revdev-rebuild, etc. but is relative to find a best solution to handle RDEPEND of the net-snmp ebuild. Net-snmp like others packages use standard shell scripts like functions.sh, etc. and probably (i think) is for this that is been added dependency to openrc inside RDEPEND. Insert systemd in "or" condition is a workaround not a solution like remove dependency to openrc. Without enter on discussion about support systemd inside Gentoo i think that best solution is use a virtual alias for openrc/init script because: a) permit in the future to handle environment with both openrc and systemd without a static RDEPEND b) avoid insert of a particular dependency to a package like systemd that doens't contains files required/used from net-snmp c) leave open solution about how manage correctly problem with init script without needed in the future editing of net-snmp ebuild. Only my cent. Bye
(In reply to Diego Elio Pettenò from comment #3) > The dependency is because we use the new syntax in openrc. I'm no sure if > that's a good idea. It isn't clear from the ChangeLog what new syntax necessitated the sys-apps/openrc dependency at the time. I assume the original problem has solved itself, as nobody has complained about the lack of that dependency in over a year.