From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,HTML_MESSAGE,MAILING_LIST_MULTI autolearn=ham autolearn_force=no version=3.4.4 Received: from alyss.skarnet.org (alyss.skarnet.org [95.142.172.232]) by inbox.vuxu.org (Postfix) with SMTP id E6B27248A4 for ; Thu, 5 Dec 2024 07:54:20 +0100 (CET) Received: (qmail 6729 invoked by uid 89); 5 Dec 2024 06:54:46 -0000 Mailing-List: contact supervision-help@list.skarnet.org; run by ezmlm Sender: Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Received: (qmail 6719 invoked from network); 5 Dec 2024 06:54:46 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sopka.ch; s=default; t=1733381658; bh=xCFQGL+Vocb0UPpPPKI/X+3Gkg88nUcv/se+zRRUG/Y=; h=Received:Received:Subject:To:From; b=V3w6MI99jCitVqGJUWzSHNeEh1tlm1JUSVtj30lRpBhHdp8eaauYm0xpODAi3vly8 ypcgIpyWEkOwekftEySO+/+nzpiGGw/y8bP6FgElUrPMSgm/iZLj9FLFf0jIapF+su tkIRh3M6S32j3V4Abk6hdQMPLzZiMuywN24Bra54p+OuqOIilFtvMgL7Vujns80xby gJXJeaGEhCXBDTZaCWXW0fPmeofDNjBTszhTgncuBtEh4P/LxjxnGZ/qkR9nvDvN2m 94p7sClDl9QpU+6sRPuk+YBt89P/7o85o2aVW5Lt7XdcmHZt4sfIFcREITtSeBGM6H 1zlgZVMqv0Acg== Authentication-Results: plesk.origon.ch; spf=pass (sender IP is 127.0.0.1) smtp.mailfrom=psopka@sopka.ch smtp.helo=plesk.origon.ch Received-SPF: pass (plesk.origon.ch: localhost is always allowed.) client-ip=127.0.0.1; envelope-from=psopka@sopka.ch; helo=plesk.origon.ch; Authentication-Results: plesk.origon.ch (amavis); dkim=pass (2048-bit key) header.d=sopka.ch Received-SPF: pass (plesk.origon.ch: connection is authenticated) Message-ID: <4faed412-6fc0-4833-8f76-b6a74667c869@sopka.ch> Date: Thu, 5 Dec 2024 07:54:15 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Have an external script wait for a oneshot service To: supervision@list.skarnet.org, Laurent Bercot , =?UTF-8?B?SG/Dq2wgQsOpemllcg==?= References: <20241204140015.4e635037306d88117e053994@freesa.org> <2571a89b-ac74-4d9e-b8c6-ff0fe05cebb7@sopka.ch> <20241204141821.ee2a00c996c948f2feb42dec@freesa.org> Content-Language: de-DE, en-US From: Paul Sopka Autocrypt: addr=psopka@sopka.ch; keydata= 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 In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------mqHluUKg5YpiFf03Eh4DYCDm" X-PPP-Message-ID: <173338165599.2781431.416565160335260669@plesk.origon.ch> X-PPP-Vhost: sopka.ch --------------mqHluUKg5YpiFf03Eh4DYCDm Content-Type: multipart/mixed; boundary="------------7nVzSCd41VIFXaCUJUv2T2ln"; protected-headers="v1" From: Paul Sopka To: supervision@list.skarnet.org, Laurent Bercot , =?UTF-8?B?SG/Dq2wgQsOpemllcg==?= Message-ID: <4faed412-6fc0-4833-8f76-b6a74667c869@sopka.ch> Subject: Re: Have an external script wait for a oneshot service References: <20241204140015.4e635037306d88117e053994@freesa.org> <2571a89b-ac74-4d9e-b8c6-ff0fe05cebb7@sopka.ch> <20241204141821.ee2a00c996c948f2feb42dec@freesa.org> In-Reply-To: --------------7nVzSCd41VIFXaCUJUv2T2ln Content-Type: multipart/mixed; boundary="------------80V0vgNRjuRnqTfbGfVS61n0" --------------80V0vgNRjuRnqTfbGfVS61n0 Content-Type: multipart/alternative; boundary="------------WXpH9znwxFYkRdMtuOPm0HG6" --------------WXpH9znwxFYkRdMtuOPm0HG6 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 Pj4+IGFuZCB0aGF0IGlmIHlvdSB3YW50IHRvIG1vbml0b3IgaXQgdGhhdCB3YXksIHlvdSBz aG91bGQNCj4+PiB1c2UgYSByZWd1bGFyIHNlcnZpY2UuDQo+PiBUaGlzIGlzIG5vdCBwb3Nz aWJsZSwgc2luY2Ugd2hhdCBJIGRlcGVuZCBvbiBpcyBhIHNjcmlwdCB0aGF0IGRvZXMgaXRz DQo+PiB0aGluZyBhbmQgZXhpdHMuDQo+PiBJIHdvdWxkIG5lZWQgdG8gYWRkIGEgInNsZWVw IGluZmluaXR5IiBvciBiZXR0ZXIsIGEgcG9zaXggY29tcGF0aWJsZQ0KPj4gYWx0ZXJuYXRp dmUgYXQgaXRzIGVuZCwNCj4+IHdoaWNoIHdvdWxkIGNhdXNlIGEgdXNlbGVzcyBkYW5nbGlu ZyBsb25ncnVuIGJlaW5nIHN1cGVydmlzZWQgYW5kIGxvZ2dlZA0KPj4gLSBhIHdhc3RlIG9m IHJlc291cmNlcy4NCj4gV2h5IGRvbuKAmXQgeW91IHVzZSBhbm90aGVyIG9uZXNob3Q/IF5e DQo+DQo+IEhvw6tsIA0KDQo+IMKgVGhlIHRoaW5nIGlzLCBzNi1yYyB3YXNuJ3QgZGVzaWdu ZWQgdG8gaGF2ZSBleHRlcm5hbCBzY3JpcHRzDQo+IGludGVyYWN0aW5nIGluIHRoaXMgd2F5 IHdpdGggdGhpcyBlbmdpbmUsIGJlY2F1c2UgaWYgeW91IGhhdmUgcHJvZ3JhbXMNCj4gZGVw ZW5kaW5nIG9uIGludGVybWVkaWFyeSBzNi1yYyBzdGF0ZXMsIHRoZXkgc2hvdWxkIGJlIG1h bmFnZWQgYnkgczYtcmMNCj4gYXMgd2VsbC4gVGhlIHBvaW50IGlzIHRvIGhhdmUgYSBwcmVk aWN0YWJsZSBtYWNoaW5lIHN0YXRlIHdoZW4gczYtcmMNCj4gZXhpdHM7IGlmIHlvdSBoYXZl IHJhbmRvbSBvdGhlciBzdHVmZiBkb2luZyB0aGluZ3MgaW4gcGFyYWxsZWwsIHRoYXQNCj4g ZGVmZWF0cyB0aGUgcHVycG9zZS4NCj4NCj4gwqBBbmQgd2l0aCBhbiBzNi1saW51eC1pbml0 IHNldHVwLCBhdCBib290IHRpbWUgdGhlcmUgaXMgbm8gb3RoZXINCj4gcHJvY2VzcyB0aGFu IHM2LXJjIG1hbmFnaW5nIHlvdXIgc2VydmljZXMuIFlvdSBoYXZlIHRoZSBzdXBlcnZpc2lv bg0KPiB0cmVlLCBhbmQgdGhlIHN0YWdlIDIgc2NyaXB0LCBhbmQgdGhhdCdzIGl0LiBBbmQg aWYgeW91J3JlIGdvaW5nIHRvDQo+IHNwYXduIHN0dWZmIGluIHlvdXIgcmMuaW5pdCB0aGF0 IHdhaXRzIGZvciBvbmVzaG90IFggaW4gdGhlIHM2LXJjIGRiLA0KPiB0aGVuLi4uIHdoeT8g V2h5IG5vdCBoYXZlIHNhaWQgc3R1ZmYgYXMgYW5vdGhlciBzZXJ2aWNlPw0KPg0KPiDCoElm IHlvdSBjYW5ub3QsIGZvciB3aGF0ZXZlciByZWFzb24sIG1heWJlIGJyaW5nIHlvdXIgc2Vy dmljZXMgdXAgaW4NCj4gdHdvIHN0ZXBzPw0KPiDCoMKgwqDCoCBzNi1yYyBjaGFuZ2UgWCAm JiBzdHVmZiAmIHM2LXJjIGNoYW5nZSBkZWZhdWx0DQo+DQo+IMKgQW5kIGlmIGFsbCBlbHNl IGZhaWxzLCB0aGUgZ2VuZXJpYyBzb2x1dGlvbiB3b3VsZCBiZSB0byBoYXZlIGEgb25lc2hv dA0KPiBZIGRlcGVuZGluZyBvbiBYIChzbywgdGhhdCB3b3VsZCBydW4gb25jZSBYIGlzIGRv bmUpIHRoYXQgc2VuZHMgYQ0KPiBub3RpZmljYXRpb24gdG8gYSBwbGFjZSBvZiB5b3VyIGNo b2ljZSB2aWEgYSBtZWNoYW5pc20gb2YgeW91ciBjaG9pY2UsDQo+IHlvdSBjb3VsZCB1c2Ug YSBmaWZvZGlyIGFuZCBzNi1mdHJpZy1ub3RpZnkgZm9yIHRoaXMuIFlvdSB3b3VsZCBzdGls bA0KPiBoYXZlIHRvIGRlYWwgd2l0aCB0aGUgcmFjZSBjb25kaXRpb25zIGFyb3VuZCBzZXR0 aW5nIHVwIHRoZSBsaXN0ZW5lciBldGMuDQo+DQo+IMKgVGhlIGNsZWFuZXN0IHdheSB0byBh Y2hpZXZlIHdoYXQgeW91IHdhbnQsIHdpdGhvdXQgc3VwcG9ydCBpbiB0aGUNCj4gc2Vydmlj ZSBzZXQgaXRzZWxmLCBpcyB0byBzNi1yYyBjaGFuZ2UgWCBmaXJzdCwgdGhlbiBzNi1yYyBj aGFuZ2UgdGhlDQo+IHJlc3Qgb2YgeW91ciBzZXJ2aWNlcy4gVGhhdCB3YXksIHlvdSBhdm9p ZCBicmVha2luZyBhYnN0cmFjdGlvbiB3aXRoDQo+IGhhY2tzIG9mIHF1ZXN0aW9uYWJsZSBh ZXN0aGV0aWMgdmFsdWUuIA0KSSB3aG9sZWhlYXJ0ZWRseSBhZ3JlZSB0byB0aGlzIGluIHJl c3BlY3QgdG8gaW5pdC4NCkJ1dCBkdWUgdG8gbXkgZm9vbGlzaCBhdHRlbXB0IHRvIGtlZXAg dGhlIGRpc2N1c3Npb24gbW9yZSBnZW5lcmFsLA0KdGhlcmUgaXMgYSBjb25mdXNpb24gaGVy ZS4gVGhpcyBpcyBub3QgYWJvdXQgYW55dGhpbmcgY2xvc2UgdG8gaW5pdCwNCkJ1dCBzb2Z0 d2FyZSB0aGF0IGNhbiBub3QgYmUgcGFydCBvZiB0aGUgc3VwZXJ2aXNpb24gdHJlZToNCnNv ZnR3YXJlIHRoYXQncyB0aW1pbmcgaXMgY29udHJvbGxlZCBieSB0aGUgdXNlciBhbmQgdGhh dCBpcyBwYXJ0IG9mIHRoZSANCmludGVyZmFjZS4NClRvIGJlIG1vcmUgcHJlY2lzZSwgSSBo YXZlIHRoZSBmb2xsb3dpbmcgc2V0dXA6DQoNCi0gQSBsb25ncnVuIEwgc2V0dGluZyB1cCBz Ni1zdnNjYW4gZm9yIGEgdXNlci1zZXJ2aWNlLXRyZWUuDQoNCi0gQSBvbmVzaG90IE8gc2V0 dGluZyB1cCAiczYtcmMtaW5pdCIgYW5kICJzNi1yYyBzdGFydCBkZWZhdWx0Ii4NCg0KKHR3 byBhbGxvdyB1c2VycyB0byBoYXZlIHNlcnZpY2VzIHJ1bm5pbmcgb24gYm9vdCB3aXRob3V0 IGxvZ2luKQ0KDQotIEEgc2NyaXB0IHJ1biBvbiBsb2dpbiAoYmVlIGl0IGJ5IFBBTSwgLnBy b2ZpbGUgb3IgYW5vdGhlciB3YXkpLA0KIMKgIHRoYXQgc3RhcnRzIHVzZXIgc2VydmljZXMg b25seSB1c2VmdWwgYWZ0ZXIgbG9naW4sIGUuZy4gcGlwZXdpcmUuDQoNCk5vdyBvZiBjb3Vy c2UgdGhlIHNjcmlwdCBzaG91bGQgb25seSBiZSByYW4gYWZ0ZXIgdGhlIHRoZSAiczYtcmMt aW5pdCIgDQpvbmVzaG90Lg0KVGhlIGVhc3kgd2F5IG91dCBvZiB0aGlzIGlzIHRvIGhhdmUg YWxsICJpbnRlcmZhY2Utc29mdHdhcmUiLA0KZS5nLiBhZ2V0dHksIGdyZWV0ZCwgc3NoZCwg ZXRjLiBkZXBlbmQgb24gYSBidW5kbGUgY29udGFpbmluZyBMIGFuZCBPIG9mIA0KZWFjaCB1 c2VyLg0KQnV0IEkgd291bGQgYXJndWUgdGhhdCB0aGlzIGlzIG5vdCBhbiBlbGVnYW50IHNv bHV0aW9uOg0KDQotIEEgdXNlciBtaWdodCBub3QgaGF2ZSBzZXR1cCB1c2VyLXNlcnZpY2Vz LA0KIMKgIHdoeSBzaG91bGQgaGUgaGF2ZSB0byB3YWl0IGZvciBhbGwgdGhlIG90aGVyIHVz ZXItc2VydmljZS10cmVlcyB0byBiZSANCnByZXBhcmVkPw0KDQotIEV2ZW4gYSB1c2VyIHdp dGggdXNlci1zZXJ2aWNlcyBzZXQgdXAgd291bGQgaGF2ZSB0byB3YWl0DQogwqAgZm9yIGFs bCB0aGUgb3RoZXIgdXNlci10cmVlcyB0byBiZSBwcmVwYXJlZCB0b28sIHdoaWNoIG1pZ2h0 IHRha2UgDQpsb25nZXIgdG8gc3RhcnQgdGhhbiBoaXMuDQoNCk5vdyBpZiB0aGUgc2NyaXB0 IGhhZCBhIG5pY2Ugd2F5IHRvIHdhaXQgZm9yIE8gb2YgdGhlIHVzZXIgbG9nZ2luZyBpbg0K dG8gYmUgc3RhcnRlZCwgdGhlIGxvZ2luIHNvZnR3YXJlIHdvdWxkIG5vdCBuZWVkIHRvIHdh aXQgZm9yIE8gaXRzZWxmIGFuZA0KdGhlIHdhaXRpbmcgdGltZSB3b3VsZCBvbmx5IGFmZmVj dCB0aGUgdXNlciBzdGFydGluZyBzbG93IHN0YXJ0aW5nIA0KdXNlci1zZXJ2aWNlcy4NCg0K SSBhcmd1ZSB0aGF0IHRoaXMgaXMgbW9yZSBlbGVnYW50Lg0KDQpBIHJlYWRpbmVzcyBhcGkg Zm9yIG9uZXNob3RzIHdvdWxkIGhlbHAgd2l0aCB0aGlzLg0KDQpSZWdhcmRzDQoNClBhdWwN Cg0K --------------WXpH9znwxFYkRdMtuOPm0HG6 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable

