Hi. A few months ago I drafted an idea to rewrite init.d scripts to use a common implementation and only specify the unique parts in the init.d scripts themselves. That draft can be found on <URL: http://people.skolelinux.org/pere/blog/Debian_init_d_boot_script_example_for_rsyslog.html >.
The idea is to let init.d scripts look like this: #!/lib/init/init-d-script ### BEGIN INIT INFO # Provides: daemon # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: nice daemon # Description: Provide service to others ### END INIT INFO DAEMON=/usr/sbin/daemond Short and to the point, and in the simple case only list the path to the daemon to start. The code to implement init.d scripts is moved to /lib/init/init-d-script, and the redundant code spread across /etc/init.d/ can be dropped. A few days ago I picked up the idea again, and wrote a more complete draft of the /lib/init/init-d-script. The code is available in the simpler-init-scripts in the sysvinit GIT repository, available from <URL: http://anonscm.debian.org/gitweb/?p=collab-maint/sysvinit;a=shortlog;h=refs/heads/simpler-init-scripts >. I've tested it on a few packages, and believe the code is ready for wider testing. The main target group for this feature are the majority of packages with init.d scripts, the ones starting a single daemon. There are around 1000 packages in Debian with init.d scripts. Around 100 of them start stuff using rcS.d/, and tend to be quite complex. Most of the rest start a simple daemon and are based on different generations of /etc/init.d/skeleton. The target for this feature is the latter group. The reason I bring this up on debian-devel@ is twofold. First, I want to gather feedback on the idea. Will it work for your package, or are some more hooks needed? Second, I wonder where such script best would belong. My initial idea is to put it in the initscripts package, installed on almost all Debian systems, but I suspect sysvinit-utils is a good place too. I plan to use the system in the initscripts package, and am relucant to add new dependencies to it, as this would make the new dependency a required package. Comments? CC to pkg-sysvinit-de...@lists.alioth.debian.org, where the system is being drafted these days. As for the line counting in the subject, I decided to ignore commented lines. Including those, we end up on 11 lines. :) -- Happy hacking Petter Reinholdtsen -- To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20140205213109.gb1...@ulrik.uio.no