Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 15827 - bug in the init script system
Summary: bug in the init script system
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Martin Schlemmer (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-02-17 02:13 UTC by Susie Edgeworth
Modified: 2003-02-17 17:00 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Susie Edgeworth 2003-02-17 02:13:07 UTC
it thinks that if the metalog init script still exists, then even though it
isn't loaded, it's still proviging logger service.  So it refused to replace
metalog with syslog-ng in the dependency tree.  I had to remove the metalog init
script and retry adding syslog-ng in place.

Reproducible: Didn't try
Steps to Reproduce:
1. rc-update del metalog default && /etc/init.d/metalog stop && emerge unmerge
metalog
2.emerge syslog-ng && cp /etc/syslog-ng/syslog-ng.conf.sample
/etc/syslog-ng/syslog-ng.conf && rc-update add syslog-ng default &&
/etc/init.d/syslog-ng start
3.after the rc-update adding syslog-ng you see a PROVIDE: error stating it's a
bad idea to have two things perform the same service.  Then on reboot not all
services load and same error is given.
Comment 1 Jonathan Morton 2003-02-17 02:20:53 UTC
Note - friend of the reporter, actually discovered and worked around this bug for her.  This report *is* a reproduction of a bug I encountered on her other computer a few days previously, also while attempting to replace metalog with syslog-ng.
Comment 2 Martin Schlemmer (RETIRED) gentoo-dev 2003-02-17 14:47:15 UTC
Check the 'need' dep type.  If the script for example 'need logger', then it
will have to find the script that provide logger, and thus this 'feature'.

This bug is invalid ... you NEED to remove the script that you do not want to
provide logger, or at least edit it.  This is so that there will be no confusion.
Comment 3 Jonathan Morton 2003-02-17 16:04:22 UTC
On the contrary, I believe this bug is still serious.  The workaround (deleting the "obsolete" init script) is not obvious to someone who doesn't know (and is not experienced enough to guess) the internal workings of the rc-script system.

The metalog script has been removed from the requested set of loaded scripts, and the syslog-ng script has been requested in it's place.  Given that there is therefore a tie between the two when "searching for a dependency resolution", surely it can use the fact that one is requested (and the other isn't) to resolve that tie?

Even better, make scripts that PROVIDE the same virtual service, explicitly mutually exclusive, so that adding one to the requested set will remove the other, and loading one manually will unload the other.

The combination of these two suggestions would resolve this bug and make rc-scripts more user-friendly.
Comment 4 Martin Schlemmer (RETIRED) gentoo-dev 2003-02-17 17:00:23 UTC
Read up on 'need' and how it works, and then please comment again.  Ill go
for a more clear warning, but that is it.