and that if= you want to monitor it that way, you should
use a regular service.
This is not possible, since what I depend on is a script that does its
thing and exits.
I would need to add a "sleep infinity" or better, a posix compatible
alternative at its end,
which would cause a useless dangling longrun being supervised and logged
- a waste of resources.
Why don=E2=80=99t you use another oneshot? ^^

Ho=C3=ABl

=C2=A0The thing is, s6-rc wasn't designed= to have external scripts
interacting in this way with this engine, because if you have programs
depending on intermediary s6-rc states, they should be managed by s6-rc
as well. The point is to have a predictable machine state when s6-rc
exits; if you have random other stuff doing things in parallel, that
defeats the purpose.

=C2=A0And with an s6-linux-init setup, at boot time there is no o= ther
process than s6-rc managing your services. You have the supervision
tree, and the stage 2 script, and that's it. And if you're going to
spawn stuff in your rc.init that waits for oneshot X in the s6-rc db,
then... why? Why not have said stuff as another service?

=C2=A0If you cannot, for whatever reason, maybe bring your servic= es up in
two steps?
=C2=A0=C2=A0=C2=A0=C2=A0 s6-rc change X && stuff & s6= -rc change default

=C2=A0And if all else fails, the generic solution would be to hav= e a oneshot
Y depending on X (so, that would run once X is done) that sends a
notification to a place of your choice via a mechanism of your choice,
you could use a fifodir and s6-ftrig-notify for this. You would still
have to deal with the race conditions around setting up the listener etc.

