* [request for review] Port of s6 documentation to mdoc(7)
@ 2020-08-30 8:30 Alexis
2020-08-30 9:10 ` eric vidal
2020-08-30 10:01 ` Laurent Bercot
0 siblings, 2 replies; 30+ messages in thread
From: Alexis @ 2020-08-30 8:30 UTC (permalink / raw)
To: supervision
Hi all,
i recently started using 66 instead of runit on Void - thanks to
@Obarun, @mobinmob and @teldra for their work and help!
Consequently, and further to
https://www.mail-archive.com/supervision@list.skarnet.org/msg02278.html
:
> if people like man pages, they should have man pages, so it's
> been a
> few years that I have appealed to the community for this ... I
> want
> s6 to be accessible, but I figure that if people really wanted
> man
> pages, they'd write man pages
i've spent the last couple of weeks porting the s6 documentation
to mdoc(7) format:
https://github.com/flexibeast/s6-man-pages
since i really want man pages, and much prefer them to HTML for
system-level software. :-)
i don't consider the current state of the repo to be 'ready' in a
general sense, but i do feel it's mostly done, and certainly
amenable to review. i think this might be a good time to give
myself a short break from working on it, so i can then come back
and do a review pass with fresher eyes.
The porting has been done manually, with no automation involved;
this has allowed me to use semantic markup as much as possible,
which of course also facilitates searching for content with
`apropos(1)`.
Several things to note:
* i've changed page layouts to fit mdoc(7) conventions.
* During the porting process, i developed ideas about what might
be the best way to do things, so documentation ported earlier
might not follow the same style as the documentation ported more
recently. This is something i hope to check in my review pass.
* There are currently no cross-references to the execline suite or
skalibs. However, i'm willing to port that documentation as
well, together with the s6-rc documentation.
* Inline links to things such as djb's software are not yet
included. The `Lk` macro allows one to supply link text as well
as the URL, but the resulting output would require changes to
the text to make it read satisfactorily. Regardless, i can add
the relevant links in "SEE ALSO" sections.
* i've corrected a number of typos and grammatical issues, and
discovered what i believe might be couple of errors:
* s6-softlimit: The "Options" section refers to "-r allmem"
rather than "-r res".
* s6-ftrig-listen: The "Options" section says: "By default,
s6-ftrig-listen1 waits indefinitely for a matching series of
events." Given the context, i presume this should be
"s6-ftrig-listen"?
That said, although i've tried to be careful, i might have
introduced new errors, or made mistakes in my choice of macros, so
proofreading would be appreciated. :-)
Alexis.
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [request for review] Port of s6 documentation to mdoc(7) 2020-08-30 8:30 [request for review] Port of s6 documentation to mdoc(7) Alexis @ 2020-08-30 9:10 ` eric vidal 2020-08-31 6:56 ` Alexis 2020-08-30 10:01 ` Laurent Bercot 1 sibling, 1 reply; 30+ messages in thread From: eric vidal @ 2020-08-30 9:10 UTC (permalink / raw) To: supervision On Sun, 30 Aug 2020 18:30:16 +1000 Alexis <flexibeast@gmail.com> wrote: > > Hi all, > > i recently started using 66 instead of runit on Void - thanks to > @Obarun, @mobinmob and @teldra for their work and help! You're welcome. Thank at you to use 66. > Consequently, and further to > https://www.mail-archive.com/supervision@list.skarnet.org/msg02278.html > : > > > if people like man pages, they should have man pages, so it's > > been a > > few years that I have appealed to the community for this ... I > > want > > s6 to be accessible, but I figure that if people really wanted > > man > > pages, they'd write man pages > > i've spent the last couple of weeks porting the s6 documentation > to mdoc(7) format: > > https://github.com/flexibeast/s6-man-pages > > since i really want man pages, and much prefer them to HTML for > system-level software. :-) > > i don't consider the current state of the repo to be 'ready' in a > general sense, but i do feel it's mostly done, and certainly > amenable to review. i think this might be a good time to give > myself a short break from working on it, so i can then come back > and do a review pass with fresher eyes. > > The porting has been done manually, with no automation involved; > this has allowed me to use semantic markup as much as possible, > which of course also facilitates searching for content with > `apropos(1)`. > > Several things to note: > > * i've changed page layouts to fit mdoc(7) conventions. > > * During the porting process, i developed ideas about what might > be the best way to do things, so documentation ported earlier > might not follow the same style as the documentation ported more > recently. This is something i hope to check in my review pass. > > * There are currently no cross-references to the execline suite or > skalibs. However, i'm willing to port that documentation as > well, together with the s6-rc documentation. > > * Inline links to things such as djb's software are not yet > included. The `Lk` macro allows one to supply link text as well > as the URL, but the resulting output would require changes to > the text to make it read satisfactorily. Regardless, i can add > the relevant links in "SEE ALSO" sections. > > * i've corrected a number of typos and grammatical issues, and > discovered what i believe might be couple of errors: > > * s6-softlimit: The "Options" section refers to "-r allmem" > rather than "-r res". > > * s6-ftrig-listen: The "Options" section says: "By default, > s6-ftrig-listen1 waits indefinitely for a matching series of > events." Given the context, i presume this should be > "s6-ftrig-listen"? > > That said, although i've tried to be careful, i might have > introduced new errors, or made mistakes in my choice of macros, so > proofreading would be appreciated. :-) > > > Alexis. This is really a hard job to do. Many thanks to make it. A lot of user will appreciate it. Well, i'm not really good at English, so my help will not be usefull about grammatical issues. But i will do some publicizes about your work that be visible by user. -- eric vidal <eric@obarun.org> ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [request for review] Port of s6 documentation to mdoc(7) 2020-08-30 9:10 ` eric vidal @ 2020-08-31 6:56 ` Alexis 0 siblings, 0 replies; 30+ messages in thread From: Alexis @ 2020-08-31 6:56 UTC (permalink / raw) To: supervision eric vidal <eric@obarun.org> writes: > You're welcome. Thank at you to use 66. i enjoy using it - trees are excellent. :-) > This is really a hard job to do. Many thanks to make it. You're welcome! > But i will do some publicizes about your work that be visible by > user. Thank you, much appreciated. :-) Alexis. ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [request for review] Port of s6 documentation to mdoc(7) 2020-08-30 8:30 [request for review] Port of s6 documentation to mdoc(7) Alexis 2020-08-30 9:10 ` eric vidal @ 2020-08-30 10:01 ` Laurent Bercot 2020-08-31 7:01 ` Alexis ` (2 more replies) 1 sibling, 3 replies; 30+ messages in thread From: Laurent Bercot @ 2020-08-30 10:01 UTC (permalink / raw) To: supervision >i've spent the last couple of weeks porting the s6 documentation to mdoc(7) format: > >https://github.com/flexibeast/s6-man-pages Excellent, thank you. There is a lot of talk (especially on the #s6 IRC channel, but occasionally on the mailing-list too) about people wanting to have s6 man pages, but very rarely people wanting to actually do the *work*. This is clearly the most advanced conversion ever performed, well done! Would you be willing to add a small Makefile that by default invokes the mandoc commands to produce the formatted man pages, and with an install target that installs the source to $(MANDIR), by default /usr/share/man ? I would then be able to review them. Thanks :) (AS you're aware if you've been here a while, I don't read mdoc source, and I will. not. learn. it.) Related question: would you be willing to maintain that repository for when I make changes to the s6 documentation? Changes should be few and far between, except for fixes and new feature additions (which I don't think there will be much of). If so, I would gladly add a link to that repository in the official s6 home page, for people who, like you, prefer man pages. >* There are currently no cross-references to the execline suite or skalibs. However, i'm willing to port that documentation as well, together with the s6-rc documentation. That would be totally awesome. However, I'd hold off on s6-rc for now, because I'm in the process of exploring a possible redesign (for better integration of features that distributions want before packaging and using s6-rc), so it's not improbable that all the documentation gets rewritten in a not-too-distant future. >* Inline links to things such as djb's software are not yet included. The `Lk` macro allows one to supply link text as well as the URL, but the resulting output would require changes to the text to make it read satisfactorily. Regardless, i can add the relevant links in "SEE ALSO" sections. What kind of changes to the text? if it's just the text of the link, such as changing the name of a package to the full URL of the package, then please go ahead and do what is needed. But relevant links in SEE ALSO works too. >* i've corrected a number of typos and grammatical issues, and discovered what i believe might be couple of errors: If there are other typos or grammatical errors you've noticed, please send them to me (maybe privately in order not to spam the list) and I'll fix them. If the fixes need more explanation and interactive dialogue, hop on #s6 some time during the week to discuss them. :) > * s6-softlimit: The "Options" section refers to "-r allmem" rather than "-r res". > > * s6-ftrig-listen: The "Options" section says: "By default, s6-ftrig-listen1 waits indefinitely for a matching series of events." Given the context, i presume this should be "s6-ftrig-listen"? Fixed in the latest git head, thanks! -- Laurent ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [request for review] Port of s6 documentation to mdoc(7) 2020-08-30 10:01 ` Laurent Bercot @ 2020-08-31 7:01 ` Alexis 2020-08-31 11:04 ` Laurent Bercot 2020-08-31 14:29 ` Guillermo 2020-08-31 16:08 ` [request for review] Port of s6 documentation to mdoc(7) J. Lewis Muir 2 siblings, 1 reply; 30+ messages in thread From: Alexis @ 2020-08-31 7:01 UTC (permalink / raw) To: supervision Laurent Bercot <ska-supervision@skarnet.org> writes: > This is clearly the most advanced conversion ever > performed, well done! Thank you! > Would you be willing to add a small Makefile that by default > invokes > the mandoc commands to produce the formatted man pages, and with > an > install target that installs the source to $(MANDIR), by default > /usr/share/man ? I would then be able to review them. Thanks :) Certainly. i'll do that once i've completed a linting pass. > (AS you're aware if you've been here a while, I don't read mdoc > source, > and I will. not. learn. it.) Heh, fair enough. :-) > Would you be willing to maintain that repository > for when I make changes to the s6 documentation? Changes should > be few > and far between, except for fixes and new feature additions > (which I > don't think there will be much of). If so, I would gladly add a > link to > that repository in the official s6 home page, for people who, > like you, > prefer man pages. Sure, i'd be happy to reflect any changes. > I'd hold off on s6-rc for now, > because I'm in the process of exploring a possible redesign (for > better > integration of features that distributions want before packaging > and > using s6-rc), so it's not improbable that all the documentation > gets > rewritten in a not-too-distant future. Ah, okay - thanks for the heads-up. > What kind of changes to the text? if it's just the text of the > link, > such as changing the name of a package to the full URL of the > package, > then please go ahead and do what is needed. But relevant links > in > SEE ALSO works too. Now that i think about it some more, maybe i could simply put the link in parentheses? For example, with: a CDB file cdbfile then exits 0. where "CDB file" is a link to the relevant Wikipedia page, the mdoc would produce output like: a CDB file (http://en.wikipedia.org/wiki/Cdb_(software)) cdbfile then exits 0. Similarly, lines with a TAI64N timestamp and a space. would become: lines with a TAI64N timestamp (http://skarnet.org/software/skalibs/libstddjb/tai.html#timestamp) and a space. At any rate, i think it might be a good idea for such links to be mentioned in "SEE ALSO" regardless. > If there are other typos or grammatical errors you've noticed, > please > send them to me (maybe privately in order not to spam the list) > and I'll > fix them. If the fixes need more explanation and interactive > dialogue, > hop on #s6 some time during the week to discuss them. :) *nod* i'll try to put together an email with the relevant information, and start hanging out on #s6. :-) i'm usually on Freenode, in #voidlinux in particular, but not necessarily active at the same time as others - i'm in Melbourne.au. > Fixed in the latest git head, thanks! :-D Alexis. ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [request for review] Port of s6 documentation to mdoc(7) 2020-08-31 7:01 ` Alexis @ 2020-08-31 11:04 ` Laurent Bercot 0 siblings, 0 replies; 30+ messages in thread From: Laurent Bercot @ 2020-08-31 11:04 UTC (permalink / raw) To: supervision >Certainly. i'll do that once i've completed a linting pass. Excellent. >Sure, i'd be happy to reflect any changes. And the people rejoiced and celebrated, because they would soon, finally, have s6 man pages. >Ah, okay - thanks for the heads-up. Also a heads-up for people who are currently using s6-rc, including in elaborate distribution-integrated setups: don't worry, no matter how things shape up, the current version of s6-rc is going to be supported for a looooong time. >Now that i think about it some more, maybe i could simply put the link in parentheses? For example, with: > > a CDB file cdbfile then exits 0. > >where "CDB file" is a link to the relevant Wikipedia page, the mdoc would produce output like: > > a CDB file (http://en.wikipedia.org/wiki/Cdb_(software)) cdbfile then exits 0. I think that solely depends on the number of such links. If there are just a few, it's fine. If there are a lot of links in a page, it would make reading pretty unwieldy. Because I think there are a few pages with too many links, maybe it would be best, for consistency, to just use footnotes? < a CDB file[1] cdbfile then exits 0. < < (...) < < SEE ALSO < < [1]: http://en.wikipedia.org/wiki/Cdb_(software) Maybe mdoc even has a mechanism for footnotes? I don't know. >*nod* i'll try to put together an email with the relevant information, and start hanging out on #s6. :-) i'm usually on Freenode, in #voidlinux in particular, but not necessarily active at the same time as others - i'm in Melbourne.au. We don't care much about timezones. You can find people to interact with at almost any time of the day, and if not, we generally answer as soon as we're online. ;) -- Laurent ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [request for review] Port of s6 documentation to mdoc(7) 2020-08-30 10:01 ` Laurent Bercot 2020-08-31 7:01 ` Alexis @ 2020-08-31 14:29 ` Guillermo 2020-09-01 10:00 ` possible s6-rc redesign (was: [request for review] Port of s6 documentation to mdoc(7)) Laurent Bercot 2020-08-31 16:08 ` [request for review] Port of s6 documentation to mdoc(7) J. Lewis Muir 2 siblings, 1 reply; 30+ messages in thread From: Guillermo @ 2020-08-31 14:29 UTC (permalink / raw) To: Supervision Hello, El dom., 30 ago. 2020 a las 7:01, Laurent Bercot escribió: > > That would be totally awesome. However, I'd hold off on s6-rc for now, > because I'm in the process of exploring a possible redesign (for better > integration of features that distributions want before packaging and > using s6-rc), so it's not improbable that all the documentation gets > rewritten in a not-too-distant future. I have only seen one new feature committed to the Git repository so far. Is it too early to ask what are you planning to change? Thanks, G. ^ permalink raw reply [flat|nested] 30+ messages in thread
* possible s6-rc redesign (was: [request for review] Port of s6 documentation to mdoc(7)) 2020-08-31 14:29 ` Guillermo @ 2020-09-01 10:00 ` Laurent Bercot 2020-09-01 19:24 ` possible s6-rc redesign mobinmob 2020-09-01 23:14 ` possible s6-rc redesign (was: [request for review] Port of s6 documentation to mdoc(7)) Steve Litt 0 siblings, 2 replies; 30+ messages in thread From: Laurent Bercot @ 2020-09-01 10:00 UTC (permalink / raw) To: Supervision >I have only seen one new feature committed to the Git repository so >far. Is it too early to ask what are you planning to change? The new feature is orthogonal - or, rather, it will be used if I end up *not* redesigning s6-rc. The trend with distributions is to make service managers reactive to external events: typically NetworkManager and systemd-networkd because the network is the primary source of dynamic events, but even local events such as the ones produced by a device manager, or basically anything sent by the kernel on the netlink, are getting integrated into that model. s6-rc is, by essence, static: the set of services is known in advance, and there is no reacting to external events - there is only the admin starting and stopping services. This has advantages - a compile-time analysis is possible, with early cycle detection, etc.; but the model doesn't integrate well with modern distro needs. So, I've been thinking about ways to add dynamic event management to s6-rc; and I've found two options. Option 1 is to add dynamic event management *on top of* s6-rc. That is my natural instinct; that is what I've always done with software, that's what keeps the various parts of my software as clean and simple as possible. Here, it would mean: - having a classic s6-rc database for "static" services - having an additional "dynamic" database for services that can be triggered by external events. (The database is static in essence, but I call it "dynamic" because it would host the services that can be started dynamically.) - having a s6-rc-eventd daemon listening to events and executing s6-rc commands on the dynamic database depending on the events it receives. Paired with a s6-rc-event program that sends events to s6-rc-eventd, meant to be invoked in situations such as udevd/mdevd rules, a netlink listener, etc. This model works in my head, the s6-rc-event[d] programs would be quite simple to write, it would solve the problem in a modular way just like the skarnet.org usual, so it seems like a no-brainer. Except for one thing: I don't think anybody would use this. Only me, you, and the other 6 hardcore people in the world who actually like this kind of design. If there's one thing that has been made painfully obvious to me these past few years, it is that most people, and especially most *distro* people - which are the ones I would like to reach -, perceive the s6 stack as very complex. They're intimidated by it; they find the abundance of moving parts off-putting and difficult to get into. With very few exceptions, the people who actually take the plunge and make the time and energy investment necessary to understand the model, what the various parts do and how they fit together, those people all love it, and are very enthusiastic about it, and they're what keeps me going. But the initial barrier of potential, the ultra-steep learning curve, is indisputably the limiting factor in the spread of the s6 ecosystem. s6 as a supervision suite? okay, people will use it; but it's already perceived as a bit complex, because there are a lot of binaries. It's on the high end of the acceptable difficulty range. s6 as an init system? "what is this s6-linux-init thing? why do I need this? runit is simpler, I'll stick to runit." Even though runit has problems, has less functionality, and is barely maintained. There are, for instance, several people in Void Linux who are interested in switching to s6, but despite s6 being an almost drop-in replacement for runit, the switch has not been made, because it requires learning s6 and s6-linux-init, and most Void people do not feel the effort is worth it. s6-rc? "waah I don't like the source directory format, I want text files, and why is it so different from 'service foo start'? And why doesn't it come with integrated policy like OpenRC or systemd?" People understand the benefit in separating mechanism from policy, in theory, but in practice nobody wants to write policy. (Can't blame them: I find it super boring, too.) Having the tool is not enough; it needs to be gift-wrapped as well, it needs to be nice to use. If I add a s6-rc-event family of binaries to s6-rc, the fact that it is yet another layer of functionality, that you now need *two* databases, etc., will make a whole additional category of people just give up. The outreach will be, mark my words, *zero*. If not negative. The fact is that a full-featured init system *is* a complex beast, and the s6 stack does nothing more than is strictly needed, but it exposes all the tools, all the entrails, all the workings of the system, and that is a lot for non-specialists to handle. Integrated init systems, such as systemd, are significantly *more* complex than the s6 stack, but they do a better job of *hiding* the complexity, and presenting a relatively simple interface. That is why, despite being technically inferior (on numerous metrics: bugs, length of code paths, resource consumption, actual modularity, flexibility, portability, etc.), they are more easily accepted: they are just less intimidating. As a friend told me, and it was an enlightening moment: you are keeping the individual parts simple, but in doing so, you are moving the complexity to the *interactions* between the parts, and are burdening the user with that complexity. You are keeping the code simple, which has undeniable maintainability benefits, but you are making the administration more difficult, and the trade-off is not good enough for a lot of users. For a while, my answer to that has been: this is all an interface problem. I need to work on s6-frontend, in order to provide a unified, user-friendly interface; then, people who want simplicity can use the high-level interface, and advanced users can lift the hood and manually tweak the engine. I still believe that is a good model and a good idea. However, having worked for a couple months on a user-friendly interface for service management with s6-rc that could be a prototype for a part of s6-frontend, and having started to think about details of s6-frontend, I've come to realize that shrinkwrapping the s6 ecosystem as it is today *will already be pretty hard*, and a lot, and I mean a lot, of work is going to go into that interface. And adding more moving parts in the engine will require even more work for the interface to control those moving parts. We're reaching levels of kitchensinkery I'm not comfortable with. In the end, what risks happening? A neat, slick, thrifty engine, with a lot of knobs, and a big fat complex interface on top of it - and unless you're a specialist, you *need* the interface, because there are so many knobs that you otherwise need a degree to understand what everything does. And what good is it to have such a satisfying engine if you can't use it without a thick layer of bloat? So, I think my software design needs to be rebalanced, and complexity needs to be spread more evenly. I'm certainly not going to write monoprocess behemoths, that's not what I do, but I need to stop yolo adding small binaries to address some functionality and say "there you go, here's the mechanism, how to use it is left as an exercise to the reader." Which is exactly what would happen with s6-rc-eventd. So, option 2 is to take a step back and say: a service manager is one (complex) functionality, and if I want a full-fledged service manager, I need to design it as such from the beginning, instead of having a static service manager with a program to handle dynamic stuff added next to it as an afterthought and the complexity needing to be managed by users or by s6-frontend. And that means a s6-rc redesign. I haven't made a decision yet: I'm in the process of *exploring* what a s6-rc redesign would look like. But so far, this is what I think a full service manager should do: - Be similar in concept to Upstart. The Upstart implementation is bad, but the fundational ideas are actually quite good. * That means: event-based, transitions are triggered by events, and events can have several sources: a transition finishing, but also external events such as ones coming from a network manager, or internal events coming from the daemon itself (this is necessary for Upstart because it's an init system, I don't think it is necessary for a pure service manager). - Perform as much static analysis and upfront checking as possible, just like the current s6-rc. I would like to keep the same level of guarantees for a fully static set of services, and ideally be able to offer some guarantees as well for dynamic ones, although it's obviously impossible to do a full analysis for them. - Support disjunctions in service trigger conditions! If I'm going to rewrite the engine, might as well allow for alternatives without forcing the user to recompile a database. - Support instances. After a lot of brainstorming and several attempts, I've been unable to find a good way to add instantiation to the current s6-rc model. If we want instantiation, it definitely needs to be a part of service manager design from the start, so this would be the opportunity. So here you are. In the weeks to come, I'll keep thinking about the details of option 2, and build an outline of the various necessary parts. And eventually, if I think I can write this, with all the functionality, while still sticking to my standards of code simplicity, then it's what I'll do. If not, and in particular, if I can't get all the static analysis guarantees that I want, then I'll just go with option 1, which will do a decent job for a lot less work but will definitely not help the perception of the s6 ecosystem by normal people. -- Laurent ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: possible s6-rc redesign 2020-09-01 10:00 ` possible s6-rc redesign (was: [request for review] Port of s6 documentation to mdoc(7)) Laurent Bercot @ 2020-09-01 19:24 ` mobinmob 2020-09-01 22:16 ` Dudemanguy 2020-09-01 22:20 ` Laurent Bercot 2020-09-01 23:14 ` possible s6-rc redesign (was: [request for review] Port of s6 documentation to mdoc(7)) Steve Litt 1 sibling, 2 replies; 30+ messages in thread From: mobinmob @ 2020-09-01 19:24 UTC (permalink / raw) To: supervision Thank you for taking the time to present the options and the technical arguments for each of them. I cannot offer a comment on the best way to proceed on technical grounds, but I can offer my two cents as someone who tries to bring an s6-rc based solution (66) to a distribution. 1. There is one **huge** disadvantage for the second option. It is not a technical one, so it may carry little weight on your final decision. There already different implementations of init systems based on s6/s6-rc, some of them successfully used on distributions. They will almost certainly have to be abandoned or rewritten to function with the redesigned suite. The first option will allow these implementations to augment what they offer with minimal or no disruption for their users and developers. 2. Which distributions or groups of distributions will find the redesign appealing, so that they will adopt it ? IMHO distributions that use systemd are not likely to change in the foreseeable future, so that leaves the distributions that use something else. Some of them already have s6-based solutions (official or not), so adopting the redesigned will be akin to adding another init for them. Distributions that use neither s6/s6-rc nor systemd will be a likely target but they have to be persuaded to use a -almost certainly- more complex solution than what they have and that is an uphill battle. 3. Yes, the compiled db of services or the many files in the servicedir can discourage people to use s6-rc. But ANY new format will face similar criticism and some of the problems can be alleviated with the proper frontend. I use 66. Ι never touch servicedirs - it uses ini-based "frontend service files"- and I have dabbled with the compiled once, indirectly. 4. On the issue of mechanisms vs policy I fully agree that people want a turnkey solution. However I do not think that is something that should be done in a cetralised manner. There already at least 3 different working sets of services created for s6-rc (artix, slew, 66) and someone can inspect, use and modify them to fit their needs or policies. ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: possible s6-rc redesign 2020-09-01 19:24 ` possible s6-rc redesign mobinmob @ 2020-09-01 22:16 ` Dudemanguy 2020-09-01 22:20 ` Laurent Bercot 1 sibling, 0 replies; 30+ messages in thread From: Dudemanguy @ 2020-09-01 22:16 UTC (permalink / raw) To: supervision On 9/1/20 2:24 PM, mobinmob wrote: > 2. Which distributions or groups of distributions will find the redesign > appealing, so that they will adopt it ? I can't speak for everyone of course, but at least in the perspective of Artix, this potential redesign idea could be very appealing. If s6-rc hypothetically had a more event-based approach, there are definitely a lot of potential benefits users could see in terms of managing services. Artix simply uses s6-rc directly so a migration to a new s6-rc probably wouldn't be as painful as it may be for other workflows. So at least for me, it's an interesting proposition and not a scary one. ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: possible s6-rc redesign 2020-09-01 19:24 ` possible s6-rc redesign mobinmob 2020-09-01 22:16 ` Dudemanguy @ 2020-09-01 22:20 ` Laurent Bercot 2020-09-02 9:41 ` mobinmob 1 sibling, 1 reply; 30+ messages in thread From: Laurent Bercot @ 2020-09-01 22:20 UTC (permalink / raw) To: supervision >1. There is one **huge** disadvantage for the second option. It is not a >technical one, so it may carry little weight on your final decision. >There already different implementations of init systems based on s6/s6-rc, >some of them successfully used on distributions. They will almost certainly >have to be abandoned or rewritten to function with the redesigned suite. >The first option will allow these implementations to augment what they offer >with minimal or no disruption for their users and developers. You may have missed the part where I'm saying that the current version of s6-rc will still be supported for a *long time*. I would also try, obviously, to make the conversion to the new format as painless as possible; ideally (but I don't know yet whether it's an attainable goal), the source directories would have the exact same format as long as only static services are defined - so tools using s6-rc-0.x would still work with basically no changes. >2. Which distributions or groups of distributions will find the redesign appealing, so that they will adopt it ? >IMHO distributions that use systemd are not likely to change in the foreseeable future, And they definitely won't, if nothing challenges systemd. But providing the same level of functionality as systemd (as far as the init system is concerned, I'm not talking about all the tendrils it sends into various parts of running a Linux machine) with a better design, that is not completely alien to what those distros are used to, is the only way to - someday - have a chance at challenging systemd. > so that leaves the distributions that use something else. Some of them >already have s6-based solutions (official or not), so adopting the redesigned >will be akin to adding another init for them. No, absolutely not. The idea is to have something similar to s6-rc, but with more functionality integrated in it. It would not be a different init by any stretch of the imagination. >3. Yes, the compiled db of services or the many files in the servicedir can >discourage people to use s6-rc. But ANY new format will face similar >criticism and some of the problems can be alleviated with the proper >frontend. I use 66. Ι never touch servicedirs - it uses ini-based "frontend >service files"- and I have dabbled with the compiled once, indirectly. I agree with that - except that the compiled db is actually a very small hurdle, that goes away once you explain that OpenRC and systemd also use a compiled db except that it's hidden and everything is done dynamically, and s6-rc only makes it cleaner and more upfront. Yes, the solution is a user-friendly interface, but that's not relevant to what I'm talking about. What I'm saying is that distributions, including ones that currently use s6/s6-rc under 66 or any other interface, *will* need dynamic events integration to the service manager at some point, and the question is, how to add the functionality to s6-rc. I think Option 2 is *more* likely to get adopted by distributions overall. Distros that have already drunk the s6-rc kool-aid will be fine with either option 1 or option 2 (see above); normie distros will very probably be repulsed by option 1. >4. On the issue of mechanisms vs policy I fully agree that people want >a turnkey solution. However I do not think that is something that should >be done in a cetralised manner. There already at least 3 different working >sets of services created for s6-rc (artix, slew, 66) and someone can inspect, >use and modify them to fit their needs or policies. Yes, people can pick and choose what they want, and as it is now, things are working for power users. That is still niche though, and in order to reach more people, a wide array of distributions is the way to go. I'm very happy that distributions such as Obarun and Artix have done the effort of actually porting services to a new format, be it 66 or raw s6-rc; but it is not something that can be expected from most distributions, especially the big ones, which I *will* be aiming for at some point. I don't like the idea of a software author providing policy, any more than you do, but it is what worked for systemd and OpenRC, and in case you haven't noticed, I'm trying to be very pragmatic here, and to make the necessary sacrifices of principles in order to gain wider adoption. -- Laurent ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: possible s6-rc redesign 2020-09-01 22:20 ` Laurent Bercot @ 2020-09-02 9:41 ` mobinmob 2020-09-02 12:14 ` Laurent Bercot 0 siblings, 1 reply; 30+ messages in thread From: mobinmob @ 2020-09-02 9:41 UTC (permalink / raw) To: supervision On 2/9/20 1:20 π.μ., Laurent Bercot wrote: >> 1. There is one **huge** disadvantage for the second option. It is not a >> technical one, so it may carry little weight on your final decision. >> There already different implementations of init systems based on >> s6/s6-rc, >> some of them successfully used on distributions. They will almost >> certainly >> have to be abandoned or rewritten to function with the redesigned suite. >> The first option will allow these implementations to augment what >> they offer >> with minimal or no disruption for their users and developers. > > You may have missed the part where I'm saying that the current version > of s6-rc will still be supported for a *long time*. I would also try, > obviously, to make the conversion to the new format as painless as > possible; ideally (but I don't know yet whether it's an attainable goal), > the source directories would have the exact same format as long as only > static services are defined - so tools using s6-rc-0.x would still work > with basically no changes. > If long term support is guaranteed and a smooth transition path is provided then any concern I have suddenly dissipates :p >> 2. Which distributions or groups of distributions will find the >> redesign appealing, so that they will adopt it ? >> IMHO distributions that use systemd are not likely to change in the >> foreseeable future, > > And they definitely won't, if nothing challenges systemd. But > providing the same level of functionality as systemd (as far as the > init system is concerned, I'm not talking about all the tendrils it sends > into various parts of running a Linux machine) with a better design, that > is not completely alien to what those distros are used to, is the only > way to - someday - have a chance at challenging systemd. > There are two issues here... 1. In order to provide the -sane- functionality of systemd, a system needs to use linux-only interfaces. I am absolutely not saying that cgroups, namespaces etc should be tightly integrated to a service manager/init system. Most of the work can be done on dedicated programs but they are needed if the goal is feature-parity... 2. Distributions that use systemd are slowly depending more and more on these tendrils (great analogy btw :P). I do not think they will make the effort to get rid of them or provide alternate mechanisms to facilitate inclusion of a different init system no matter how much better, cleaner and well- designed it is. And s6-rc is all three of them IMHO. The only way to create pressure is a successful set of distributions that use other solutions... > I agree with that - except that the compiled db is actually a very > small hurdle, that goes away once you explain that OpenRC and systemd > also use a compiled db except that it's hidden and everything is done > dynamically, and s6-rc only makes it cleaner and more upfront. Well said :) > Yes, the solution is a user-friendly interface, but that's not > relevant to what I'm talking about. What I'm saying is that > distributions, > including ones that currently use s6/s6-rc under 66 or any other > interface, *will* need dynamic events integration to the service manager > at some point, and the question is, how to add the functionality to > s6-rc. I think Option 2 is *more* likely to get adopted by > distributions overall. Distros that have already drunk the s6-rc > kool-aid will be fine with either option 1 or option 2 (see above); > normie distros will very probably be repulsed by option 1. > Yes, dynamic events integration is absolutely needed, no argument there. If that can be done with minimal disruption on the user/integrator side I have no problems with either option. > >> 4. On the issue of mechanisms vs policy I fully agree that people want >> a turnkey solution. However I do not think that is something that should >> be done in a cetralised manner. There already at least 3 different >> working >> sets of services created for s6-rc (artix, slew, 66) and someone can >> inspect, >> use and modify them to fit their needs or policies. > > Yes, people can pick and choose what they want, and as it is now, things > are working for power users. > That is still niche though, and in order to reach more people, a wide > array of distributions is the way to go. > I'm very happy that distributions such as Obarun and Artix have done > the effort of actually porting services to a new format, be it 66 > or raw s6-rc; but it is not something that can be expected from most > distributions, especially the big ones, which I *will* be aiming for at > some point. I don't like the idea of a software author providing policy, > any more than you do, but it is what worked for systemd and OpenRC, and > in case you haven't noticed, I'm trying to be very pragmatic here, and > to make the necessary sacrifices of principles in order to gain wider > adoption. > > -- > Laurent > I am not saying that policy should not be provided at all. I am saying that they are advantages if it is provided outside of the main project and downstreams tailor it to their specs. Voidlinux runit configuration is influenced by ignite and artix runit is influenced by voidlinux. Both voidlinux and artix have pretty different policies expressed in the relevant scripts. They also share a lot of scripts. Building 66 frontend service files for voidlinux (unofficially) I have checked obarun 66 frontends, artix s6-rc services and voidlinux runit scripts. but the minimal policies I strive to implement are those of voidlinux. My point is... runit has found adoption in the post-systemd era despite having obvious issues. It was not a comprehensive upstream policy that helped it. I think it is a better model for adoption that that of openRC or systemd. ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: possible s6-rc redesign 2020-09-02 9:41 ` mobinmob @ 2020-09-02 12:14 ` Laurent Bercot 0 siblings, 0 replies; 30+ messages in thread From: Laurent Bercot @ 2020-09-02 12:14 UTC (permalink / raw) To: supervision >1. In order to provide the -sane- functionality of systemd, a system >needs to use linux-only interfaces. I am absolutely not saying that cgroups, >namespaces etc should be tightly integrated to a service manager/init system. >Most of the work can be done on dedicated programs but they are needed >if the goal is feature-parity... Yes, that is very true, and a concern I've increasingly had: OSes are making *zero* coordination efforts for their interfaces, and software is increasingly relying on OS-specific interfaces. So it's becoming more and more difficult to write for Unix at large, and market fragmentation is becoming more obvious by the day. For the various engines of an init system, though, I'm not too worried. - The early boot is inherently not portable (s6-*linux*-init is called that way for a reason), but it's not a big or complex piece of code, and it's easy to adapt it to another OS as soon as one has a working knowledge of the details of init mechanisms on those OSes. - The supervision engine is portable, with a caveat. - The service manager is portable, even with dynamic event integration. What is *not* portable is the various listeners that produce events, but hooking a s6-rc-event call to them should not be difficult. The caveat for the supervision engine is, as you mentioned, cgroups and namespace management, for the sole reason that the Linux way of starting a process in a new namespace is contrary to the venerable Unix pattern of changing your own process state then exec'ing: in some cases you need involvement from the parent in changing the child's state. There is a patch that has been submitted to this list that does exactly that: tell s6-supervise to start the service in a new namespace. I have not applied this patch because I didn't want to introduce system- dependent features into s6, but with the way OSes are diverging, I might soon have to bite the bullet and change my stance on this. But apart from that misdesign from the Linux kernel, most OS-specific stuff can actually be done from inside services, in run scripts for instance, so engines can be kept portable. If OS-specific tools are needed to easily write service scripts, then those tools can be provided as a separate, OS-specific package - like an extension. In other words: policy is definitely not portable and needs a lot of extensions, but mechanism generally is, and I'm always starting with mechanism - I'll address Linux policy later. >2. Distributions that use systemd are slowly depending more and more on >these tendrils (great analogy btw :P). I do not think they will make the effort >to get rid of them or provide alternate mechanisms to facilitate inclusion >of a different init system no matter how much better, cleaner and well- >designed it is. And s6-rc is all three of them IMHO. The only way to create >pressure is a successful set of distributions that use other solutions... Yes, but do not underestimate the general efforts that are being done to have functionality outside of systemd. We're not the only bastion of opposition here :) Alternate mechanisms do exist for most of what systemd does; distributions mostly migrate to the systemd way of doing things because it's more *convenient* to get the functionality from a single source than it is to piece it together from various bits. systemd is thriving on distribution laziness. But a distribution that is committed to not using systemd is (still) very much able to offer a lot of functionality, it just requires somewhat more effort. I don't expect to make it into Ubuntu or Red Hat right away. But if a lot of other distros out there are running a credible alternative with equivalent functionality, then at least users will have choice, and it will be impossible for systemd advocates to pretend that their chosen init system is inevitable. (insert Avengers: Endgame meme here) >I am not saying that policy should not be provided at all. I am saying that they are > advantages if it is provided outside of the main project and downstreams tailor it >to their specs. Possibly; that is honestly a packaging problem. It's a balance to find between flexibility and convenience. systemd and OpenRC have played the convenience card to the max and it has worked well for them; s6 has always played the flexibility card instead, and experts love that, but most people don't, especially when *no* policy is provided. :) If a package provides a set of init scripts, distributions will tailor it anyway. The RedHat /lib/systemd is not exactly the same as the Ubuntu one. The Alpine OpenRC scripts are not exactly the same as the Gentoo ones. It does not really matter where the policy is provided, but distros have made it very clear to me that they prefer having a working set to start with and to tailor to their needs, rather than having nothing and needing to come up with everything themselves. If it's better for s6-frontend to be pure mechanism with a s6-frontend-policy package next to it, why not; I don't think anybody really cares as long as this package exists. -- Laurent ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: possible s6-rc redesign (was: [request for review] Port of s6 documentation to mdoc(7)) 2020-09-01 10:00 ` possible s6-rc redesign (was: [request for review] Port of s6 documentation to mdoc(7)) Laurent Bercot 2020-09-01 19:24 ` possible s6-rc redesign mobinmob @ 2020-09-01 23:14 ` Steve Litt 1 sibling, 0 replies; 30+ messages in thread From: Steve Litt @ 2020-09-01 23:14 UTC (permalink / raw) To: supervision On Tue, 01 Sep 2020 10:00:22 +0000 "Laurent Bercot" <ska-supervision@skarnet.org> wrote: > s6 as a supervision suite? okay, people will use it; but it's > already perceived as a bit complex, because there are a lot of > binaries. It's on the high end of the acceptable difficulty range. I've only used s6 as a supervisor a few times, but my memory tells me it had pretty much the same binaries (named differently) as runit, and was no more complicated than runit. I use runit every day. > s6 as an init system? "what is this s6-linux-init thing? why do I > need this? runit is simpler, I'll stick to runit." Even though runit > has problems, has less functionality, and is barely maintained. There > are, for instance, several people in Void Linux who are interested in > switching to s6, but despite s6 being an almost drop-in replacement > for runit, the switch has not been made, because it requires learning > s6 and s6-linux-init, and most Void people do not feel the effort is > worth it. Perhaps a baby step would be to use sysvinit ONLY to act as PID1, which if I understand things sysvinit is pretty good at, and have /etc/inittab or whatever it's called simply respawn the s6 supervisor. Given that most current distros that aren't blissfully wed to systemd have an option for sysvinit, this would work. I think the same thing could be done with OpenRC, but it would be a little more complicated. Obviously, there would need to be something that temporarily shuts off sysvinit's daemon runner so that they can install the whole sysvinit package and not have double-daemons. I recommend a kludge for that: Do the kludge when installing s6 supervisor, undo the kludge when uninstalling s6 supervisor. I'm aware that the preceding baby step doesn't get us to the point of s6 as PID1, but if it gets us to the point where lots of people are using the supervisor and those people get used to it, they'll demand s6 as PID1. I think I'm going to, very slowly, little by little, move my daemons on my Void Linux Daily Driver Desktop (DDD) to s6. As I move each, I'll put a down file in the runit directory (or just unlink it). I'll report back to you in a month. > > s6-rc? "waah I don't like the source directory format, I want text > files, and why is it so different from 'service foo start'? And why > doesn't it come with integrated policy like OpenRC or systemd?" What is "integrated policy?" [snip] > > So, I think my software design needs to be rebalanced, and > complexity needs to be spread more evenly. I'm certainly not going to > write monoprocess behemoths, that's not what I do, but I need to stop > yolo adding small binaries to address some functionality and say > "there you go, here's the mechanism, how to use it is left as an > exercise to the reader." Which is exactly what would happen with > s6-rc-eventd. > > So, option 2 is to take a step back and say: a service manager is > one (complex) functionality, and if I want a full-fledged service > manager, I need to design it as such from the beginning, instead of > having a static service manager with a program to handle dynamic > stuff added next to it as an afterthought and the complexity needing > to be managed by users or by s6-frontend. > And that means a s6-rc redesign. > > I haven't made a decision yet: I'm in the process of *exploring* > what a s6-rc redesign would look like. But so far, this is what I > think a full service manager should do: > > - Be similar in concept to Upstart. The Upstart implementation is > bad, but the fundational ideas are actually quite good. [snip a lot of complicated stuff] If you get as complicated as you wrote, runit will forever eclipse s6 because of the huge contrast in complexity. It doesn't have to be that way. If I correctly understand your previous writings, the ideal init would be to have PID1 be a mini-supervisor that supervises only the real s6 supervisor. I think you had that complete years ago. Then you needed to, upon bootup, start daemons in a specific order, hence the first need for s6-rc. However, this could easily be handled on a numerical sort order basis with a file in the daemon directory called order1234 or order1235 or order9999 (no doubt for the equivalent of rc.local). Daemon directories with no order file could default to order5000. I've never had a problem with the fact that runit has no bootup ordering and is indeterminate, and the couple times I constructed systems experimentally with suckless-init as PID1 and s6 supervisor, same thing: Everything worked despite the indeterminance. So defaulting the majority or even all to order5000 almost certainly won't cause problems. Numerical sorting is much easier for everyone, but if dependency based sorting is needed, it can be done with a provides/requires system. Given that tests can be done within a run script I think this is unnecessary, and adds to complexity, but it's doable. Later, a need to randomly mix supervised and run-once processes was expressed. In my opinion, this is a grievous omission from daemontools, and I'm glad it's being done (I think via s6-rc). But wouldn't it be easier just to have either a runonce or run program in the daemon directory, depending on whether it should be a one-shot or supervised? I'm pretty sure this would be easy to implement. I'd imagine runonce just forks, leaves a marker file to show it's been done, and forgets. The marker files are deleted on initial startup. If I'm understanding today's email correctly, and I'm not sure I am, is that you want s6 or some components thereof to react to requests from programs like networkmanager and events like plugging in a USB. For the usb plugins and plugouts, and network ups and down, dmesg -WT -- on Linux and its equivalent on BSD does the job (requires an #ifdef). As far as NetworkManager, either NetworkManager needs to notify the proper daemon, (not likely from the FreeDesktop/Redhat/Poettering coalition), or s6 needs a daemon to play each Freedesktop inspired program's game, probably by listening in on dbus. I hope to hell such a daemon will be completely separated from the other s6 components, because it will doubtlessly need to change as FreeDesktop gets "new and better" ideas, because dbus adds huge complexity to anything, and because many people may not wish to deploy dbus-connected software. To summarize, I think everything desired can be added, modularly, with little increase in complexity, and I think it can be part of a package manager package. SteveT Steve Litt Autumn 2020 featured book: Thriving in Tough Times http://www.troubleshooters.com/thrive ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [request for review] Port of s6 documentation to mdoc(7) 2020-08-30 10:01 ` Laurent Bercot 2020-08-31 7:01 ` Alexis 2020-08-31 14:29 ` Guillermo @ 2020-08-31 16:08 ` J. Lewis Muir 2020-08-31 17:45 ` Jason Lenz 2020-08-31 19:36 ` Laurent Bercot 2 siblings, 2 replies; 30+ messages in thread From: J. Lewis Muir @ 2020-08-31 16:08 UTC (permalink / raw) To: Laurent Bercot; +Cc: supervision On 08/30, Laurent Bercot wrote: > > i've spent the last couple of weeks porting the s6 documentation to mdoc(7) format: > > > > https://github.com/flexibeast/s6-man-pages > > Excellent, thank you. There is a lot of talk (especially on the #s6 > IRC channel, but occasionally on the mailing-list too) about people > wanting to have s6 man pages, but very rarely people wanting to actually > do the *work*. This is clearly the most advanced conversion ever > performed, well done! > > Would you be willing to add a small Makefile that by default invokes > the mandoc commands to produce the formatted man pages, and with an > install target that installs the source to $(MANDIR), by default > /usr/share/man ? I would then be able to review them. Thanks :) > (AS you're aware if you've been here a while, I don't read mdoc source, > and I will. not. learn. it.) > > Related question: would you be willing to maintain that repository > for when I make changes to the s6 documentation? Changes should be few > and far between, except for fixes and new feature additions (which I > don't think there will be much of). If so, I would gladly add a link to > that repository in the official s6 home page, for people who, like you, > prefer man pages. I don't want to rain on anyone's parade, and I certainly would like to see s6 man pages, but it seems like such a waste of effort to maintain two sets of documentation. Laurent, isn't there a source format that you'd be OK with that could be used to generate mdoc? Have you considered docbook2mdoc? https://mandoc.bsd.lv/docbook2mdoc/ (I haven't used it myself; I'm just aware of its existence.) I think the existing s6 documentation is HTML, right? So, DocBook is not too far from that, and docbook2mdoc is a stand-alone ISO C utility with no external dependencies that, barring any significant missing features, would be able to generate the man pages from DocBook source. Of course, you'd also have to convert the existing HTML documentation into DocBook and then generate the mdoc and HTML from that. I would understand concern over adding a dependency on a potentially heavy DocBook toolchain in order to generate the HTML. One possible way around this, though, would be to generate the mdoc from the DocBook using docbook2mdoc, and then generate the HTML from the mdoc using mandoc. With this scheme, there would be no dependency on a heavy DocBook toolchain. I know the documentation has come up on the list before, so I don't want to rehash that. If I'm saying nothing new, then no need to discuss further. Lewis ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [request for review] Port of s6 documentation to mdoc(7) 2020-08-31 16:08 ` [request for review] Port of s6 documentation to mdoc(7) J. Lewis Muir @ 2020-08-31 17:45 ` Jason Lenz 2020-08-31 19:14 ` J. Lewis Muir 2020-08-31 19:36 ` Laurent Bercot 1 sibling, 1 reply; 30+ messages in thread From: Jason Lenz @ 2020-08-31 17:45 UTC (permalink / raw) To: J. Lewis Muir, Laurent Bercot; +Cc: supervision On 8/31/20 11:08 AM, J. Lewis Muir wrote: > On 08/30, Laurent Bercot wrote: >>> i've spent the last couple of weeks porting the s6 documentation to mdoc(7) format: >>> >>> https://github.com/flexibeast/s6-man-pages >> Excellent, thank you. There is a lot of talk (especially on the #s6 >> IRC channel, but occasionally on the mailing-list too) about people >> wanting to have s6 man pages, but very rarely people wanting to actually >> do the *work*. This is clearly the most advanced conversion ever >> performed, well done! >> >> Would you be willing to add a small Makefile that by default invokes >> the mandoc commands to produce the formatted man pages, and with an >> install target that installs the source to $(MANDIR), by default >> /usr/share/man ? I would then be able to review them. Thanks :) >> (AS you're aware if you've been here a while, I don't read mdoc source, >> and I will. not. learn. it.) >> >> Related question: would you be willing to maintain that repository >> for when I make changes to the s6 documentation? Changes should be few >> and far between, except for fixes and new feature additions (which I >> don't think there will be much of). If so, I would gladly add a link to >> that repository in the official s6 home page, for people who, like you, >> prefer man pages. > I don't want to rain on anyone's parade, and I certainly would like to > see s6 man pages, but it seems like such a waste of effort to maintain > two sets of documentation. Laurent, isn't there a source format that > you'd be OK with that could be used to generate mdoc? > > Have you considered docbook2mdoc? > > https://mandoc.bsd.lv/docbook2mdoc/ > > (I haven't used it myself; I'm just aware of its existence.) I think > the existing s6 documentation is HTML, right? So, DocBook is not too > far from that, and docbook2mdoc is a stand-alone ISO C utility with no > external dependencies that, barring any significant missing features, > would be able to generate the man pages from DocBook source. > > Of course, you'd also have to convert the existing HTML documentation > into DocBook and then generate the mdoc and HTML from that. I would > understand concern over adding a dependency on a potentially heavy > DocBook toolchain in order to generate the HTML. One possible way > around this, though, would be to generate the mdoc from the DocBook > using docbook2mdoc, and then generate the HTML from the mdoc using > mandoc. With this scheme, there would be no dependency on a heavy > DocBook toolchain. > > I know the documentation has come up on the list before, so I don't want > to rehash that. If I'm saying nothing new, then no need to discuss > further. > > Lewis I'm just happy someone is creating manual pages, so I'm not going to "look a gift horse in the mouth". ;-) With that said I believe Laurent mentioned in the past that he considered a suggestion from someone to use the scdoc utility (links below), as long as someone else did the initial work to port to that format? It's a simplified markup format, so although much easier to read probably not as powerful as mdoc. https://drewdevault.com/2018/05/13/scdoc.html https://git.sr.ht/~sircmpwn/scdoc ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [request for review] Port of s6 documentation to mdoc(7) 2020-08-31 17:45 ` Jason Lenz @ 2020-08-31 19:14 ` J. Lewis Muir 2020-08-31 20:51 ` Laurent Bercot 0 siblings, 1 reply; 30+ messages in thread From: J. Lewis Muir @ 2020-08-31 19:14 UTC (permalink / raw) To: Jason Lenz; +Cc: Laurent Bercot, supervision On 08/31, Jason Lenz wrote: > On 8/31/20 11:08 AM, J. Lewis Muir wrote: > > On 08/30, Laurent Bercot wrote: > > > > i've spent the last couple of weeks porting the s6 documentation to mdoc(7) format: > > > > > > > > https://github.com/flexibeast/s6-man-pages > > > Excellent, thank you. There is a lot of talk (especially on the #s6 > > > IRC channel, but occasionally on the mailing-list too) about people > > > wanting to have s6 man pages, but very rarely people wanting to actually > > > do the *work*. This is clearly the most advanced conversion ever > > > performed, well done! > > > > > I don't want to rain on anyone's parade, and I certainly would like to > > see s6 man pages, but it seems like such a waste of effort to maintain > > two sets of documentation. Laurent, isn't there a source format that > > you'd be OK with that could be used to generate mdoc? > > > > Have you considered docbook2mdoc? > > > > https://mandoc.bsd.lv/docbook2mdoc/ > > I'm just happy someone is creating manual pages, so I'm not going to "look a > gift horse in the mouth". ;-) Yes, and I certainly didn't intend to do that if you're suggesting that I have, and that's what I was trying to communicate when I said > > I don't want to rain on anyone's parade, and I certainly would like to > > see s6 man pages but at the same time, I thought I'd make one last plea, if you will, before too much time is invested since, like I said, it felt like such a waste. I mean, if there were a source format that everyone could be happy with, then Alexis could spend time on getting that working instead of spending time on something that will require indefinite maintenance. But if there is no such solution, and having two separately maintained sets of documentation is the only way to get man pages, then yes, I still would be very thankful for Alexis's work. > With that said I believe Laurent mentioned in the past that he considered a > suggestion from someone to use the scdoc utility (links below), as long as > someone else did the initial work to port to that format? It's a simplified > markup format, so although much easier to read probably not as powerful as > mdoc. > > https://drewdevault.com/2018/05/13/scdoc.html > > https://git.sr.ht/~sircmpwn/scdoc I had forgotten about that; thanks for the reminder. I don't have any experience with scdoc either, but if Laurent is happy with it and it could serve as the source documentation format from which HTML and man pages could be generated, then it seems like a win to me. Lewis ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [request for review] Port of s6 documentation to mdoc(7) 2020-08-31 19:14 ` J. Lewis Muir @ 2020-08-31 20:51 ` Laurent Bercot 2020-09-01 6:38 ` Casper Ti. Vector [not found] ` <20200901063801.GA2158@caspervector> 0 siblings, 2 replies; 30+ messages in thread From: Laurent Bercot @ 2020-08-31 20:51 UTC (permalink / raw) To: supervision For the people who are not on #s6 and have missed the countless resurgences of this discussion, here is my position regarding documentation formats. I hope that by the end of this mail things are quite clear for everyone and I won't need to talk about this again, ever. - Doc formats seem to be the #1 thing that's on people's minds, because it's a subject that keeps showing up *all the time*. To me, this is unfortunate; I wish people would spend more time on technical design discussions and be more curious about the internals of my software, and a bit less on surrounding things like how the documentation is written. (Yes, Guillermo, I will answer your mail. You should really join #s6 if possible, because I talked about the plans for s6-rc there; and I would also very much enjoy your precious willingness to talk software details.) - Everyone always has a lot of ideas on how things should go and what I should do. - Unfortunately, I have *zero* interest in doing those para-software things. I am interested in writing software that does stuff, not in spending my time learning a new rich text format and rewriting documentation. The time I am willing to devote to free software is best employed actually writing code, not doing things I hate. Writing doc is enough of a chore as is; it needs to be as easy as possible for me, without any additional hurdle getting in the way. - And that should really be no big deal. There is a whole community interested in s6 documentation, and making man pages, etc., and who always sounds very enthusiastic. So, it should be easy to find people who are willing to invest some time and do the thing the community wants, right? - For some reason, it turns out that it's not that easy. Somehow, the people who always have a lot of ideas are nowhere to be found when I try to delegate the work. - This pattern has been replicating for a long while now, and it has made me quite jaded, to the point that I now lose patience very quickly whenever documentation formats are mentioned, and I sometimes cannot help answering with a jab at the end. - Alexis' contribution is, literally, one-of-a-kind: someone wanted a thing to be done *and did it themself*. That is something I respect, something that has a lot of value to me, and I want to make that work useful. - Yes, it would be better to have One Single Source Of Truth, rather than duplication of information. I totally agree on the principle. However, as of now, the limiting factor is *not* the consistency checks between two sets of documentation. It is the amount of human time that is voluntarily dedicated to the task of providing said documentation. Talking about the N+1 ways of getting One Source Of Truth and generating several backend documentation formats accomplishes nothing. I know about DocBook; by now, I know about every single freaking documentation format and toolchain in existence, and about every single possible workflow I could use. That does not change the fact that it would be more burden placed on me, that I have no intention of taking. - scdoc is, in a way, an exception: ddv and I had a long talk, the scdoc format is simple enough, the toolchain is good quality, I have no objection to writing new documentation in scdoc. (Emphasis on new; existing doc will have to be converted by someone else than me. Or I could be paid to do it.) The problem is that at the moment it does not produce HTML, and post- processing the roff output produces horrible, ugly HTML, so it's not an acceptable solution. So, for now, scdoc is not usable for the purpose of a multi-format s6 documentation. But if it grows a decent HTML engine, it will be. - What we have with Alexis' work is two sources of truth, that will have to be kept in sync, but that's work they're willing to do - it's the first thing I asked - and that will make the community happy, that will improve on the current situation. If maintaining the set of man pages in sync with the official documentation reveals itself to be unsustainable, *then* will be the time to do something about it. - Unless, of course, someone comes up with the perfect solution (adding a DocBook dependency is not a perfect solution, and neither is generating HTML from mandoc), in which case, obviously, they would have the time and willingness to do all the necessary work themself, and in doing so, actually meaningfully contribute to the community instead of only adding their drop to the useless sea of It's Easy You Just Have To Do This, Just Saying In Case You Had Not Considered. -- Laurent ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [request for review] Port of s6 documentation to mdoc(7) 2020-08-31 20:51 ` Laurent Bercot @ 2020-09-01 6:38 ` Casper Ti. Vector 2020-09-01 9:03 ` Alexis [not found] ` <20200901063801.GA2158@caspervector> 1 sibling, 1 reply; 30+ messages in thread From: Casper Ti. Vector @ 2020-09-01 6:38 UTC (permalink / raw) To: supervision On Mon, Aug 31, 2020 at 08:51:34PM +0000, Laurent Bercot wrote: > - Unless, of course, someone comes up with the perfect solution (adding > a DocBook dependency is not a perfect solution, and neither is > generating HTML from mandoc), in which case, obviously, they would have > the time and willingness to do all the necessary work themself, and in > doing so, actually meaningfully contribute to the community instead of > only adding their drop to the useless sea of It's Easy You Just Have To > Do This, Just Saying In Case You Had Not Considered. Sorry if this adds to your boredom in this subject, but I wonder whether you find the following acceptable: * We negotiate a HTML schema your documentation can be written in, which is based on current documentation; existing HTML documentation will be converted to the schema, with minimised changes. (The structuredness of HTML helps; now you also see why knowing some Lisp is beneficial :) * I provide a Python script that validates the schema (and also helps to convert existing documentation) of your HTML documentation, and transforms it into an IR suitable for downstream conversion. I am quite comfortable with writing code transformations, but it may take some time -- about 1 months in this case, since I have my daily job. * Those who are fluent in roff-related formats (I *do* like manpages, but I cannot write them, at least for now) write a program that transforms the IR into one pre-chosen format (we do not like multiple standards differing from each other subtlely, right?). This way, the changes to the current documentation will be minimised; the downside is a soft dependency on Python, which is only necessary when the amount of modification to the HTML is so big that you cannot manually compute corresponding modification to the manpages. -- My current OpenPGP key: RSA4096/0x227E8CAAB7AA186C (expires: 2022.09.20) 7077 7781 B859 5166 AE07 0286 227E 8CAA B7AA 186C ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [request for review] Port of s6 documentation to mdoc(7) 2020-09-01 6:38 ` Casper Ti. Vector @ 2020-09-01 9:03 ` Alexis 2020-09-01 9:20 ` Casper Ti. Vector 2020-09-01 20:13 ` Steve Litt 0 siblings, 2 replies; 30+ messages in thread From: Alexis @ 2020-09-01 9:03 UTC (permalink / raw) To: Casper Ti. Vector; +Cc: supervision Casper Ti. Vector <caspervector@gmail.com> writes: > * We negotiate a HTML schema your documentation can be written > in, which > is based on current documentation; existing HTML documentation > will be > converted to the schema, with minimised changes. On the basis of my current experiences, it would be No Small Task to convert the current, presentationally-based, HTML documentation to markup that's sufficiently semantic to enable it to be mechanically converted to mdoc/roff. i estimate i've so far spent at least 30 hours over the last couple of weeks adding the relevant semantic (and occasionally presentational) macros, as well as modifying the page structure to match mdoc conventions; and i'm still not finished. Myself, i'm not willing to repeat this task again, as i have other volunteer and life commitments. Alexis. ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [request for review] Port of s6 documentation to mdoc(7) 2020-09-01 9:03 ` Alexis @ 2020-09-01 9:20 ` Casper Ti. Vector 2020-09-01 10:02 ` Alexis 2020-09-01 20:13 ` Steve Litt 1 sibling, 1 reply; 30+ messages in thread From: Casper Ti. Vector @ 2020-09-01 9:20 UTC (permalink / raw) To: supervision On Tue, Sep 01, 2020 at 07:03:36PM +1000, Alexis wrote: > On the basis of my current experiences, it would be No Small Task to convert > the current, presentationally-based, HTML documentation to markup that's > sufficiently semantic to enable it to be mechanically converted to > mdoc/roff. i estimate i've so far spent at least 30 hours over the last > couple of weeks adding the relevant semantic (and occasionally > presentational) macros, as well as modifying the page structure to match > mdoc conventions; and i'm still not finished. Myself, i'm not willing to > repeat this task again, as i have other volunteer and life commitments. May I request a diff (via PM) between your attempt and the current HTMLs? -- My current OpenPGP key: RSA4096/0x227E8CAAB7AA186C (expires: 2022.09.20) 7077 7781 B859 5166 AE07 0286 227E 8CAA B7AA 186C ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [request for review] Port of s6 documentation to mdoc(7) 2020-09-01 9:20 ` Casper Ti. Vector @ 2020-09-01 10:02 ` Alexis 2020-09-01 10:15 ` Casper Ti. Vector 0 siblings, 1 reply; 30+ messages in thread From: Alexis @ 2020-09-01 10:02 UTC (permalink / raw) To: Casper Ti. Vector; +Cc: supervision Casper Ti. Vector <caspervector@gmail.com> writes: > May I request a diff (via PM) between your attempt and the > current HTMLs? That involves ~70 documents. Do you need all of them, or can i just provide a diff of a few examples? i don't currently have the HTML sources locally; i'd have to download them all. Alexis. ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [request for review] Port of s6 documentation to mdoc(7) 2020-09-01 10:02 ` Alexis @ 2020-09-01 10:15 ` Casper Ti. Vector 0 siblings, 0 replies; 30+ messages in thread From: Casper Ti. Vector @ 2020-09-01 10:15 UTC (permalink / raw) To: supervision On Tue, Sep 01, 2020 at 08:02:34PM +1000, Alexis wrote: > That involves ~70 documents. Do you need all of them, or can i just provide > a diff of a few examples? i don't currently have the HTML sources locally; > i'd have to download them all. Preferably some representative samples, thanks. -- My current OpenPGP key: RSA4096/0x227E8CAAB7AA186C (expires: 2022.09.20) 7077 7781 B859 5166 AE07 0286 227E 8CAA B7AA 186C ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [request for review] Port of s6 documentation to mdoc(7) 2020-09-01 9:03 ` Alexis 2020-09-01 9:20 ` Casper Ti. Vector @ 2020-09-01 20:13 ` Steve Litt 2020-09-02 0:50 ` Alexis 1 sibling, 1 reply; 30+ messages in thread From: Steve Litt @ 2020-09-01 20:13 UTC (permalink / raw) To: supervision On Tue, 01 Sep 2020 19:03:36 +1000 Alexis <flexibeast@gmail.com> wrote: > Casper Ti. Vector <caspervector@gmail.com> writes: > > > * We negotiate a HTML schema your documentation can be written > > in, which > > is based on current documentation; existing HTML documentation > > will be > > converted to the schema, with minimised changes. > > On the basis of my current experiences, it would be No Small Task > to convert the current, presentationally-based, HTML documentation > to markup that's sufficiently semantic to enable it to be > mechanically converted to mdoc/roff. Depends on how the HTML is written. You can take any Troubleshooters.Com web page authored new in the past five years, run it through an XML parser, and come up with all-styles, no appearance code. All my appearance is via CSS, none is via tags in the <body/>. It's my very strong opinion that, in a conversion to a different output format, the CSS should be just dumped on the floor, and LaTeX or Docbook or whatever styles should be hand-authored appropriately for the output format. With no-appearance-in-body HTML, it's very easy during conversion to make a list of all referenced styles, making authoring of such style-to-appearance conversion easy. So it all depends on how the HTML was written. If it was crafted by a styles-aware person using CSS to translate styles to appearance, and having no appearance info in <body/>, and if the HTML is well formed XML (which is just fine for HTML5), then the conversion is trivial. If it's thrown together, catch as catch can HTML, then Alexis is right, programmatic conversion would be a mess. If the HTML was made by one of those GUI WYSIWYG HTML editors, then the HTML is absolute junk and it's best to start anew. See http://troubleshooters.com/linux/unbound_nsd/unbound.htm for an example of no-appearance-in-body HTML5 document. By the way, if any of you is interesting in helping create an all-styles, no appearance, quick authoring documentation language, please contact me offlist. I have the beginnings of one, but was unable to do the whole thing myself. In this post I express no opinion whether this should or shouldn't be done. All I'm saying is don't assume, sight unseen, that the current HTML can't easily be converted to semantic LaTeX or Docbook or whatever. SteveT Steve Litt Autumn 2020 featured book: Thriving in Tough Times http://www.troubleshooters.com/thrive ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [request for review] Port of s6 documentation to mdoc(7) 2020-09-01 20:13 ` Steve Litt @ 2020-09-02 0:50 ` Alexis 0 siblings, 0 replies; 30+ messages in thread From: Alexis @ 2020-09-02 0:50 UTC (permalink / raw) To: supervision Steve Litt <slitt@troubleshooters.com> writes: > Depends on how the HTML is written ... All I'm saying is don't > assume, > sight unseen, that the current HTML can't easily be converted to > semantic LaTeX or Docbook or whatever. This is good advice in general; but in this particular case, there's no "sight unseen" involved on my part. i have actually looked at the HTML sources of the existing s6 documentation. (For some context, i've authored HTML professionally myself.) As i indicated in the post to which you responded, as well as in my last post to this list: https://www.mail-archive.com/supervision@list.skarnet.org/msg02560.html the current HTML markup is basically not semantic, but presentationally-based. (i'm not complaining about this. i'm very grateful that Laurent has provided such comprehensive documentation for s6; many software authors provide far less, or suggest that the source is the end-user documentation. i feel s6 is a sufficiently important project that i'm happy to help out with documentation stuff, rather than putting further demands on Laurent's already-saturated bandwidth.) To be more specific regarding one of the points in my last post, here's an excerpt from s6-envuidgid.html: <pre> s6-envuidgid [ -u | -g | -B ] [ -n ] [ -i | -D <em>uid</em>:<em>gid</em>:<em>gidlist</em> ] <em>account</em> <em>prog...</em> </pre> Alexis. ^ permalink raw reply [flat|nested] 30+ messages in thread
[parent not found: <20200901063801.GA2158@caspervector>]
* Re: [request for review] Port of s6 documentation to mdoc(7) [not found] ` <20200901063801.GA2158@caspervector> @ 2020-09-01 10:11 ` Laurent Bercot 2020-09-01 11:28 ` Casper Ti. Vector 2020-09-01 11:55 ` Alexis 0 siblings, 2 replies; 30+ messages in thread From: Laurent Bercot @ 2020-09-01 10:11 UTC (permalink / raw) To: supervision > >* We negotiate a HTML schema your documentation can be written in, which > is based on current documentation; existing HTML documentation will be > converted to the schema, with minimised changes. (The structuredness > of HTML helps; now you also see why knowing some Lisp is beneficial :) I'm totally willing to use a HTML schema we can negotiate, to write future documentation in. What I don't want to do is: - Touch existing documentation, unless I have to rewrite the content of a page for some reason. Of course, if the conversion work is done by somebody else, I have no objection to upstreaming the new documents. - Add heavy dependencies to the skarnet.org Makefiles. But honestly, if I'm going to change the way I write doc, I'd rather write scdoc, which is simpler than plain HTML especially if we're adding a lot of semantic tags to that HTML. To me, the best thing would be if someone would add a HTML backend to scdoc. I may do it myself if I need a break from interesting service management stuff and experience an irresistible urge to work on HTML generation instead. The odds are what they are. -- Laurent ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [request for review] Port of s6 documentation to mdoc(7) 2020-09-01 10:11 ` Laurent Bercot @ 2020-09-01 11:28 ` Casper Ti. Vector 2020-09-01 11:55 ` Alexis 1 sibling, 0 replies; 30+ messages in thread From: Casper Ti. Vector @ 2020-09-01 11:28 UTC (permalink / raw) To: supervision On Tue, Sep 01, 2020 at 10:11:14AM +0000, Laurent Bercot wrote: > I'm totally willing to use a HTML schema we can negotiate, to write > future documentation in. What I don't want to do is: > - Touch existing documentation, unless I have to rewrite the content of > a page for some reason. Of course, if the conversion work is done by > somebody else, I have no objection to upstreaming the new documents. Of course it will be done by someone else :) > - Add heavy dependencies to the skarnet.org Makefiles. Alternatively, if you find it acceptable, we can have an independent project that hosts the code transformers. What you need to care about then is writing in the specified schema and merging documentation patches (in case of schema violation). The first patches will be fairly large for obvious reasons, but I can separate them into relatively easily-to-verify (small or generated by sed-like automation) transformation passes, in the style of [1]. [1] <https://gitea.com/CasperVector/reagent> (See the last sentence in the "About" section of README). -- My current OpenPGP key: RSA4096/0x227E8CAAB7AA186C (expires: 2022.09.20) 7077 7781 B859 5166 AE07 0286 227E 8CAA B7AA 186C ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [request for review] Port of s6 documentation to mdoc(7) 2020-09-01 10:11 ` Laurent Bercot 2020-09-01 11:28 ` Casper Ti. Vector @ 2020-09-01 11:55 ` Alexis 1 sibling, 0 replies; 30+ messages in thread From: Alexis @ 2020-09-01 11:55 UTC (permalink / raw) To: supervision Laurent Bercot <ska-supervision@skarnet.org> writes: > I'm totally willing to use a HTML schema we can negotiate, to > write > future documentation in. What I don't want to do is: > - Touch existing documentation, unless I have to rewrite the > content of > a page for some reason. Of course, if the conversion work is > done by > somebody else, I have no objection to upstreaming the new > documents. In terms of automating such a conversion, here are a few of the things the automation would need to do: * Determine whether some text is an environment variable. Environment variables in the current HTML aren't marked up. You might think that you could say "Well, if it's all caps it's an env var", but that won't work, because will catch things like SIGTERM and SO_REUSEADDR. You could special-case 'SIG*', but i'm not sure what could be done about things like SO_REUSEADDR. * Parse things like "s6-envuidgid [ -u | -g | -B ] [ -n ] [ -i | -D uid:gid:gidlist ] account prog..." appropriately, so that mdoc/roff using Op, Fl and Ar can be produced. The parsing will also need keep track of the fact that further uses of "account" in the mdoc/roff might need to be preceded by an Fl macro. Of course, the word "account" is not necessarily referring to the "account" argument, but also to the notion of an account in general: in "s6-envuidgid looks account up by name in the account database", the first "account" should be preceded by Fl, but the second shouldn't. So this sort of thing would somehow need to be handled as well. Note that "-D uid:gid:gidlist" will require special handling, as that seems to also need use of Ns to produce the correct output, i.e. ".Op Fl i | D Ar uid Ns : Ns Ar gid Ns : Ns Ar gidlist". Although, `mandoc -T lint` currently produces a warning about the use of Ns there; if mdoc/roff experts have any suggestions as to The Correct Way to do this, i'm all ears. :-) * In accessrules.html, <tt> is used to indicate file paths, function types, variable types and the accessrules library itself; these cases will somehow need to be distinguished. (There are currently places in s6-accessrules.7 where, in my first pass, i've used Ql when i should actually be using Vt; that's one of the things i still need to fix.) So my guess is that trying to automate a conversion will be much more work than simply doing a conversion manually. Alexis. ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [request for review] Port of s6 documentation to mdoc(7) 2020-08-31 16:08 ` [request for review] Port of s6 documentation to mdoc(7) J. Lewis Muir 2020-08-31 17:45 ` Jason Lenz @ 2020-08-31 19:36 ` Laurent Bercot 2020-08-31 19:58 ` J. Lewis Muir 1 sibling, 1 reply; 30+ messages in thread From: Laurent Bercot @ 2020-08-31 19:36 UTC (permalink / raw) To: supervision >Of course, you'd also have to convert the existing HTML documentation >into DocBook and then generate the mdoc and HTML from that. I would >understand concern over adding a dependency on a potentially heavy >DocBook toolchain in order to generate the HTML. One possible way >around this, though, would be to generate the mdoc from the DocBook >using docbook2mdoc, and then generate the HTML from the mdoc using >mandoc. Are you volunteering to do that work? -- Laurent ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [request for review] Port of s6 documentation to mdoc(7) 2020-08-31 19:36 ` Laurent Bercot @ 2020-08-31 19:58 ` J. Lewis Muir 0 siblings, 0 replies; 30+ messages in thread From: J. Lewis Muir @ 2020-08-31 19:58 UTC (permalink / raw) To: Laurent Bercot; +Cc: supervision On 08/31, Laurent Bercot wrote: > > > Of course, you'd also have to convert the existing HTML documentation > > into DocBook and then generate the mdoc and HTML from that. I would > > understand concern over adding a dependency on a potentially heavy > > DocBook toolchain in order to generate the HTML. One possible way > > around this, though, would be to generate the mdoc from the DocBook > > using docbook2mdoc, and then generate the HTML from the mdoc using > > mandoc. > > Are you volunteering to do that work? No, unfortunately, I don't have the time. I was just suggesting the idea to you and Alexis in case either one of you had not considered it. Lewis ^ permalink raw reply [flat|nested] 30+ messages in thread
end of thread, other threads:[~2020-09-02 12:14 UTC | newest] Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-08-30 8:30 [request for review] Port of s6 documentation to mdoc(7) Alexis 2020-08-30 9:10 ` eric vidal 2020-08-31 6:56 ` Alexis 2020-08-30 10:01 ` Laurent Bercot 2020-08-31 7:01 ` Alexis 2020-08-31 11:04 ` Laurent Bercot 2020-08-31 14:29 ` Guillermo 2020-09-01 10:00 ` possible s6-rc redesign (was: [request for review] Port of s6 documentation to mdoc(7)) Laurent Bercot 2020-09-01 19:24 ` possible s6-rc redesign mobinmob 2020-09-01 22:16 ` Dudemanguy 2020-09-01 22:20 ` Laurent Bercot 2020-09-02 9:41 ` mobinmob 2020-09-02 12:14 ` Laurent Bercot 2020-09-01 23:14 ` possible s6-rc redesign (was: [request for review] Port of s6 documentation to mdoc(7)) Steve Litt 2020-08-31 16:08 ` [request for review] Port of s6 documentation to mdoc(7) J. Lewis Muir 2020-08-31 17:45 ` Jason Lenz 2020-08-31 19:14 ` J. Lewis Muir 2020-08-31 20:51 ` Laurent Bercot 2020-09-01 6:38 ` Casper Ti. Vector 2020-09-01 9:03 ` Alexis 2020-09-01 9:20 ` Casper Ti. Vector 2020-09-01 10:02 ` Alexis 2020-09-01 10:15 ` Casper Ti. Vector 2020-09-01 20:13 ` Steve Litt 2020-09-02 0:50 ` Alexis [not found] ` <20200901063801.GA2158@caspervector> 2020-09-01 10:11 ` Laurent Bercot 2020-09-01 11:28 ` Casper Ti. Vector 2020-09-01 11:55 ` Alexis 2020-08-31 19:36 ` Laurent Bercot 2020-08-31 19:58 ` J. Lewis Muir
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).