Bug#919296: git-daemon-run: fails with 'warning: git-daemon: unable to open supervise/ok: file does not exist'
* Dmitry Bogatov : > > [2019-03-16 00:41] Lorenzo Puliti > > >Bogatov wrote: > > >Dear git maintainer, you could plug this bug by adding > > >`/var/lib/supervise/git-daemon' into `debian/git-daemon-run.dirs'. > > > > Dmitry, are you sure? runsv can create the 'git-daemon' directory if > > it's not there, and a dangling symlink won't stop it. > > You can do a test: > > # update-service --remove /etc/sv/git-daemon > > # rm -r /var/lib/supervise/git-daemon > > # update-service --add /etc/sv/git-daemon > > wait at least 5 seconds, than do > > # sv term git-daemon > > You are right. Not sure why creating directory fixed issue for me, but > probably I should do less of testing on live system and do more of > clean-room testing. What is the status of this bug? It has been open for 3+ years without additional feedback. What is the suggested course of action for this bug from the runit perspective? Should it still be severity: serious if it might not be that relevant (given the 3 years of no activity)? Chris
Bug#919296: git-daemon-run: fails with 'warning: git-daemon: unable to open supervise/ok: file does not exist'
[2019-03-16 00:41] Lorenzo Puliti > >Bogatov wrote: > >Dear git maintainer, you could plug this bug by adding > >`/var/lib/supervise/git-daemon' into `debian/git-daemon-run.dirs'. > > Dmitry, are you sure? runsv can create the 'git-daemon' directory if > it's not there, and a dangling symlink won't stop it. > You can do a test: > # update-service --remove /etc/sv/git-daemon > # rm -r /var/lib/supervise/git-daemon > # update-service --add /etc/sv/git-daemon > wait at least 5 seconds, than do > # sv term git-daemon You are right. Not sure why creating directory fixed issue for me, but probably I should do less of testing on live system and do more of clean-room testing. -- Note, that I send and fetch email in batch, once every 24 hours. If matter is urgent, try https://t.me/kaction --
Bug#919296: git-daemon-run: fails with 'warning: git-daemon: unable to open supervise/ok: file does not exist'
Package: git-daemon-run Version: 1:2.20.1-2 Followup-For: Bug #919296 Hi! >Severity: grave >Justification: renders package unusable Jonathan wrote: >adding a Depends by git-daemon-run on >'runit-init | runit-systemd | runit-sysv' should do the trick. This should allow to lower the severity to non-RC: I have the same error as the bug title but with runit-init installed git-daemon is far from being unusable. In fact it's running as it's supposed to be despite the error. > Celejar wrote: >Okay, I've installed runit-systemd: > >~# dpkg-reconfigure git-daemon-run >Service git-daemon already added. >warning: git-daemon: unable to open supervise/ok: file does not exist disregard the warning, please test with # sv status git-daemon to check if git-daemon it's really not running >Bogatov wrote: >Dear git maintainer, you could plug this bug by adding >`/var/lib/supervise/git-daemon' into `debian/git-daemon-run.dirs'. Dmitry, are you sure? runsv can create the 'git-daemon' directory if it's not there, and a dangling symlink won't stop it. You can do a test: # update-service --remove /etc/sv/git-daemon # rm -r /var/lib/supervise/git-daemon # update-service --add /etc/sv/git-daemon wait at least 5 seconds, than do # sv term git-daemon > Jonathan Nieder wrote: > Unfortunately, this doesn't work. /var/lib/supervise/git-daemon ought > to contain a definition of a supervise service, whereas this produces > an empty directory so it still fails. Yes, as you enable a service, you have to wait at least 5 seconds before safely sending signals with sv. See runsvdir(8), it pools every 5 seconds. It's a flaw in runit design. Lorenzo -- System Information: Debian Release: buster/sid APT prefers unstable APT policy: (500, 'unstable') Architecture: amd64 (x86_64) Kernel: Linux 4.20.3-van (SMP w/4 CPU cores; PREEMPT) Kernel taint flags: TAINT_OOT_MODULE Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: runit (via /run/runit.stopit) Versions of packages git-daemon-run depends on: ii adduser 3.118 ii git 1:2.20.1-2 ii runit2.1.2-25helpers1 git-daemon-run recommends no packages. git-daemon-run suggests no packages. -- no debconf information
Bug#919296: git-daemon-run: fails with 'warning: git-daemon: unable to open supervise/ok: file does not exist'
[2019-01-23 12:41] Jonathan Nieder > Dmitry Bogatov wrote: > >> Jonathan Nieder wrote: > > >>> + * git-daemon-run: pre-create supervise directory so that postinst > >>> +can start the service (thx Celejar and Dmitry Bogatov; closes: > >>> +#919296). > [...] > > Wierd. It should work. /etc/sv/git-daemon/supervise is not dangling, is > > it? Tell me which git commit I should build and test, in effort to help > > debugging? > > It's not dangling. > > I tested with the debian-sid branch, with the patch in the message I > sent applied on top. That said: > > [...] > > It is my fault. I dropped /var/lib/supervise directory in runit=2.1.2-4, > > which was expected by git-daemon-run. > > > > Today runit packaging underwent quite a rework, and packages, providing > > runscripts are encouraged to use dh_runit(1). It manages creation of > > apporiate directories and symbolic links. If you have any issues, do not > > hezitate to ask -- runit is my top priority. > > Thanks, these are two good starting points. I'll take a look at the > 2.1.2-4 changes and into whether it's simple to use dh_runit. Hopefully > the latter will take care of everything. :) As promised, I applied patch over debian-sid branch and rebuilt package. It worked out-of-box, except on on postinst, it output warning about missing 'supervision/control', originating from this line: sv -v term git-daemon || : but it is harmless. You observe another, more buggy behaviour, don't you? -- Note, that I send and fetch email in batch, once every 24 hours. If matter is urgent, try https://t.me/kaction --
Bug#919296: git-daemon-run: fails with 'warning: git-daemon: unable to open supervise/ok: file does not exist'
[2019-01-23 12:41] Jonathan Nieder > [...] > > It is my fault. I dropped /var/lib/supervise directory in runit=2.1.2-4, > > which was expected by git-daemon-run. > > > > Today runit packaging underwent quite a rework, and packages, providing > > runscripts are encouraged to use dh_runit(1). It manages creation of > > apporiate directories and symbolic links. If you have any issues, do not > > hezitate to ask -- runit is my top priority. > > Thanks, these are two good starting points. I'll take a look at the > 2.1.2-4 changes and into whether it's simple to use dh_runit. Hopefully > the latter will take care of everything. :) It should. If not, I am here to help/fix/improve. Still, I am surprised, that adding /var/lib/supervise did not help to you. I will apply patch to `debian-sid' branch and take a closer look at this weekend. -- Note, that I send and fetch email in batch, once every 24 hours. If matter is urgent, try https://t.me/kaction --
Bug#919296: git-daemon-run: fails with 'warning: git-daemon: unable to open supervise/ok: file does not exist'
Dmitry Bogatov wrote: >> Jonathan Nieder wrote: >>> + * git-daemon-run: pre-create supervise directory so that postinst >>> +can start the service (thx Celejar and Dmitry Bogatov; closes: >>> +#919296). [...] > Wierd. It should work. /etc/sv/git-daemon/supervise is not dangling, is > it? Tell me which git commit I should build and test, in effort to help > debugging? It's not dangling. I tested with the debian-sid branch, with the patch in the message I sent applied on top. That said: [...] > It is my fault. I dropped /var/lib/supervise directory in runit=2.1.2-4, > which was expected by git-daemon-run. > > Today runit packaging underwent quite a rework, and packages, providing > runscripts are encouraged to use dh_runit(1). It manages creation of > apporiate directories and symbolic links. If you have any issues, do not > hezitate to ask -- runit is my top priority. Thanks, these are two good starting points. I'll take a look at the 2.1.2-4 changes and into whether it's simple to use dh_runit. Hopefully the latter will take care of everything. :) Jonathan
Bug#919296: git-daemon-run: fails with 'warning: git-daemon: unable to open supervise/ok: file does not exist'
[2019-01-21 19:54] Jonathan Nieder > Dmitry Bogatov wrote: > > [2019-01-16 14:49] Dmitry Bogatov > > >> So, should I propose you patch (in 7 days), that merges > >> bin:git-daemon-run into bin:git-daemon, would you be able to review > >> and apply/upload it before hard freeze? > > > > Probably, even better would be to merge `git-daemon-run' and > > `git-daemon-sysvinit'. What do you think? > > For "buster", I prefer a minimal fix within the framework of the > current packages, along the lines you suggested upthread: I am fine with it. I will prepare patch, but in more relaxed time frame. > This way, the same behavior as the previous release will persist for > users expecting it (in particular, allowing users to easily decide > which configuration will control their running daemon --- see [1] for > more context). That said, I'm happy to pursue a merge of the packages > into a git-daemon package in experimental in preparation for buster+1, > especially if there's a standard for runit service packaging that we > can follow there. Fine. I see it as git-daemon package Provides+Replaces+Breaks git-daemon-sysvinit and git-daemon-run. -- Note, that I send and fetch email in batch, once every 24 hours. If matter is urgent, try https://t.me/kaction --
Bug#919296: git-daemon-run: fails with 'warning: git-daemon: unable to open supervise/ok: file does not exist'
[2019-01-21 20:03] Jonathan Nieder > Jonathan Nieder wrote: > > + * git-daemon-run: pre-create supervise directory so that postinst > > +can start the service (thx Celejar and Dmitry Bogatov; closes: > > +#919296). > > [...] > > Unfortunately, this doesn't work. /var/lib/supervise/git-daemon ought > to contain a definition of a supervise service, whereas this produces > an empty directory so it still fails. Wierd. It should work. /etc/sv/git-daemon/supervise is not dangling, is it? Tell me which git commit I should build and test, in effort to help debugging? > Do you have more details? Why was this approach expected to work, and > where can I read more about what changed in runit and how to > appropriately adjust this package to handle the changes? It is my fault. I dropped /var/lib/supervise directory in runit=2.1.2-4, which was expected by git-daemon-run. Today runit packaging underwent quite a rework, and packages, providing runscripts are encouraged to use dh_runit(1). It manages creation of apporiate directories and symbolic links. If you have any issues, do not hezitate to ask -- runit is my top priority. -- Note, that I send and fetch email in batch, once every 24 hours. If matter is urgent, try https://t.me/kaction --
Bug#919296: git-daemon-run: fails with 'warning: git-daemon: unable to open supervise/ok: file does not exist'
tags 919296 - patch pending quit Jonathan Nieder wrote: > For "buster", I prefer a minimal fix within the framework of the > current packages, along the lines you suggested upthread: > > diff --git i/debian/changelog w/debian/changelog > index ef513b2e1d..fb996c91f4 100644 > --- i/debian/changelog > +++ w/debian/changelog > @@ -3,6 +3,9 @@ git (1:2.20.1-1.1) unstable; urgency=low >* package git-gui: actually Suggests: meld for mergetool support; > describe what meld is used for in package description (thx Jens > Reyer; closes: #707790). > + * git-daemon-run: pre-create supervise directory so that postinst > +can start the service (thx Celejar and Dmitry Bogatov; closes: > +#919296). > > -- Jonathan Nieder Mon, 21 Jan 2019 19:36:25 -0800 > > diff --git i/debian/git-daemon-run.dirs w/debian/git-daemon-run.dirs > index 7847e85525..0e62ab6ac0 100644 > --- i/debian/git-daemon-run.dirs > +++ w/debian/git-daemon-run.dirs > @@ -1 +1,2 @@ > etc/sv/git-daemon/log > +var/lib/supervise/git-daemon Unfortunately, this doesn't work. /var/lib/supervise/git-daemon ought to contain a definition of a supervise service, whereas this produces an empty directory so it still fails. Do you have more details? Why was this approach expected to work, and where can I read more about what changed in runit and how to appropriately adjust this package to handle the changes? Thanks, Jonathan
Bug#919296: git-daemon-run: fails with 'warning: git-daemon: unable to open supervise/ok: file does not exist'
found 919296 git/1:2.20.1-1 tags 919296 + patch pending quit Hi Dmitry, Dmitry Bogatov wrote: > [2019-01-16 14:49] Dmitry Bogatov >> So, should I propose you patch (in 7 days), that merges >> bin:git-daemon-run into bin:git-daemon, would you be able to review >> and apply/upload it before hard freeze? > > Probably, even better would be to merge `git-daemon-run' and > `git-daemon-sysvinit'. What do you think? For "buster", I prefer a minimal fix within the framework of the current packages, along the lines you suggested upthread: diff --git i/debian/changelog w/debian/changelog index ef513b2e1d..fb996c91f4 100644 --- i/debian/changelog +++ w/debian/changelog @@ -3,6 +3,9 @@ git (1:2.20.1-1.1) unstable; urgency=low * package git-gui: actually Suggests: meld for mergetool support; describe what meld is used for in package description (thx Jens Reyer; closes: #707790). + * git-daemon-run: pre-create supervise directory so that postinst +can start the service (thx Celejar and Dmitry Bogatov; closes: +#919296). -- Jonathan Nieder Mon, 21 Jan 2019 19:36:25 -0800 diff --git i/debian/git-daemon-run.dirs w/debian/git-daemon-run.dirs index 7847e85525..0e62ab6ac0 100644 --- i/debian/git-daemon-run.dirs +++ w/debian/git-daemon-run.dirs @@ -1 +1,2 @@ etc/sv/git-daemon/log +var/lib/supervise/git-daemon By the way, was there a change in runit precipitating this regression? I'm wondering so that we can set up the right dependencies (e.g. a versioned Breaks from runit) to ensure upgrades proceed smoothly. This way, the same behavior as the previous release will persist for users expecting it (in particular, allowing users to easily decide which configuration will control their running daemon --- see [1] for more context). That said, I'm happy to pursue a merge of the packages into a git-daemon package in experimental in preparation for buster+1, especially if there's a standard for runit service packaging that we can follow there. Thanks again for your help. [1] http://bugs.debian.org/422139#121
Bug#919296: git-daemon-run: fails with 'warning: git-daemon: unable to open supervise/ok: file does not exist'
[2019-01-16 14:49] Dmitry Bogatov > So, should I propose you patch (in 7 days), that merges > bin:git-daemon-run into bin:git-daemon, would you be able to review > and apply/upload it before hard freeze? Probably, even better would be to merge `git-daemon-run' and `git-daemon-sysvinit'. What do you think?
Bug#919296: git-daemon-run: fails with 'warning: git-daemon: unable to open supervise/ok: file does not exist'
control: tags -1 +confirmed [2019-01-14 19:56] Celejar > ~# dpkg-reconfigure git-daemon-run > Service git-daemon already added. > warning: git-daemon: unable to open supervise/ok: file does not exist > > > If I'm lucky then that will get it working. I'll try to reproduce it > > here and set the right dependencies. > > Sorry :/ > > Again, thanks for the help. I'm likely doing something basic wrong, so > thanks for bearing with me. Dear submitter, you are not doing wrong. It is actually bug. To workaround it it /right now/: # mkdir /var/lib/supervise/git-daemon If you have running 'runsvdir /etc/service' process (due runit-{init,sysv,systemd}, for example), things should be fine. Dear git maintainer, you could plug this bug by adding `/var/lib/supervise/git-daemon' into `debian/git-daemon-run.dirs'. But I wish to discuss proper solution. After discussing issue of runit scripts, debian-devel@ consensus was that runit scripts should be part of main package, `git-daemon' in this particular case. So, should I propose you patch (in 7 days), that merges bin:git-daemon-run into bin:git-daemon, would you be able to review and apply/upload it before hard freeze?
Bug#919296: git-daemon-run: fails with 'warning: git-daemon: unable to open supervise/ok: file does not exist'
On Mon, 14 Jan 2019 16:27:18 -0800 Jonathan Nieder wrote: > # missing Depends > severity 919296 serious > quit > > Celejar wrote: > >> Celejar wrote: > > >>> Any attempt to manage the daemon (e.g., 'sv stat git-daemon', as per > >>> README.debian) fails with: > >>> > >>> warning: git-daemon: unable to open supervise/ok: file does not exist > [...] > > ii runit 2.1.2-22 amd64system-wide service supervision > > ii runit-helper 2.7.3all dh-sysuser implementation > > detail > > un runit-init (no description available) > > un runit-systemd(no description available) > > un runit-sysv (no description available) > > > > I don't install recommends by default, and I do run into trouble > > sometimes because of that ;). Should I try installing one of them to see > > if that solves the problem? > > Yes, please. Please install runit-systemd and then run > "dpkg-reconfigure git-daemon-run". Okay, I've installed runit-systemd: ~# dpkg-reconfigure git-daemon-run Service git-daemon already added. warning: git-daemon: unable to open supervise/ok: file does not exist > If I'm lucky then that will get it working. I'll try to reproduce it > here and set the right dependencies. Sorry :/ Again, thanks for the help. I'm likely doing something basic wrong, so thanks for bearing with me. > It appears that runit-sysv depends on sysvinit-core, which conflicts > with systemd-sysv, so adding a Depends by git-daemon-run on > 'runit-init | runit-systemd | runit-sysv' should do the trick. I'll > experiment. > > Thanks, > Jonathan Celejar
Bug#919296: git-daemon-run: fails with 'warning: git-daemon: unable to open supervise/ok: file does not exist'
# missing Depends severity 919296 serious quit Celejar wrote: >> Celejar wrote: >>> Any attempt to manage the daemon (e.g., 'sv stat git-daemon', as per >>> README.debian) fails with: >>> >>> warning: git-daemon: unable to open supervise/ok: file does not exist [...] > ii runit 2.1.2-22 amd64system-wide service supervision > ii runit-helper 2.7.3all dh-sysuser implementation detail > un runit-init (no description available) > un runit-systemd(no description available) > un runit-sysv (no description available) > > I don't install recommends by default, and I do run into trouble > sometimes because of that ;). Should I try installing one of them to see > if that solves the problem? Yes, please. Please install runit-systemd and then run "dpkg-reconfigure git-daemon-run". If I'm lucky then that will get it working. I'll try to reproduce it here and set the right dependencies. It appears that runit-sysv depends on sysvinit-core, which conflicts with systemd-sysv, so adding a Depends by git-daemon-run on 'runit-init | runit-systemd | runit-sysv' should do the trick. I'll experiment. Thanks, Jonathan
Bug#919296: git-daemon-run: fails with 'warning: git-daemon: unable to open supervise/ok: file does not exist'
On Mon, 14 Jan 2019 13:26:37 -0800 Jonathan Nieder wrote: > Hi again, > > Celejar wrote: > > Severity: grave > > > > Any attempt to manage the daemon (e.g., 'sv stat git-daemon', as per > > README.debian) fails with: > > > > warning: git-daemon: unable to open supervise/ok: file does not exist > [...] > > Versions of packages git-daemon-run depends on: > > ii adduser 3.118 > > ii git 1:2.20.1-1 > > ii runit2.1.2-22 > > What is the output of "dpkg -l runit*"? In particular, do you have > runit-sysv or runit-systemd installed? ~# dpkg -l runit* Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-==---= ii runit 2.1.2-22 amd64system-wide service supervision ii runit-helper 2.7.3all dh-sysuser implementation detail un runit-init (no description available) un runit-systemd(no description available) un runit-sysv (no description available) I don't install recommends by default, and I do run into trouble sometimes because of that ;). Should I try installing one of them to see if that solves the problem? Celejar
Bug#919296: git-daemon-run: fails with 'warning: git-daemon: unable to open supervise/ok: file does not exist'
Hi again, Celejar wrote: > Severity: grave > > Any attempt to manage the daemon (e.g., 'sv stat git-daemon', as per > README.debian) fails with: > > warning: git-daemon: unable to open supervise/ok: file does not exist [...] > Versions of packages git-daemon-run depends on: > ii adduser 3.118 > ii git 1:2.20.1-1 > ii runit2.1.2-22 What is the output of "dpkg -l runit*"? In particular, do you have runit-sysv or runit-systemd installed? Thanks, Jonathan
Bug#919296: git-daemon-run: fails with 'warning: git-daemon: unable to open supervise/ok: file does not exist'
Hi, Celejar wrote: > Severity: grave > > Any attempt to manage the daemon (e.g., 'sv stat git-daemon', as per > README.debian) fails with: > > warning: git-daemon: unable to open supervise/ok: file does not exist > > I see that there's an old, archived bug about this: > > https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=570094 > > But I'm getting the same thing on my uptodate Sid system (and even on > another Sid system with the version of the package from experimental > installed). > > I know nothing about runit, so perhaps I'm doing something obvious > wrong, but I'm just trying to follow the directions from the README, and > getting this. Thanks for reporting. I'm cc-ing Debian's runit maintainers, who may be able to help us track this down. I haven't tried reproducing this yet, but I will try soon (some time this week). Sincerely, Jonathan
Bug#919296: git-daemon-run: fails with 'warning: git-daemon: unable to open supervise/ok: file does not exist'
Package: git-daemon-run Version: 1:2.20.1+next.20190104-1 Severity: grave Justification: renders package unusable Any attempt to manage the daemon (e.g., 'sv stat git-daemon', as per README.debian) fails with: warning: git-daemon: unable to open supervise/ok: file does not exist I see that there's an old, archived bug about this: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=570094 But I'm getting the same thing on my uptodate Sid system (and even on another Sid system with the version of the package from experimental installed). I know nothing about runit, so perhaps I'm doing something obvious wrong, but I'm just trying to follow the directions from the README, and getting this. -- System Information: Debian Release: buster/sid APT prefers unstable APT policy: (500, 'unstable') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.19.0-1-amd64 (SMP w/4 CPU cores) Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8), LANGUAGE=en_US.utf8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages git-daemon-run depends on: ii adduser 3.118 ii git 1:2.20.1-1 ii runit2.1.2-22 git-daemon-run recommends no packages. git-daemon-run suggests no packages. -- no debconf information