Your message dated Sun, 09 Oct 2022 19:51:31 +0000
with message-id <[email protected]>
and subject line Bug#1021465: fixed in runit 2.1.2-49
has caused the Debian Bug report #1021465,
regarding runit: Mask sysv services and forward signal to native runscripts
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
1021465: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1021465
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: runit
Version: 2.1.2-48
Severity: normal
X-Debbugs-Cc: [email protected]

Maintscript run unconditionally sysv script during packages 
install/remove/upgrade:
this is ok when a correspondant runscript does not exist (runit uses sysv 
script as
fallback in that case) but it creates several issues when a native runscripts 
exists.

* one can end up with tho instances of the same services, and one is 
unsupervised
* the sysv instance may clash with the runit one, runit usually wins but in the 
meanwhile
  the package upgrade may fail to configure (for example mariadb) and the 
running instance
  may crash
* the two instances may also interact in unspected ways without crashing

Several solution exists but it's not obvious to me what's the right one:

A. divert or override in some way update-rc.d and invoke-rc.d form i-s-h package
B. abuse the policy-rc.d hack to run the action instead of denying it
C. divert /etc/init.d/foo and replace it with a symlink to /usr/bin/sv
D. hijack lsb init functions like /lib/lsb/init-functions.d/40-systemd
E. use a start-stop-daemon wrapper

All the above have the problem that are limited to sysv script, so it's not 
possible
to access to a systemd socket/path/timer service, but that's probably a 
separate problem.
All of the above interact badly with invoke-run, when it call '/etc/init.d/foo 
stop' the
runit service enters a loop where it down itself..

Other disadvantages:

A.1. no hope to merge into i-s-h package, discussion with patches is stuck 
since 2019, see #924132
     and discussion on salsa MR. So I'll have to maintain a runit version of 
the two helpers forever
  2. overrride or divert of essential bin, which can break package install, see 
#986644

B.1. old and somehow obscure interface, it probably should be handled with 
alternatives..
  2. running the action is outside the scope of the interface, as it should 
just allow or deny an
     action by return an appropriate code, but is not supposed to run the 
replacement directly

C.1  insserv complains with four line of warning for each diverted scripts 
during upgrades
  2. insserv ignores the diverted scripts which has the LSB header, so it no 
longer consider
     the script when it sets the start order of scripts 

D.1. doesn't work on initscripts that do not include lsb init functions, not 
sure how many
     are there
  2. one need to be carefull to not pollute sysvscript namespace when a 
runscript does not exists
  3. if a sysv script is written in some wierd/unexpected way, not sure who 
knows what happens..

E.1. uses zsh
  2. overrride or divert of essential bin
  3. are there sysv scripts that do not use start-stop-daemon (except 
'oneshots')?
  4. what if start-stop-daemon changes the interface (very very unlikely)

Overall E and D seem far better than A, B and C, in term of risk and 
maintainance burden required;
D may be slightly better than E (mainly because of E1 and E2) but I'm unsure of 
consequence of
D2 and D3.
It is probably worth to experiment with both, I think I'm going to enable D and 
provide a
way to disable it so that E is still usable.




-- System Information:
Debian Release: bookworm/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
merged-usr: no
Architecture: amd64 (x86_64)

Kernel: Linux 5.7.0-1-amd64 (SMP w/4 CPU threads)
Kernel taint flags: TAINT_FIRMWARE_WORKAROUND, TAINT_OOT_MODULE, 
TAINT_UNSIGNED_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US:en
Shell: /bin/sh linked to /bin/dash
Init: runit (via /run/runit.stopit)
LSM: AppArmor: enabled

Versions of packages runit depends on:
ii  libc6           2.34-8
ii  runit-helper    2.14.2
ii  sysuser-helper  1.3.7+really1.4.1

Versions of packages runit recommends:
ii  runit-init  2.1.2-48

Versions of packages runit suggests:
ii  socklog  2.1.0+repack-4+b1
pn  zsh      <none>

-- Configuration Files:
/etc/default/runit changed [not included]
/etc/runit/ctrlaltdel changed [not included]
/etc/runit/runsvdir/single/sulogin/run [Errno 2] No such file or directory: 
'/etc/runit/runsvdir/single/sulogin/run'

-- no debconf information

-- debsums errors found:
debsums: changed file /lib/lsb/init-functions.d/40-runit (from runit package)
debsums: changed file /lib/runit/trigger_sv (from runit package)

--- End Message ---
--- Begin Message ---
Source: runit
Source-Version: 2.1.2-49
Done: Lorenzo Puliti <[email protected]>

