Package: sysvinit-core
Version: 3.15-6
Severity: minor
Tags: patch

Dear Maintainer,

When booting with sysvinit, the following message is invariably displayed:

  INIT: No inittab.d directory found

This is a little excessive for a default installation as the visual footprint
from init should be minimal. It does not seem to be valid as an error or a
warning.

This can be worked around by adding a directory in debian.sysvinit-core.dirs.
However, this then leads us to a documentation issue: you have to read the
source code to realise that only files ending ".tab" will be read. Therefore I
suggest the patch below [4] would be a better resolution in the debian package,
including a README to explain this point.

But we are not out of the woods. The change [1] that introduced this feature
did not document it. So I suggest that the upstream documents the directory and
its constraints in the man pages.

Then if you do use the feature, you get excessively verbose output due to [2]:

  printf("Got line: %s\n", buf); 

I think upstream should remove that.

This directory has some potential to reduce the fragility of maintscripts when
packages include inittab drop-ins, such as runit-run [3].

Do you think any of my suggestions is worth actioning?

Andrew


[1] 
https://codeberg.org/thejessesmith/sysvinit/commit/d4cc79bcb907b39722f1431d4881bcfcf8740c49

[2] 
https://codeberg.org/thejessesmith/sysvinit/commit/a24e0232e5298a0cdde102d72ccb255f57ab4e09

[3] 
https://sources.debian.org/src/runit/2.3.0-1/debian/runit-run.postinst#L30-L41

[4]

diff --git a/debian/inittab.d/README b/debian/inittab.d/README
new file mode 100644
index 00000000..5230440b
--- /dev/null
+++ b/debian/inittab.d/README
@@ -0,0 +1 @@
+This directory accepts drop-in inittab(5) fragments with names ending in ".tab"
diff --git a/debian/sysvinit-core.install b/debian/sysvinit-core.install
index 1d973126..884622c7 100644
--- a/debian/sysvinit-core.install
+++ b/debian/sysvinit-core.install
@@ -3,3 +3,4 @@ sbin/init usr/sbin
 sbin/runlevel usr/sbin
 sbin/shutdown usr/sbin
 usr/include/initreq.h
+debian/inittab.d etc


-- System Information:
Debian Release: forky/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.19.6+deb14-amd64 (SMP w/24 CPU threads; PREEMPT)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_GB:en
Shell: /bin/sh linked to /usr/bin/dash
Init: sysvinit (via /sbin/init)
LSM: AppArmor: enabled

Versions of packages sysvinit-core depends on:
ii  initscripts     3.15-6
ii  libc6           2.42-13
ii  libselinux1     3.9-2
ii  login           1:4.16.0-2+really2.41.3-4
ii  mount           2.41.3-4
ii  sysv-rc         3.15-6
ii  sysvinit-utils  3.15-6

Versions of packages sysvinit-core recommends:
ii  orphan-sysvinit-scripts  0.23

Versions of packages sysvinit-core suggests:
ii  bootlogd  3.15-6

-- no debconf information

Reply via email to