[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Installing init.d scripts



Hi all,
I'm packaging dkms [1] (ITP #481590), and it needs to install a script into
init.d.
I have a ./debian/dkms_autoinstaller.init, which should be placed
in /etc/init.d/ by dh_installinit. And it does its job. But dh_installinit
manpage also states:

       It also automatically generates the postinst and postrm and prerm
       commands needed to set up the symlinks in /etc/rc*.d/ and to start and
       stop the init scripts.

This is not actually true, at least in my case. And this is why I'm asking for
help here.

After a "debuild", lintian warns:

W: dkms:
script-in-etc-init.d-not-registered-via-update-rc.d /etc/init.d/dkms_autoinstaller
N:
N:   The package installs an /etc/init.d script which is not registered in
N:   the postinst script. This is usually a bug, unless you omit the links
N:   intentionally for some reason or create the links some other way.
N:

I supposed dh_installinit did that!
So, I tried grabbing clean postinst and postrm
from /usr/share/debhelper/dh_make/debian/, and left only the #DEBHELPER#. This
didn't work either.

After this, I tried calling

/usr/sbin/update-rc.d dkms_autoinstaller defaults

in the "configure" case of the postinst, and:

/usr/sbin/update-rc.d -f dkms_autoinstaller remove

in postrm. But lintian is still warning about that.  Oh, well, lintian throwed
an error as well:

E: dkms:
postrm-contains-additional-updaterc.d-calls /etc/init.d/dkms_autoinstaller
N:
N:   The postrm de-registers an /etc/init.d script which has not been
N:   registered in the postinst script before.
N:


On my system:

# find /etc/ -name "*dkms_autoinstaller*"
# LANG=C dpkg -i dkms_2.0.19-1_all.deb 
Selecting previously deselected package dkms.
(Reading database ... 199996 files and directories currently installed.)
Unpacking dkms (from dkms_2.0.19-1_all.deb) ...
Setting up dkms (2.0.19-1) ...
 Adding system startup for /etc/init.d/dkms_autoinstaller ...
   /etc/rc0.d/K20dkms_autoinstaller -> ../init.d/dkms_autoinstaller
   /etc/rc1.d/K20dkms_autoinstaller -> ../init.d/dkms_autoinstaller
   /etc/rc6.d/K20dkms_autoinstaller -> ../init.d/dkms_autoinstaller
   /etc/rc3.d/S20dkms_autoinstaller -> ../init.d/dkms_autoinstaller
   /etc/rc4.d/S20dkms_autoinstaller -> ../init.d/dkms_autoinstaller
   /etc/rc5.d/S20dkms_autoinstaller -> ../init.d/dkms_autoinstaller
Processing triggers for man-db ...
# find /etc/ -name "*dkms_autoinstaller*"
/etc/rc0.d/K20dkms_autoinstaller
/etc/rc1.d/K20dkms_autoinstaller
/etc/rc3.d/S20dkms_autoinstaller
/etc/rc4.d/S20dkms_autoinstaller
/etc/rc5.d/S20dkms_autoinstaller
/etc/rc6.d/K20dkms_autoinstaller
/etc/init.d/dkms_autoinstaller
# LANG=C apt-get --purge remove dkms
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  dkms*
0 upgraded, 0 newly installed, 1 to remove and 1 not upgraded.
After this operation, 266kB disk space will be freed.
Do you want to continue [Y/n]? 
(Reading database ... 200034 files and directories currently installed.)
Removing dkms ...
0
 Removing any system startup links for /etc/init.d/dkms_autoinstaller ...
   /etc/rc0.d/K20dkms_autoinstaller
   /etc/rc1.d/K20dkms_autoinstaller
   /etc/rc3.d/S20dkms_autoinstaller
   /etc/rc4.d/S20dkms_autoinstaller
   /etc/rc5.d/S20dkms_autoinstaller
   /etc/rc6.d/K20dkms_autoinstaller
Purging configuration files for dkms ...
 Removing any system startup links for /etc/init.d/dkms_autoinstaller ...
Processing triggers for man-db ...
# 


That seems working. Is lintian broken? Or am I missing something really
obvious?


Kindly,
David

[1] http://linux.dell.com/projects.shtml#dkms

-- 
 . ''`.  Debian maintainer | http://wiki.debian.org/DavidPaleino
 : :'  : Linuxer #334216 --|-- http://www.hanskalabs.net/
 `. `'`  GPG: 1392B174 ----|---- http://snipr.com/qa_page
   `-   2BAB C625 4E66 E7B8 450A C3E1 E6AA 9017 1392 B174

Attachment: signature.asc
Description: PGP signature


Reply to: