Package: runit / 2.1.2-39.1

Metadata

Package Version Patches format
runit 2.1.2-39.1 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
0005 patch etc runit 2 for FHS.patch | (download)

runit-2.1.2/etc/2 | 4 2 + 2 - 0 !
1 file changed, 2 insertions(+), 2 deletions(-)

 make /etc/runit/2 respect fhs

0001 default directory for services on Debian is etc servi.diff | (download)

runit-2.1.2/man/runsv.8 | 4 2 + 2 - 0 !
runit-2.1.2/man/runsvchdir.8 | 4 2 + 2 - 0 !
runit-2.1.2/man/sv.8 | 4 2 + 2 - 0 !
runit-2.1.2/src/sv.c | 2 1 + 1 - 0 !
4 files changed, 7 insertions(+), 7 deletions(-)

 [patch] default directory for services on debian is /etc/service/,
 not /service/


0002 support etc runit nosync file to make sync on shutdow.diff | (download)

runit-2.1.2/doc/runit.8.html | 2 2 + 0 - 0 !
runit-2.1.2/man/runit.8 | 5 5 + 0 - 0 !
runit-2.1.2/src/runit.c | 15 10 + 5 - 0 !
runit-2.1.2/src/runit.h | 1 1 + 0 - 0 !
4 files changed, 18 insertions(+), 5 deletions(-)

 [patch] support /etc/runit/nosync file to make sync on
 shutdown/reboot optional

https://bugs.debian.org/695281

0003 utmpset.c mixes int32_t and time_t.diff | (download)

runit-2.1.2/src/utmpset.c | 8 6 + 2 - 0 !
1 file changed, 6 insertions(+), 2 deletions(-)

 [patch] utmpset.c: mixes "int32_t *" and "time_t *"

Don't pass int32_t to time(), thx Lorenzo Beretta,
https://bugs.debian.org/754849

0004 src Makefile don t use static to link runit runit ini.diff | (download)

runit-2.1.2/src/Makefile | 4 2 + 2 - 0 !
1 file changed, 2 insertions(+), 2 deletions(-)

 [patch] src/makefile: don't use -static to link runit,
 runit-init on Debian


0006 make buildsystem respect CFLAGS.patch | (download)

runit-2.1.2/src/print-cc.sh | 2 1 + 1 - 0 !
runit-2.1.2/src/print-ld.sh | 2 1 + 1 - 0 !
2 files changed, 2 insertions(+), 2 deletions(-)

 make buildsystem respect dpkg-buildflags

0007 move communication files.patch | (download)

runit-2.1.2/etc/debian/1 | 4 2 + 2 - 0 !
runit-2.1.2/etc/debian/3 | 2 1 + 1 - 0 !
runit-2.1.2/etc/debian/ctrlaltdel | 4 2 + 2 - 0 !
runit-2.1.2/man/runit-init.8 | 8 4 + 4 - 0 !
runit-2.1.2/man/runit.8 | 6 3 + 3 - 0 !
runit-2.1.2/src/runit.h | 4 2 + 2 - 0 !
6 files changed, 14 insertions(+), 14 deletions(-)

 move communication files under /run

0008 emulate sysv runlevel 5.patch | (download)

runit-2.1.2/etc/debian/1 | 2 2 + 0 - 0 !
1 file changed, 2 insertions(+)

 emulalate sysv runlevel 5 by default

0009 fix error in manpage.patch | (download)

runit-2.1.2/man/runsv.8 | 6 2 + 4 - 0 !
1 file changed, 2 insertions(+), 4 deletions(-)

 fix factual error in manpage.

patch make build system print compilatio.patch | (download)

runit-2.1.2/src/warn-auto.sh | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 [patch] make build system print compilation commands


patch disable chkshgrp test that fails i.patch | (download)

runit-2.1.2/src/Makefile | 1 0 + 1 - 0 !
1 file changed, 1 deletion(-)

 [patch] disable chkshgrp test, that fails in whalebuilder


patch fix spin lock on systems with poor.patch | (download)

runit-2.1.2/src/svlogd.c | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 [patch] fix spin lock on systems with poor clock


0013 Shutdown when runit init receices SIGPWR.patch | (download)

runit-2.1.2/man/runit.8 | 6 6 + 0 - 0 !
runit-2.1.2/src/runit.c | 17 13 + 4 - 0 !
runit-2.1.2/src/sig.c | 5 5 + 0 - 0 !
runit-2.1.2/src/sig.h | 1 1 + 0 - 0 !
4 files changed, 25 insertions(+), 4 deletions(-)

 shutdown when runit-init receices sigpwr


0014 fix implicit declarations incompatible types argv ty.patch | (download)

runit-2.1.2/src/chkshsgr.c | 4 3 + 1 - 0 !
runit-2.1.2/src/chpst.c | 31 16 + 15 - 0 !
runit-2.1.2/src/pathexec.h | 6 3 + 3 - 0 !
runit-2.1.2/src/pathexec_env.c | 8 4 + 4 - 0 !
runit-2.1.2/src/pathexec_run.c | 3 2 + 1 - 0 !
runit-2.1.2/src/prot.c | 7 5 + 2 - 0 !
runit-2.1.2/src/prot.h | 2 1 + 1 - 0 !
runit-2.1.2/src/runsvdir.c | 4 2 + 2 - 0 !
runit-2.1.2/src/seek_set.c | 1 1 + 0 - 0 !
runit-2.1.2/src/sgetopt.c | 2 1 + 1 - 0 !
runit-2.1.2/src/sgetopt.h | 2 1 + 1 - 0 !
runit-2.1.2/src/subgetopt.c | 2 1 + 1 - 0 !
runit-2.1.2/src/subgetopt.h | 2 1 + 1 - 0 !
runit-2.1.2/src/sv.c | 2 1 + 1 - 0 !
runit-2.1.2/src/svlogd.c | 4 2 + 2 - 0 !
runit-2.1.2/src/utmpset.c | 2 1 + 1 - 0 !
16 files changed, 45 insertions(+), 37 deletions(-)

 fix: implicit declarations, incompatible types, argv type
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

Fixed a few compiler warnings:

prot.c:13:7: warning: implicit declaration of function ‘setgroups’ [-Wimplicit-function-declaration]
chpst.c:80:7: warning: implicit declaration of function ‘setgroups’; did you mean ‘getgroups’? [-Wimplicit-function-declaration]
 - added #include <grp.h>, see: https://linux.die.net/man/2/setgroups

chkshsgr.c:11:19: warning: passing argument 2 of ‘getgroups’ from incompatible pointer type [-Wincompatible-pointer-types]
 - change 'short' to 'gid_t', see: https://linux.die.net/man/2/setgroups

pathexec_run.c:18:5: warning: implicit declaration of function ‘execve’ [-Wimplicit-function-declaration]
 - add #include <unistd.h>, see: http://man7.org/linux/man-pages/man2/execve.2.html

prot.c:17:10: warning: implicit declaration of function ‘setgid’; did you mean ‘getgrgid’? [-Wimplicit-function-declaration]
 - add #include <unistd.h>, see: https://linux.die.net/man/3/setgid

seek_set.c:9:7: warning: implicit declaration of function ‘lseek’ [-Wimplicit-function-declaration]
 - add #include <unistd.h>, see: https://linux.die.net/man/2/lseek


0015 fix 34 cases of Wmisleading indentation warnings.patch | (download)

runit-2.1.2/src/byte_chr.c | 16 12 + 4 - 0 !
runit-2.1.2/src/byte_copy.c | 12 8 + 4 - 0 !
runit-2.1.2/src/byte_cr.c | 12 8 + 4 - 0 !
runit-2.1.2/src/byte_diff.c | 16 12 + 4 - 0 !
runit-2.1.2/src/byte_rchr.c | 16 12 + 4 - 0 !
runit-2.1.2/src/chpst.c | 6 4 + 2 - 0 !
runit-2.1.2/src/str_chr.c | 16 12 + 4 - 0 !
runit-2.1.2/src/str_len.c | 12 8 + 4 - 0 !
runit-2.1.2/src/sv.c | 3 2 + 1 - 0 !
runit-2.1.2/src/svlogd.c | 25 18 + 7 - 0 !
10 files changed, 96 insertions(+), 38 deletions(-)

 fix: 34 cases of -wmisleading-indentation warnings

 - fixed misleading indentation as reported by gcc 8.2.0

0016 fix warning for undefined operation on sequence poin.patch | (download)

runit-2.1.2/src/chpst.c | 3 2 + 1 - 0 !
1 file changed, 2 insertions(+), 1 deletion(-)

 fix: warning for undefined operation on sequence point in chpst.c
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

  chpst.c:312:33: warning: operation on ‘subgetoptarg’ may be undefined [-Wsequence-point]
  if (optarg[scan_ulong(++optarg, &ul)]) usage();

  see accepted answer on:
  https://stackoverflow.com/questions/10623114/operation-on-may-be-undefined

  see also http://c-faq.com/expr/seqpoints.html :
  "... This rule effectively constrains legal expressions to those in which the
  accesses demonstrably precede the modification."