=C2=A0The cleanest way to achieve what you want, without support = in the
service set itself, is to s6-rc change X first, then s6-rc change the
rest of your services. That way, you avoid breaking abstraction with
hacks of questionable aesthetic value.
I wholeheartedly agree to this in respect to init.
But due to my foolish attempt to keep the discussion more general,<= br> there is a confusion here. This is not about anything close to init,
But software that can not be part of the supervision tree:
software that's timing is controlled by the user and that is part of the interface.
To be more precise, I have the following setup:

- A longrun L setting up s6-svscan for a user-service-tree.

- A oneshot O setting up "s6-rc-init" and "s6-rc start default".

(two allow users to have services running on boot without login)

- A script run on login (bee it by PAM, .profile or another way),<= br> =C2=A0 that starts user services only useful after login, e.g. pipewire.

Now of course the script should only be ran after the the "s6-rc-init" oneshot.
The easy way out of this is to have all "interface-software",
e.g. agetty, greetd, sshd, etc. depend on a bundle containing L and O of each user.
But I would argue that this is not an elegant solution:

- A user might not have setup user-services,
=C2=A0 why should he have to wait for all the other user-service-tr= ees to be prepared?

- Even a user with user-services set up would have to wait
=C2=A0 for all the other user-trees to be prepared too, which might= take longer to start than his.

