# About starting dbab on machine starts This has not been an issue until things get complicated. OK, here was my goal: - Start the dbab service on machine starts. - Make it possible by using the SysV init.d script. - But also support those systems that uses Systemd. - And most importantly, support as many systems in different version as possible. ## V1.2.2 solution Every effort has been made to make sure no compromise in Debian Sid because a package uploaded to unstable is packaged for unstable and should work as well as possible there. For others, a separated build if required, and even separated patches if necessary. I.e., pack each distro separately. ## V1.2.1 solution The goal sounds good, but only on paper, because there have to be some serious compromises to make. Here is a list of all issues that need to dealt with: - This original init script that I provided myself lacks error handling, and is fragile and racy, too. - There is a ready-made solution, `/lib/init/init-d-script` from `sysvinit-utils` (ver 2.88dsf-58), that provides out-of-box solution. - However, that solution is not available in Ubuntu, even in latest 14.10. - If I borrow that ready-made code into my own package, Sid will be upset if I still call it `/lib/init/init-d-script`. - However if I do not call it `/lib/init/init-d-script`, then the package can't even be built. lintian will complain loudly: ~~~ E: dbab: init.d-script-does-not-implement-required-option etc/init.d/dbab start E: dbab: init.d-script-does-not-implement-required-option etc/init.d/dbab stop E: dbab: init.d-script-does-not-implement-required-option etc/init.d/dbab restart E: dbab: init.d-script-does-not-implement-required-option etc/init.d/dbab force-reload W: dbab: init.d-script-does-not-source-init-functions etc/init.d/dbab ~~~ - So the only option that I have is to have a renamed private /lib/init/init-d-script file, then override the above lintian errors. Otherwise, I can't make all the following three happy: Debian Sid, Debian wheezy and Ubuntu. - That's the compromises regarding SysV init.d script. The Systemd is not much different. - In order to have Systemd support, the `debian/rules` has to use dh $@ --with systemd - However, that will introduce a installation dependency `init-system-helpers`, and it's version has to `>= 1.18~`. - But if you take a look at Debian & Ubuntu, neither Debian Wheezy nor Ubuntu Trusty (14.04LTS) support that (at least by default). - So I *have to* drop that v1.18 `init-system-helpers` dependency, meaning that I have to build without the `--with systemd`. - I believe that the impact on the systemd systems is that the dbab service will not starts on machine starts, unless you, the systemd user, manually symlink the `/lib/systemd/system/dbab.service` file into `/etc/systemd/system/`. OK, hopefully for now, most if not all people are happy.