0017 fix replace obsolete usleep with nanosleep.patch | (download)

runit-2.1.2/src/sv.c | 4 3 + 1 - 0 !
1 file changed, 3 insertions(+), 1 deletion(-)

 fix: replace obsolete usleep with nanosleep

 POSIX.1-2001 declares usleep obsolete,
 POSIX.1-2008 removes the specification of usleep,
 see https://linux.die.net/man/3/usleep

0018 fix resource leaks and other issues as reported by i.patch | (download)

runit-2.1.2/package/install-man | 11 3 + 8 - 0 !
runit-2.1.2/src/fd_move.c | 5 4 + 1 - 0 !
runit-2.1.2/src/runit-init.c | 6 3 + 3 - 0 !
runit-2.1.2/src/svlogd.c | 2 1 + 1 - 0 !
runit-2.1.2/src/x86cpuid.c | 4 4 + 0 - 0 !
5 files changed, 15 insertions(+), 13 deletions(-)

 fix: resource leaks and other issues as reported by infer

 to run infer static code analyzer (fbinfer.com):
 cd src; infer run -- make

 - fix: fd_move.c resource leak - close file handle
 - fix: runit-init.c resource leak - close file handle
 - fix: svlogd.c dead storage - value never used
 - fix: x86cpuid.c uninitialized value read
 - fix: package/install-man - do not use unreliable symlinks

0019 Make runsvdir 8 rescan directory on SIGALARM.patch | (download)

runit-2.1.2/src/Makefile | 4 2 + 2 - 0 !
runit-2.1.2/src/runsvdir.c | 38 37 + 1 - 0 !
2 files changed, 39 insertions(+), 3 deletions(-)

 make runsvdir(8) rescan directory on sigalarm

Generally runsvdir(8) rescans service directory every 5 seconds. This patch
makes it possbile to force rescan by sending SIGALARM.

This feature is wanted by maintainer scripts of packages that want to perform
some action after service was started. Obliviously, hanging installation
process for 5 seconds is sub-optimal in such situation.

0020 Add regression test for forced rescan feature.patch | (download)

runit-2.1.2/src/Makefile | 1 1 + 0 - 0 !
runit-2.1.2/src/t/runtest.sh | 41 41 + 0 - 0 !
runit-2.1.2/src/t/timestamp/run | 3 3 + 0 - 0 !
3 files changed, 45 insertions(+)

 add regression test for forced-rescan feature


0021 Make pid1 forward sigalarm to stage2 process.patch | (download)

runit-2.1.2/src/runit.c | 18 16 + 2 - 0 !
1 file changed, 16 insertions(+), 2 deletions(-)

 make pid1 forward sigalarm to stage2 process


0022 Check force rescan delay more precisely.patch | (download)

runit-2.1.2/src/t/runtest.sh | 19 9 + 10 - 0 !
runit-2.1.2/src/t/timestamp/run | 4 2 + 2 - 0 !
2 files changed, 11 insertions(+), 12 deletions(-)

 check force-rescan delay more precisely

Use `data +%s%N` in src/t/runtest.sh to check with nano-second precision
how much time pass between SIGALRM sent and control pipe of new service
appear.

0023 Fix 1 second delay in forced rescan implementation.patch | (download)

runit-2.1.2/src/runsvdir.c | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 fix 1 second delay in forced-rescan implementation

Ref: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=933078#40

0024 Fix forced rescan test adding runsv path.patch | (download)

runit-2.1.2/src/t/runtest.sh | 4 3 + 1 - 0 !
1 file changed, 3 insertions(+), 1 deletion(-)

 fix test failure on sbuild
 The test fails in sbuild or in any other environment where runit is not installed
 because runsvdir can't find runsv in PATH. The fix adds the build directory at the
 beginning of PATH in order to make sure that runsvdir pick the right runsv when the
 test is done on machine where runit is installed.
0025 Update runit manpage for runitdir env.patch | (download)

runit-2.1.2/man/runit.8 | 31 31 + 0 - 0 !
1 file changed, 31 insertions(+)

 update runit manpage for runitdir env
0026 Clean up at the end of rescan test.patch | (download)

runit-2.1.2/src/t/runtest.sh | 2 2 + 0 - 0 !
1 file changed, 2 insertions(+)

 <clean up at the end of forced rescan test>