Now if the script had a nice way to wait for O of the user logging in
to be started, the login software would not need to wait for O itself and
the waiting time would only affect the user starting slow starting user-services.

I argue that this is more elegant.

A readiness api for oneshots would help with this.

Regards

Paul

--------------WXpH9znwxFYkRdMtuOPm0HG6-- --------------80V0vgNRjuRnqTfbGfVS61n0 Content-Type: application/pgp-keys; name="OpenPGP_0x71C7C85A2EA30F62.asc" Content-Disposition: attachment; filename="OpenPGP_0x71C7C85A2EA30F62.asc" Content-Description: OpenPGP public key Content-Transfer-Encoding: quoted-printable -----BEGIN PGP PUBLIC KEY BLOCK----- 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 8QRhtw=3D=3D =3Dhu4K -----END PGP PUBLIC KEY BLOCK----- --------------80V0vgNRjuRnqTfbGfVS61n0-- --------------7nVzSCd41VIFXaCUJUv2T2ln-- --------------mqHluUKg5YpiFf03Eh4DYCDm Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature.asc" -----BEGIN PGP SIGNATURE----- wsF5BAABCAAjFiEEklpwGqZx1YzBW1hqccfIWi6jD2IFAmdRThcFAwAAAAAACgkQccfIWi6jD2JL Dg/+KnPDoHUutKgmhsLTRGbpl2mNeXqnkJ6eZ68U7x5QRdd73TFDhyuC7rT/lWUZ3yKpXIZ+CKEE rSeqM3wb+Ipjk4R04O4jOPbQ5Z2DZJWi8SnVuY1KXYocG+e2LyIXVGmSDf5PNCpnO1jRmVVT/TAY /rx4x05DXhiBMFXU1SyOZ479YXtLP4h3bLrLM51X229HLP89HiWJoVpn8FAUbOVy3tbpcuNVH8uO tkuxKI9IDlpUoSnePGFFxhd4dg1Pr40lxswFnqaq1kvTgT8+ZnJj/w1JY7n5WDflgYJU+ld4K3ir xK+wBzyJdRGCu1NhKldOuZ8KcmoddcGkbxqI7UA3BwaFb5EHjkdBT1gr6W8CPNjrYC6lsIdGD0dg PyhSRoYi2X3xqug9kvhtEtEvYZr3p/MvwHKQ1wFx4t+I1581X0Uymz01abk4wA2OcctXNvf5QQBn 9hTGxob6owfKE8HFncVLxb/nfzyXcouXldBDritJuIPLCu9dk4Ba+UhiGyUel6xlQ4MSTT2nnzBp XMrwb3rCJYc/Es4mFXlm73uZlmjJof2lfNrTbAtzQicKEwoYQx+e8ZPjofyzYbQNA56cYxeyv84i RD7ywQTnZu3YLtKDg0F214ZRl/AHWyKcYsLdrpk38hO8/xUzFeZAa6PeEtKRmbjVsrCvUzvbGaav aA4= =qJ39 -----END PGP SIGNATURE----- --------------mqHluUKg5YpiFf03Eh4DYCDm--