Re: Update: s6 and utmps rpm package

2024-04-12 Thread qi wang

> 
> tipidee would be a good one. I plan to release tipidee-0.4.0.0 very soon
> and have an Alpine package for it early next week, if you want to have
> example scripts.

Sure, I can wait tipidee. 


>> So, is s6-rc a good candidate for rpm package? I am preparing to build s6-rc 
>> package in next few days.
> 
> Having a s6-rc package won't hurt. I'm not sure it would be useful,
> because there's no point in having an alternative service manager when you
> already have systemd, but it's not doing any harm.

I can package s6-rc. If we choose yum/dnf repo to release this pacakages, there 
is
no problem, If we choose to submit package to fedora, I guess they will refuse
it because service manager conflict.



Re: Update: s6 and utmps rpm package

2024-04-12 Thread Laurent Bercot

I would like to package an example service for s6. Could you suggest one?


 tipidee would be a good one. I plan to release tipidee-0.4.0.0 very 
soon

and have an Alpine package for it early next week, if you want to have
example scripts.



So, is s6-rc a good candidate for rpm package? I am preparing to build s6-rc 
package in next few days.


 Having a s6-rc package won't hurt. I'm not sure it would be useful,
because there's no point in having an alternative service manager when 
you

already have systemd, but it's not doing any harm.



Thanks for your suggestion, when I see the content of utmp-prepare and 
utmp-init,
I have the same question: will this conflict with the existing utmp/wtmp 
service?


 Yes, this will conflict. Anything that's in the utmps package is made 
to
work with a utmps installation, not with a regular glibc utmp 
installation.

On Fedora, utmp works with glibc as is, so you shouldn't add anything.

--
 Laurent



Re: Update: s6 and utmps rpm package

2024-04-12 Thread qi wang


> On Alpine, s6-ipcserver is in a separate package because Alpine is very
> careful about disk space, so much that they wanted me to make utmps
> available without the bulk of s6. (Yes, I find this pretty hypocritical
> given other decisions they make, but I was tired of arguing with them.)
> 
> On RedHat, you will not have the same concern: s6 is a drop in the water
> compared to the amount of disk space you need to boot anyway. So it does
> not make sense to separate s6 from s6-ipcserver, and I suggest making the
> utmps package depend on the s6 package anyway.
> 
Ok, I will merge s6-ipcserver into s6 package. 

> This is a separate question from running the [uwb]tmpd services under
> s6-svscan or systemd. Both approaches have advantages.
> 
> Running the utmps services under systemd:
> - they start earlier
> - you can make any systemd service depend on them
> 
> Running the utmps services under s6:
> - independence from systemd, can be portable anywhere
> - shows an example of how to run a service under s6
> 
I would like to package an example service for s6. Could you suggest one?
 
> 
>> 3. Run  btmpd, utmpd, wtmpd as s6-rc service. Add two more dependencies: s6 
>> and s6-rc.
> 
> That option, on the other hand, isn't a good one. There is an argument
> for running a s6 supervision tree under systemd, but there is little
> argument for running s6-rc and having a parallel service manager ecosystem
> - this probably adds more complexity than it's worth. (Unless it's for
> transitional purposes, but transitioning Fedora out of systemd isn't
> happening.)
So, is s6-rc a good candidate for rpm package? I am preparing to build s6-rc 
package
in next few days.

> ...
> 
> All of that being said, however, my opinion is that you *should not*
> package utmps for Fedora. utmp management is a distro-wide decision:
> the utmp database is unique and accessed by several components in the
> system. Fedora uses glibc, and glibc has its own utmp implementation,
> and all the existing Fedora packages expect utmp to be managed by the
> glibc implementation. Adding utmps, and packages that will use utmps,
> will introduce conflict, and break things. (The utmp databases won't
> have the correct permissions, glibc will access the files directly
> without the locking that utmps does and concurrent access will cause
> file corruption, etc.)
> 
> utmps isn't something that you can add like this and have some packages
> depend on it and others not. It has to be a concerted effort by the whole
> distribution, to decide if they switch to it or not. Alpine uses it
> because musl doesn't provide a real utmp implementation; the transition
> could be done incrementally without conflicting. glibc-based distros are
> another story, a transition would need to be done atomically. And unless
> you submit a proposal to Fedora and it is discussed and accepted by the
> Powers That Be, it's not happening.

