[Pkg-sysvinit-devel] OK to upload new sysvinit package?
Petter Reinholdtsen
pere at hungry.com
Thu Oct 21 20:04:45 UTC 2010
Hi, release managers. The sysvinit maintainer got a few changes
waiting in subversion which would be useful to get into Squeeze. The
changelog look like this:
sysvinit (2.88dsf-13) unstable; urgency=low
* Remove runlevel duration printing code from init.d/rc script
as it was scheduled for removal before squeeze and imperfect.
(Closes: #584862)
* Really ignore CTRL-C interuption in initd.d/rc by setting a
signal trap with null string as argument. This prevents incomplete
boot if CTRL-C is pressed, eg. during fsck, when conccurrent boot is
enabled. (Closes: #595431)
* Prevent init.d/rc script from executing stop scripts twice
in runlevels 0 and 6 when conccurrent boot is enabled.
(Closes: #594253)
* Modify debian/startpar/patches/06_stdin_notty.patch so it applies
without fuzziness.
* Add debian/startpar/patches/08_kfreebsd_proc_error_debug.patch to
prevent frequent messages on Debian GNU/kFreeBSD from littering boot
messages. Thanks Petr Salinger for the patch. (Closes: #590560)
* Avoid umounting virtual filesystems (eg, cgroup) mounted under
/sys/* as there is no good reason to do so. Thanks Michael Biebl
for the patch. (Closes: #597338)
-- Kel Modderman <kel at otaku42.de> Tue, 21 Sep 2010 22:54:56 +1000
Is it OK to upload to unstable? We believe all the changes make sense
(well, doh of course we do), but got some feedback on the fix for
#595431 claiming it did not work. Not much more to say than that it
work for us. :)
There are other bugs it would be nice to fix too, but lack of
available man-hours on the sysvinit team make it unlikely that it will
happen in time for Squeeze, so I thought it best to check the ones we
have in place with the release team.
This is the diff.
Index: debian/src/sysv-rc/etc/init.d/rc
===================================================================
--- debian/src/sysv-rc/etc/init.d/rc (revision 1942)
+++ debian/src/sysv-rc/etc/init.d/rc (working copy)
@@ -16,8 +16,6 @@
PATH=/sbin:/usr/sbin:/bin:/usr/bin
export PATH
-starttime=$(date +%s)
-
# Un-comment the following for interactive debugging. Do not un-comment
# this for debugging a real boot process as no scripts will be executed.
# debug=echo
@@ -43,7 +41,7 @@
trap on_exit EXIT # Enable emergency handler
# Ignore CTRL-C only in this shell, so we can interrupt subprocesses.
-trap ":" INT QUIT TSTP
+trap "" INT QUIT TSTP
# Set onlcr to avoid staircase effect.
stty onlcr 0>&1
@@ -217,10 +215,13 @@
done
step=0
+ # First, run the KILL scripts.
if [ makefile = "$CONCURRENCY" ]
then
- [ "$previous" != N ] && startup stop
- # First, run the KILL scripts.
+ if [ "$ACTION" = "start" ] && [ "$previous" != N ]
+ then
+ startup stop
+ fi
elif [ "$previous" != N ]
then
# Run all scripts with the same level in parallel
@@ -333,11 +334,5 @@
trap - EXIT # Disable emergency handler
-# This code should be removed when Squeeze freeze is getting closer
-# - Petter 2010-05-18
-endtime=$(date +%s)
-duration=$(($endtime - $starttime))
-log_action_msg "Running scripts in rc$runlevel.d/ took $duration seconds"
-
exit 0
Index: debian/src/initscripts/etc/init.d/umountfs
===================================================================
--- debian/src/initscripts/etc/init.d/umountfs (revision 1942)
+++ debian/src/initscripts/etc/init.d/umountfs (working copy)
@@ -27,7 +27,7 @@
do
echo "$PROTECTED_MOUNTS" | grep -qs "^$DEV $MTPT " && continue
case "$MTPT" in
- /|/proc|/dev|/.dev|/dev/pts|/dev/shm|/dev/.static/dev|/proc/*|/sys|/lib/init/rw)
+ /|/proc|/dev|/.dev|/dev/pts|/dev/shm|/dev/.static/dev|/proc/*|/sys|/sys/*|/lib/init/rw)
continue
;;
/var/run)
Index: debian/startpar/patches/08_kfreebsd_proc_error_debug.patch
===================================================================
--- debian/startpar/patches/08_kfreebsd_proc_error_debug.patch (revision 0)
+++ debian/startpar/patches/08_kfreebsd_proc_error_debug.patch (revision 1945)
@@ -0,0 +1,28 @@
+Purpose: Debian GNU/kFreeBSD does not have procs_running/procs_blocked
+ fields in /proc/stat. Avoid frequent messages about it.
+Fixes: #590560
+Authour: Petr Salinger <Petr.Salinger at seznam.cz>
+Status: Not yet submitted upstream.
+
+--- a/proc.c
++++ b/proc.c
+@@ -35,7 +35,9 @@ static unsigned long int scan_one(const
+ unsigned long val = 0;
+
+ if (!b) {
++#if DEBUG
+ fprintf(stderr, "ERROR: no hit for %s\n", key);
++#endif
+ return ~0UL;
+ }
+ if (sscanf(b + strlen(key), " %lu", &val) != 1)
+@@ -69,7 +71,8 @@ int read_proc(unsigned long int * const
+ }
+ fclose(stat);
+
+- /* These fields are not present in /proc/stat for 2.4 kernels */
++ /* These fields are not present in /proc/stat for 2.4 kernels
++ or GNU/kFreeBSD */
+ running = scan_one(StatBuf, "procs_running");
+ blocked = scan_one(StatBuf, "procs_blocked");
+
Index: debian/startpar/patches/06_stdin_notty.patch
===================================================================
--- debian/startpar/patches/06_stdin_notty.patch (revision 1942)
+++ debian/startpar/patches/06_stdin_notty.patch (working copy)
@@ -4,12 +4,13 @@
A better approach would be to get parallel booting working in
such setting.
Fixes: #584102
-Authour: Petter Reinholdtsen
+Authour: Petter Reinholdtsen, with modification from Kel Modderman to
+ co-exist with 01_dev_pts_workaround.patch without fuzz.
Status: Not applied upstream
---- a/startpar.c (revision 1898)
-+++ b/startpar.c (working copy)
-@@ -631,6 +631,7 @@
+--- a/startpar.c
++++ b/startpar.c
+@@ -698,6 +698,7 @@ int main(int argc, char **argv)
char *prev_level = getenv("PREVLEVEL");
char *run_level = getenv("RUNLEVEL");
char *splashopt = 0;
@@ -17,7 +18,7 @@
(void)signal(SIGUSR1, sighandler_preload);
(void)signal(SIGUSR2, sighandler_nopreload);
-@@ -813,8 +814,7 @@
+@@ -880,8 +881,7 @@ int main(int argc, char **argv)
if (tcgetattr(0, &tio))
{
@@ -27,15 +28,15 @@
}
if (ioctl(0, TIOCGWINSZ, &wz) == 0)
wzok = 1;
-@@ -904,6 +904,11 @@
- }
- p->splashadd = calcsplash(num, argc, splashopt);
+@@ -976,9 +976,9 @@ int main(int argc, char **argv)
p->num = num++;
-+ if (notty)
-+ {
-+ interactive_task = p; /* no tty, treat as interactive */
-+ continue;
-+ }
if (interactive_task)
continue; /* don't start this here */
+- if (!devpts)
++ if (!devpts || notty)
+ {
+- interactive_task = p; /* no /dev/pts, treat as interactive */
++ interactive_task = p; /* no /dev/pts or tty, treat as interactive */
+ continue;
+ }
run(p);
Index: debian/startpar/patches/series
===================================================================
--- debian/startpar/patches/series (revision 1942)
+++ debian/startpar/patches/series (working copy)
@@ -6,3 +6,4 @@
05_pri_kdm_gdm.patch
06_stdin_notty.patch
07_nocrash_missing_arg.patch
+08_kfreebsd_proc_error_debug.patch
Happy hacking,
--
Petter Reinholdtsen
More information about the Pkg-sysvinit-devel
mailing list