We believe that the bug you reported is fixed in the latest version of
runit, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Lorenzo Puliti <[email protected]> (supplier of updated runit package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Fri, 07 Oct 2022 23:27:21 +0200
Source: runit
Architecture: source
Version: 2.1.2-49
Distribution: experimental
Urgency: medium
Maintainer: Lorenzo Puliti <[email protected]>
Changed-By: Lorenzo Puliti <[email protected]>
Closes: 1021465 1021474
Changes:
 runit (2.1.2-49) experimental; urgency=medium
 .
   * make_svlink: create links also when CPSV_DIR is not /etc/sv
   * make the default directory for runsvdir configurable
   * stage 1: setup to experiment with a runtime service layout
   * /lib/lsb/init-functions.d/40-runit: mask sysv services and
      forward signals to runscripts; this can be tuned with flag files if
      start-stop-daemon wrapper is preferred. (Closes: #1021465)
   * add an sv_wtime utility needed for triggered upgrade of services
   * support triggered upgrade for runit services; this mode requires
      metafiles that are usually produced by dh-runit (Closes: #1021474)
   * invoke-run:
      - check for new metafile path inside the service directory
      - remove hardcoded path when 'chpst -e' is used
      - avoid loop when signals for sysv script are forwarded
   * cpsv:
      - improve readability of -d with colored diff
      - improve heuristic on sysvinit scripts
   * update-service:
      - add policy compliant commands
      - update manpage
   * run_sysv_scripts: small optimizations
   * svlogd: copy pkg metafile inside the log directory
   * Add a purge fallback for runit package, to fix piuparts
      sporadic failure
Checksums-Sha1:
 844f7daf8a4cfec2f0796ea5328d2d1a95667a57 2274 runit_2.1.2-49.dsc
 a07cb454c55b79648c3a9210b597a3d1eebb5be9 59372 runit_2.1.2-49.debian.tar.xz
 a499d76e2b2e29b9621797550de6cd186ffd1233 5898 runit_2.1.2-49_source.buildinfo
Checksums-Sha256:
 656a686151e9b8379d54aabaf00bb783d69636a4adccf989e153d9d74db3fcbe 2274 
runit_2.1.2-49.dsc
 df372f8958714abc2a093c13f918e3c675497daee31ed54a8087db9dce1a8946 59372 
runit_2.1.2-49.debian.tar.xz
 2465173e8d3deb93ba732d657bc39db9060b085ace5979d1162ef39e511fe72b 5898 
runit_2.1.2-49_source.buildinfo
Files:
 709005d56c7ab1610d72028a6f268b03 2274 admin optional runit_2.1.2-49.dsc
 87eacfa074b2b5c6f3e7a1a92181b946 59372 admin optional 
runit_2.1.2-49.debian.tar.xz
 344d2288f06a0c68f0b4168491f4ca20 5898 admin optional 
runit_2.1.2-49_source.buildinfo

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEkjZVexcMh/iCHArDweDZLphvfH4FAmNDIrAACgkQweDZLphv
fH4Jhw//aYPLS/mUrkfWat82K8Vdtzw8drcw9VmcYyLb7iOKWZ6yw9weIVAHlMCY
CsC54d73iRI2ziZY3V0BMV+QlE+LmmPdQrhT/G5cJtQSkanYxPmY6PfPkFgd6Qpk
sieIPM6yOkTcp7dugsJmcxwEYXA6vNL6DSrC3cNduM+imBn9IFHv8T5jRBz8wksv
tocfu1RhLK2tFCXgjQ1RXl3RADL+YsmgKYCXt18Ph0+cI+JYMJxr8XQnlop3mDjA
LNpyPxgKFgO5E/CXWxXntuULeeXYpv7oJl0jTpd8z8bY64K4cyNdhGxQE0drxyY3
PDtWKKCKBRU9eaePEGlrzr0XrTBYAVa0fcyiq4Wgah4fgokvmmjjRx+j+Di9mz3P
ZZRobK7TCfGt4iDlIeOyZo803v05f3dI/fJ8A9D/qiHM6zf6qUE9NzqOWLXoc/Av
zS9cyqwPsX28jCI4U1C0c/ggS8QjY8VaaVcepU5Bpbt7ctBgWApS6lveIWYX+Acg
gkmIN2MwbDlqWHrHs87+ZSkVYRh642SRl0YvrajjSZs4sqoVqOOXJ1tpbZ88XhaH
jor6rXtXeuSPDZV5sfT8lO8aTW9iIbuiNuq7Qbgd3V/DeSihDWtMeqDVgpM53ml6
BnqDnzzgXOy6W2y7lyC7yLeVR2rKBsTNGWX460zP7FueY9qFJe8=
=euDA
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to