On Sat, Dec 17, 2011 at 9:29 PM, Greg Freemyer greg.freemyer@gmail.com wrote:
On Fri, Dec 16, 2011 at 4:37 PM, Cristian Rodríguez crrodriguez@opensuse.org wrote:
Hi:
Supporting 2 different init systems comes with a large increase of possible usecases and scenarios that are very difficult to support correctly, specially in the long term.
This RFC proposes steps to permanently phase out sysvinit from future openSUSE releases.
Phase 0
- Fix all *currently* outstanding bugs of systemd if any, note that this
step only deals with problems in systemd itself, not in service files installed by other packages, udev, kernel, networkmanager or whatever other thing.
Determine which services currently lack of native systemd units.
Add an rpmlint error with moderate badness for the start,complaining about
the lack of unit files.
This much seems useful regardless of anything else,
"Assuming" it can be done. How would rpmlint know that a package needs a unit file? After all, most don't.
Also, is there a way the "badness" could be made more obvious.
I don't think any of my packages have a init script, but if they did having a ever increasing badness would be totally hidden from me unless I happen to be looking at the build log. For stable packages, I don't suspect many of us do that.
The badness could be set to 100000 or something like that that automatically terminates the build.
Once this happens, I see three solutions to allowing building:
1. Have users add an rplintrc file. We can simply keep an eye on rplintrc files. 2. The same as 1, but also require users submit a bug report or put the file in a wiki to have the issue fixed. 3. Discourage users from using an rplintrc file. Instead have them submit a bug report only, and have the file added to an rpmlintrc whitelist, similar to dbus security checks currently.
1 would be easiest initially but make follow-up tracking harder. 3 I think would make things harder for everyone. I think 2 is better, probably with a bug report since this works for people who don't have wiki access. There could be a proper tag or something for bugs in this category so they can be easily tracked. Using bug reports would also allow more substantial discussion of how to best fix the issue on a case-by-case basis, allow for proposed scripts to be attached and discussed, and overall allows for a more robust and transparent decision-making process.
Although technically 2 and 3 are not mutually exclusive, you could always let users use an rpmlintrc as a temporary workaround until the file is added to the whitelist, I just don't see any advantage to this method, and packagers will probably ignore the message and use an rpmlintrc file anyway.
-Todd