[Pkg-sysvinit-devel] Two line init.d scripts? Sure, that will work!

Thomas Goirand zigo at debian.org
Thu Feb 6 10:48:45 UTC 2014


On 02/06/2014 05:31 AM, Petter Reinholdtsen wrote:
> 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?

Well, you've been trying to reimplement OpenRC... with less features!
Don't bother, switch to OpenRC, and call it a day... :)

Cheers,

Thomas




More information about the Pkg-sysvinit-devel mailing list