Bug#230857: So, the solution is ...
Hrm, perhaps the conversation about realpath, etc., didn't need
to be cc:ed to #230857. I hope you found it interesting. :)
Anyway, the important point of that discussion for #230857's
purposes is that sysvinit 2.85-10 has been released with a
brand new S02mountvirtfs script that gets run at /etc/rcS.d/S02 !
This means that the plan to deal with the old devpts.sh
should be modified to take this into account. I suggest:
* Depends: sysvinit (>= 2.85-10)
* No longer ship either devpts.sh or mountkernfs.
That means that both of these conffiles are abandoned.
Because dpkg does not dispose of abandoned conffiles (it simply
leaves them hanging around), libc6 has to dispose of them:
* chmod ugo-x /etc/init.d/devpts.sh /etc/init.d/mountkernfs
* mv /etc/init.d/devpts.sh /etc/init.d/devpts.sh.dpkg-old
* mv /etc/init.d/mountkernfs /etc/init.d/mountkernfs.dpkg-old
* rm -f /etc/rcS.d/S35devpts.sh /etc/rcS.d/S35mountkernfs
If you prefer not to Depend on sysvinit (>= 2.85-10) then your
job becomes more difficult because you have to support every
possible combination of libc6 and sysvinit, making sure that
there is exactly one virtual-file-system loading script,
while taking into account that sysvinit may be upgraded later.