Package: release.debian.org Severity: normal User: release.debian....@packages.debian.org Usertags: unblock X-Debbugs-Cc: sysvi...@packages.debian.org Control: affects -1 + src:sysvinit
Please pre-approve unblocking of package sysvinit. [ Reason ] src:kmod removed /etc/init.d/kmod in version 34.1-1[1]. It was suggested that it be included in src:orphan-sysvinit-scripts[2], but orphan-sysvinit-scripts requires a matching unit file to use as a dpkg trigger. The equivalent systemd unit is in systemd itself. Therefore we consider /etc/init.d/kmod to be a better fit in bin:initscripts. bin:initscripts is built from src:sysvinit which also builds bin:sysvinit-utils which is part of the toolchain freeze from 15th March -- hence the pre-approval unblock request. [ Impact ] Without this transition, non-systemd systems will no longer load kernel modules statically configured in /etc/mod*. The upload will fix #1100072. [ Tests ] I have manually tested installation with existing kmod/34-3. The Breaks/Replaces forces apt to upgrade kmod as expected. [ Risks ] Moving files between packages is not risk free. However, the uncoordinated actions of the kmod maintainer has made this necessary despite the current stage of the release cycle. [ Checklist ] [x] all changes are documented in the d/changelog [x] I reviewed all changes and I approve them [x] attach debdiff against the package in testing [ Other info ] kmod.postinst also runs[3] rm -f /etc/rcS.d/[SK]*kmod This breaks upgrades and has also been highlighted in #1100035 unblock sysvinit/3.14-4 [1] https://salsa.debian.org/md/kmod/-/commit/8ca034958ad7d1734087a78078be4897209ab22e [2] https://bugs.debian.org/1100035 [3] https://salsa.debian.org/md/kmod/-/commit/c2ae42ca3a338fba0f190e3a61a635d386b1e8fa Thanks for your consideration. Mark
dpkg-source: warning: extracting unsigned source package (/home/mark/src/devuan/build/sysvinit_3.14-4.dsc) diff -Nru sysvinit-3.14/debian/changelog sysvinit-3.14/debian/changelog --- sysvinit-3.14/debian/changelog 2025-02-24 09:27:01.000000000 +0000 +++ sysvinit-3.14/debian/changelog 2025-03-10 16:49:51.000000000 +0000 @@ -1,3 +1,10 @@ +sysvinit (3.14-4) unstable; urgency=medium + + * d/control: bump Standards Version (no changes). + * Take over /etc/init.d/kmod from src:kmod << 34.1-1 (Closes: #1100072). + + -- Mark Hindley <lee...@debian.org> Mon, 10 Mar 2025 16:49:51 +0000 + sysvinit (3.14-3) unstable; urgency=medium * rcS: Default to ASYNCMOUNTNFS=no if ip= or nfsroot= specified on kernel diff -Nru sysvinit-3.14/debian/control sysvinit-3.14/debian/control --- sysvinit-3.14/debian/control 2025-02-24 09:27:01.000000000 +0000 +++ sysvinit-3.14/debian/control 2025-03-10 16:49:51.000000000 +0000 @@ -14,7 +14,7 @@ libselinux1-dev [linux-any], po4a, Rules-Requires-Root: no -Standards-Version: 4.7.1 +Standards-Version: 4.7.2 Homepage: https://github.com/slicer69/sysvinit Vcs-Git: https://salsa.debian.org/debian/sysvinit.git Vcs-Browser: https://salsa.debian.org/debian/sysvinit @@ -111,9 +111,11 @@ psmisc, util-linux-extra, Breaks: udev (<< 254.3-1), - util-linux-extra (<< 2.39.2-2.1~) + util-linux-extra (<< 2.39.2-2.1~), + kmod (<< 34.1-1) Replaces: udev (<< 254.3-1), - util-linux-extra (<< 2.39.2-2.1~) + util-linux-extra (<< 2.39.2-2.1~), + kmod (<< 34.1-1) Description: scripts for initializing and shutting down the system The scripts in this package initialize a standard Debian system at boot time and shut it down at halt or reboot time. diff -Nru sysvinit-3.14/debian/initscripts.postinst sysvinit-3.14/debian/initscripts.postinst --- sysvinit-3.14/debian/initscripts.postinst 2025-02-24 09:27:01.000000000 +0000 +++ sysvinit-3.14/debian/initscripts.postinst 2025-03-10 16:49:51.000000000 +0000 @@ -42,7 +42,7 @@ checkroot-bootclean.sh checkfs.sh mountall.sh mountall-bootclean.sh \ mountnfs.sh mountnfs-bootclean.sh bootmisc.sh urandom halt reboot \ udev umountroot umountfs umountnfs.sh sendsigs killprocs single motd \ - bootlogs rc.local rmnologin hwclock.sh" + bootlogs rc.local rmnologin hwclock.sh kmod" for F in $INITSCRIPTS; do if [ -x "$DPKG_ROOT/etc/init.d/$F" ]; then diff -Nru sysvinit-3.14/debian/src/initscripts/etc/init.d/kmod sysvinit-3.14/debian/src/initscripts/etc/init.d/kmod --- sysvinit-3.14/debian/src/initscripts/etc/init.d/kmod 1970-01-01 01:00:00.000000000 +0100 +++ sysvinit-3.14/debian/src/initscripts/etc/init.d/kmod 2025-03-10 16:49:51.000000000 +0000 @@ -0,0 +1,92 @@ +#!/bin/sh -e +### BEGIN INIT INFO +# Provides: kmod +# Required-Start: +# Required-Stop: +# Should-Start: checkroot +# Should-Stop: +# Default-Start: S +# Default-Stop: +# Short-Description: Load the modules listed in /etc/modules. +# Description: Load the modules listed in /etc/modules. +### END INIT INFO + +# Silently exit if the kernel does not support modules. +[ -f /proc/modules ] || exit 0 +[ -x /sbin/modprobe ] || exit 0 + +[ -f /etc/default/rcS ] && . /etc/default/rcS +. /lib/lsb/init-functions + +PATH='/usr/sbin:/usr/bin:/sbin:/bin' + +case "$1" in + start) + ;; + + stop|restart|reload|force-reload) + log_warning_msg "Action '$1' is meaningless for this init script" + exit 0 + ;; + + *) + log_success_msg "Usage: $0 start" + exit 1 +esac + +load_module() { + local module args + module="$1" + args="$2" + + if [ "$VERBOSE" != no ]; then + log_action_msg "Loading kernel module $module" + modprobe $module $args || true + else + modprobe $module $args > /dev/null 2>&1 || true + fi +} + +modules_files() { + local modules_load_dirs='/etc/modules-load.d /run/modules-load.d /usr/local/lib/modules-load.d /usr/lib/modules-load.d' + local processed=' ' + local add_etc_modules=true + + for dir in $modules_load_dirs; do + [ -d $dir ] || continue + for file in $(run-parts --list --regex='\.conf$' $dir 2> /dev/null || true); do + local base=${file##*/} + if echo -n "$processed" | grep -qF " $base "; then + continue + fi + if [ "$add_etc_modules" -a -L $file \ + -a "$(readlink -f $file)" = /etc/modules ]; then + add_etc_modules= + fi + processed="$processed$base " + echo $file + done + done + + if [ "$add_etc_modules" ]; then + echo /etc/modules + fi +} + +if [ "$VERBOSE" = no ]; then + log_action_begin_msg 'Loading kernel modules' +fi + +files=$(modules_files) +if [ "$files" ] ; then + grep -h '^[^#]' $files | + while read module args; do + [ "$module" ] || continue + load_module "$module" "$args" + done +fi + +if [ "$VERBOSE" = no ]; then + log_action_end_msg 0 +fi +