Thanks for your suggestion, when I see the content of utmp-prepare and 
utmp-init,
I have the same question: will this conflict with the existing utmp/wtmp 
service? 
Thanks for your detail response.

Wang


Re: Update: s6 and utmps rpm package

2024-04-12 Thread qi wang
As Laurent said, utmps depends on s6-ipcserver on alpine. s6 depends on 
s6-ipcserver on alpine.
As s6 service utmps will depends on both s6-ipcserver and s6, if we follow the 
alpine way. 

> On Apr 12, 2024, at 18:51, Hoël Bézier  wrote:
> 
> Since s6-ipcserver is provided by s6, aren’t these two the same option, 
> regarding dependencies?



Re: Update: s6 and utmps rpm package

2024-04-12 Thread Laurent Bercot

1. Run btmpd, utmpd, wtmpd as s6 service. But this option will add s6 as extra 
dependency.

2. Run  btmpd, utmpd, wtmpd as systemd service. The dependency is minimal. Only
depends on s6-ipcserver.


 On Alpine, s6-ipcserver is in a separate package because Alpine is very
careful about disk space, so much that they wanted me to make utmps
available without the bulk of s6. (Yes, I find this pretty hypocritical
given other decisions they make, but I was tired of arguing with them.)

 On RedHat, you will not have the same concern: s6 is a drop in the 
water

compared to the amount of disk space you need to boot anyway. So it does
not make sense to separate s6 from s6-ipcserver, and I suggest making 
the

utmps package depend on the s6 package anyway.

 This is a separate question from running the [uwb]tmpd services under
s6-svscan or systemd. Both approaches have advantages.

 Running the utmps services under systemd:
- they start earlier
- you can make any systemd service depend on them

 Running the utmps services under s6:
- independence from systemd, can be portable anywhere
- shows an example of how to run a service under s6



3. Run  btmpd, utmpd, wtmpd as s6-rc service. Add two more dependencies: s6 and 
s6-rc.


 That option, on the other hand, isn't a good one. There is an argument
for running a s6 supervision tree under systemd, but there is little
argument for running s6-rc and having a parallel service manager 
ecosystem

- this probably adds more complexity than it's worth. (Unless it's for
transitional purposes, but transitioning Fedora out of systemd isn't
happening.)

...

 All of that being said, however, my opinion is that you *should not*
package utmps for Fedora. utmp management is a distro-wide decision:
the utmp database is unique and accessed by several components in the
system. Fedora uses glibc, and glibc has its own utmp implementation,
and all the existing Fedora packages expect utmp to be managed by the
glibc implementation. Adding utmps, and packages that will use utmps,
will introduce conflict, and break things. (The utmp databases won't
have the correct permissions, glibc will access the files directly
without the locking that utmps does and concurrent access will cause
file corruption, etc.)

 utmps isn't something that you can add like this and have some packages
depend on it and others not. It has to be a concerted effort by the 
whole

distribution, to decide if they switch to it or not. Alpine uses it
because musl doesn't provide a real utmp implementation; the transition
could be done incrementally without conflicting. glibc-based distros are
another story, a transition would need to be done atomically. And unless
you submit a proposal to Fedora and it is discussed and accepted by the
Powers That Be, it's not happening.

--
 Laurent



Re: Update: s6 and utmps rpm package

2024-04-12 Thread Hoël Bézier

Hi,

Am Fri, Apr 12, 2024 at 11:51:21AM +0800 schrieb ericwq...@qq.com:

1. Run btmpd, utmpd, wtmpd as s6 service. But this option will add s6 as extra 
dependency.

2. Run  btmpd, utmpd, wtmpd as systemd service. The dependency is minimal. Only
depends on s6-ipcserver.


Since s6-ipcserver is provided by s6, aren’t these two the same option, 
regarding dependencies?


signature.asc
Description: PGP signature