Re: Building lh-bootstrap-master

2024-04-28 Thread Alexis

ImNotPC  writes:

Ahhh. The docs said make later than 3.81 so I assumed the option 
had been removed since then and I needed to downgrade.


Laurent,

Should the lh-bootstrap README be changed so that:


GNU make, version 3.81 or later


is replaced by something like:

GNU make, version 3.81 or later. Versions prior to 4.4, released 
in October 2022, don't have the `--jobserver-style` option 
available; in these cases, avoid using the `-j` option, to allow 
(slow) building.



Alexis.


Re: Building lh-bootstrap-master

2024-04-26 Thread Alexis

ImNotPC  writes:

I'm attempting to build lh-bootstrap-master but make is 
complaining:


make: unrecognized option '--jobserver-style=pipe'

Indeed, my version of make doesn't have the --jobserver-style 
option. If I remove the reference to --jobserver-style option 
from ./make the package builds without any obvious errors but 
doesn't appear to be a complete build. My make is GNU Make 4.3 
running on a Mageia 8 system. Do I need to downgrade make? Any 
suggestions?


i take it you mean "_upgrade_ make"? According to the GNU Make 
ChangeLog, the `--jobserver-style` option was added on 2022-08-02, 
whereas 4.3 was released in January 2020, and 4.4 was released in 
October 2022.



Alexis.


Re: [announce] small skarnet.org Spring 2024 update

2024-04-15 Thread Alexis

"Laurent Bercot"  writes:

execline-2.9.5.0(minor) s6-2.12.0.4 
(release) tipidee-0.0.4.0 (minor)


Updates to the *-man-pages collections are now available:

* https://git.sr.ht/~flexibeast/s6-man-pages/refs/v2.12.0.4.1

* https://git.sr.ht/~flexibeast/execline-man-pages/refs/v2.9.5.0.1

* https://git.sr.ht/~flexibeast/tipidee-man-pages/refs/v0.0.4.0.1


Alexis.


Re: s6-rc user services on Gentoo

2024-04-02 Thread Alexis

Guillermo  writes:

1) Why are you telling dbus-daemon to --fork? That defeats the 
purpose
of service supervision. The service definition for the 
system-wide

message bus that I have on a Gentoo VM of mine with s6 + s6-rc +
s6-linux-init uses --nofork.


2) The presence of a notification-fd file tells s6 that 
dbus-daemon

can be somehow coerced into producing an s6-style readiness
notification using file descriptor 3 without changing its code, 
are
you sure that's the case with this script? My service definition 
for
the system-wide message bus polls for readiness using 
s6-notifyoncheck

and a dbus-send command...


These are both very reasonable questions, with the same answer: i 
hadn't got as far as actually properly setting up the services 
yet, but was merely creating 'placeholders' to (as i described in 
my email to Hoël) get the basic overall setup working. So the 
`dbus-daemon` command is literally just copy-and-pasted from what 
i currently use in my .zlogin to start a session bus. My 
apologies; i should have made this clear in my original post.


Re. 1, i'm certainly aware that forking is undesirable in this 
context; cf. a comment of mine i posted yesterday, the second one 
in this comments section: 
https://utcc.utoronto.ca/~cks/space/blog/linux/SystemdSocketActivationThoughts?showcomments#comments


Re. 2, off the top of my head, i imagine you're correct; i haven't 
yet thought about it / looked at it in any detail.


Most of the content is from around 2017, a time in which the s6 
suite

was less known, information in places other than the skarnet.org
website was lacking and inaccurate —despite official 
documentation,
while being short and to the point, has always been quite good 
and
complete IMO; it seemed people just didn't bother reading it? 
[1]—,

and there weren't many usage examples around.

[1] I think I never said it, but what made me look at s6 for the 
first
time (s6-rc and s6-linux-init didn't exist back then), after 
seeing a

post in the Gentoo forums, was its documentation ("OK, nice
explanations, let's try this").


*nod* Fair enough! Yeah, as i wrote in the first comment in the 
comments section i linked to above:


[A]s someone who spends a lot of time writing and maintaining 
documentation, i know that people apparently don't like reading 
the documentation. :-)


At the same time, i know that many people (including myself!) can 
sometimes struggle to "put all the pieces" together (either 
properly, or at all), even with excellent reference docs (as in 
the case of s6), in the absence of some basic, concrete, "actual 
implementation" examples. Like, the mdoc(7) man page is excellent 
and comprehensive, but to help people to get a sense of how easy 
it can be to use mdoc(7) in practice, and hopefully encourage them 
to use it, i wrote a quickstart guide:


 https://github.com/flexibeast/guides/blob/master/mdoc-quickstart.md

Which is the sort of thing i'm hoping to do for s6-rc. :-)


Alexis.


Re: s6-rc user services on Gentoo

2024-04-02 Thread Alexis



Hi Hoël,

Thanks for your reply!

Hoël Bézier  writes:

I feel you. IRC without bouncer is not always great for getting 
help

on some topics. ^^’


:-) Yeah, most of the time that i'm on IRC - which is rarely 
nowadays, due to the aforementioned "lots on my plate" issue - 
it's usually to try to offer help to others, rather than asking 
for help myself, where having a working bouncer is much less of an 
issue.



Are you planning on having your user services supervisor itself
supervised? And if so, by OpenRC or another instance of 
s6-svscan?

Just asking out of curiosity.


i hadn't really thought much about that, as i've been focusing on 
simply trying to understand the basics and get them working.


My initial thinking is that i'd start by setting up the user 
services tree from .zlogin, i.e. the s6-svscan process itself 
would be unsupervised. Part of the reason for doing so is that, at 
this point, i primarily want to be using s6-rc to be able to 
manually restart user services in various situations (e.g. config 
changes), with service availability being secondary to that. But 
another part of the reason is that, in these contexts, i generally 
work best from the bottom-up, starting from what i consider to be 
the 'core' and then 'working outwards' from that.


(Yes, i know that's not always the most appropriate approach, 
particularly in contexts where security topics are inherently part 
of the 'core', and can't just be "bolted on" afterwards. i don't 
feel this is particularly the case here.)


i guess i'd probably want OpenRC supervising the user s6-svscan 
process, mainly because, at this point, i'd like to keep using 
OpenRC on my Gentoo system overall: since a lot of my volunteer 
tech work involves providing support to others and 
writing/maintaining documentation, it's useful to keep my own 
system fundamentally similar to what others are running.


Your scandir and your service definitions are the same 
directory,

which they should not be.



You currently have:
* service_definitions="${xdg_data_home}/s6-rc/services"
* compiled_services="${xdg_state_home}/s6-rc/compiled"
* scandir="${xdg_data_home}/s6-rc/services"
* livedir="${xdg_runtime_dir}/s6-rc"

However service definitions can not be used as a scandir: if 
your
services are to be managed by s6-rc they should not be present 
at

start in your scandir but should be added there by s6-rc-init.

That’s why s6-rc-init complains about files already existing: it 
tries

to create a symlink in the scandir pointing to the services it’s
managing but it can’t because the service are already present in 
the

scandir.


Ah! Now i get it. Thank you. :-) i'm not sure how my reading of 
the s6-rc-init documentation led me to this; i'll need to review 
it, so that i can perhaps offer some changes/additions. :-)



Moreover, had you had any oneshots in your service definition
directory, I think s6-svscan would have simply failed to start, 
or
complained about directories containing no service (oneshots are 
not
supervised by s6-svscan, because there’s nothing to supervise in 
them,

so it doesn’t know about them).


*nod*


What you should have is:
* service_definitions="${xdg_data_home}/s6-rc/services"
* compiled_services="${xdg_state_home}/s6-rc/compiled"
* scandir="${xdg_runtime_dir}/services"
* livedir="${xdg_runtime_dir}/s6-rc"

Your scandir should be in your runtime dir because it does not 
contain
data but the current running configuration of your system. It 
can be
an empty directory when you start s6-svscan, there is nothing 
wrong
with that. s6-rc will populate it according to the compiled 
services

you feed him.


*nod*

Thanks for all this, it's been very helpful!


You can see my own outdated s6-rc system service definitions at:
* https://forge.dotslashplay.it/s6-rc/system-services
and my (also outdated) s6-rc user tree service definitions at:
* https://forge.dotslashplay.it/s6-rc/personal-services


i'll definitely take a look!

(resending this to the list as I only replied to Alexis, sorry 
Alexis for the double send.)


No worries. :-)


Alexis.


s6-rc user services on Gentoo

2024-04-01 Thread Alexis



Hi all,

Laurent has suggested i ask on IRC about this, but since (a) i'm 
in UTC+10, (b) i'm constantly moving between a few different 
networks, and (c) my bouncer is currently out of action (it's a 
Story), i thought i'd ask on these lists instead, to facilitate 
asynchronous replies. :-)


When i was on Void, a few years ago, i used s6+66 in place of 
runit. Since moving to Gentoo, i've been using OpenRC.


OpenRC currently doesn't have user services. They're gradually 
being worked on:


 https://github.com/OpenRC/openrc/pull/573

but the current state of things is that the contributor is 
rewriting the PR:


 https://github.com/OpenRC/openrc/pull/573#issuecomment-2007766162

i've had a lot on my plate for a while, but in more recent times 
i've had a bit more space to faff around with lower-priority 
stuff, and so i'm exploring setting up s6-rc to manage the user 
services i need. Once i've done so, i can:


* write a guide on the Gentoo wiki[a]; and

* provide service definitions for others to use via my personal 
 overlay[b].


which might help more people to become familiar with the s6 
ecosystem in general, and with s6-rc in particular (rather than 
trying to use s6 for service management as well as supervision).


However, i've reached an impasse, and i'm hoping some can tell me 
what i'm missing / what i'm doing wrong / what i'm 
misunderstanding.


Here's the situation:

* 
 S6RC_SERVICE_REPO=${HOME}/src/srht/gentoo-overlay/sys-apps/s6-rc-services/files/


* The above directory contains two service directories:
** dbus-session-bus/, containing:
*** type: longrun
*** notification-fd: 3
*** producer-for: dbus-session-bus-log
*** run:
   #!/usr/bin/execlineb -P
   importas HOME HOME
   redirfd -w 4 ${HOME}/.env.d/DBUS_SESSION_BUS_ADDRESS
   dbus-daemon --session --fork --nopidfile --print-address=4
*** finish:
   #!/usr/bin/execlineb -P
   importas HOME HOME
   rm -f ${HOME}/.env.d/DBUS_SESSION_BUS_ADDRESS
** dbus-session-bus-log/, containing:
*** type: longrun
*** notification-fd: 3
*** consumer-for: dbus-session-bus
*** pipeline-name: dbus-session-bus-pipeline
*** run:
   #!/usr/bin/execlineb -P
   importas HOME HOME
   exec -c
   s6-log -d3 -- t ${HOME}/.logs/s6-rc-services/dbus-session-bus

* SCANDIR="${XDG_DATA_HOME}/s6-rc/services"

* The above directory contains symlinks to

 ${S6RC_SERVICE_REPO}/{dbus-session-bus,dbus-session-bus-log}

* S6RC_COMPILED="${XDG_STATE_HOME}/s6-rc/compiled"

* Running:

 s6-rc-compile "${S6RC_COMPILED}" "${SCANDIR}"

 completes successfully.

* Running

 s6-svscan -- "${SCANDIR}"

 succeeds, with two s6-supervise processes created.

* HOWEVER, running

 s6-rc-init -c "${S6RC_COMPILED}" -l "${XDG_RUNTIME_DIR}/s6-rc" 
 "${SCANDIR}"


 fails, with the error message:

 unable to supervise service directories in 
 /run/user/1000/s6-rc/servicedirs: File exists


i've taken a look at s6rc_livedir_create.c:

 
https://git.skarnet.org/cgi-bin/cgit.cgi/s6-rc/tree/src/libs6rc/s6rc_livedir_create.c

but nothing is leaping out to me as explaining what's happening.

Thoughts?


Alexis.

[a] The current s6 and s6-rc pages on the wiki have lot of detail, 
without any "quickstart" tutorials that might make it easy for 
people to get on board. A while ago i did a big restructure of the 
s6 article:


  https://wiki.gentoo.org/wiki/User:Flexibeast/drafts/S6

which i feel improves the current page:

  https://wiki.gentoo.org/wiki/S6

but which has been awaiting review by a more senior wiki editor 
than me.


The s6-rc page is similarly detailed and similarly lacking a 
"quickstart":


  https://wiki.gentoo.org/wiki/S6-rc

[b] Various people are providing s6 service definitions, 
e.g. https://codeberg.org/alecStewart1/gentoo-s6-scripts, but i'm 
not
currently aware of any providing s6-rc service definitions - 
pointers welcome. :-)


Re: Prevent runit from deleting own processing file

2024-03-27 Thread Alexis

Andrew Stiegmann  writes:

Evening folks.  Wanted to share a patch I recently put together 
to prevent

a runaway busyloop in svlogd when system time is far behind.  It
effectively prevents svlogd from deleting the file its about to 
process,

which can happen when system time is far behind.  Cheers.


You might like to also consider opening a PR in Void's 'runit' 
repo:


 https://github.com/void-linux/runit


Alexis.


Re: [announce] skarnet.org November 2023 release

2023-12-04 Thread Alexis



Petr Vaněk  writes:

I was always wondering, do you synchronize man pages just by 
hand or is

there some automation involved?


By hand. i generate a diff of what's changed, and then manually 
convert that to mdoc(7). How long that takes varies between 
releases, due to various factors.


The HTML source is mostly presentational markup, whereas mdoc(7) 
is semantic markup (in contrast to man(7), as used for the Linux 
man pages, which is mostly a presentational markup language). It's 
often not possible to algorithmically determine what semantic 
markup is required for a given presentational tag: for instance, 
is a given '' tag indicating an argument (= 'Ar' in mdoc), or 
a program (possibly 'Xr', possibly something else), 'mere' 
emphasis (= 'Em'), or something else?


i personally find mdoc(7) far more pleasant to work with than 
man(7) - i probably wouldn't have done the port if use of the 
latter had been a requirement - and the fact that it's semantic 
means it's possible to do things like use apropos(1) to search for 
pages containing particular terms in particular contexts 
(e.g. uses of a specific environment variable).



Anyway, I plan to package s6-*man-pages for gentoo.


Wonderful, thank you! i would suggest they should go in the 
'app-doc' category (but of course i'll defer to the Gentoo devs on 
this).



Alexis.


Re: [announce] skarnet.org November 2023 release

2023-11-22 Thread Alexis



aitor  writes:

Thanks for the man pages, Alexis. I'll work on an APT repository 
for Devuan.


That'd be great, thanks! s6-man-pages is only packaged for a few 
distros:


   https://repology.org/project/s6-man-pages/versions

(Not listed is Gentoo, my daily driver, although a package is 
available via the 'bgo-overlay' repo; it'd be nice if someone were 
willing to maintain a package in the 'gentoo' or 'GURU' repos, 
given that Gentoo is one of the main distros allowing a 
non-systemd-based setup.)


And e.g. s6-linux-init-man-pages is only packaged for Alpine:

   https://repology.org/project/s6-linux-init-man-pages/versions

Best wishes!


Alexis.


Re: [announce] s6-2.12.0.2

2023-11-20 Thread Alexis



"Laurent Bercot"  writes:

I don't normally spam all of you for bugfix releases, but this 
one is
important. You definitely want to grab the 2.12.0.2 version of 
s6, not

the 2.12.0.1 one.


And for the man pages:

   https://git.sr.ht/~flexibeast/s6-man-pages/refs/v2.12.0.2.1


Alexis.


Re: [announce] but what about *second* skarnet.org November 2023 release?

2023-11-20 Thread Alexis



Updates are now available for {s6,s6-networking,tipidee}-man-pages:

   https://git.sr.ht/~flexibeast/s6-man-pages/refs/v2.12.0.1.1
   https://git.sr.ht/~flexibeast/s6-networking-man-pages/refs/v2.7.0.0.1
   https://git.sr.ht/~flexibeast/tipidee-man-pages/refs/v0.0.2.0.1


Alexis.


Re: [announce] skarnet.org November 2023 release

2023-11-10 Thread Alexis



Updated versions of my man page ports are now available:

https://git.sr.ht/~flexibeast/s6-man-pages/refs/v2.12.0.0.1
https://git.sr.ht/~flexibeast/s6-networking-man-pages/refs/v2.6.0.0.1
https://git.sr.ht/~flexibeast/execline-man-pages/refs/v2.9.4.0.1
https://git.sr.ht/~flexibeast/s6-linux-init-man-pages/refs/v1.1.2.0.1
https://git.sr.ht/~flexibeast/s6-portable-utils-man-pages/refs/v2.3.0.3.1
https://git.sr.ht/~flexibeast/s6-rc-man-pages/refs/v0.5.4.2.1


Alexis.


Re: [announce] skarnet.org November 2023 release

2023-11-06 Thread Alexis



An mdoc(7) port of the docs for tipidee is available:

   https://git.sr.ht/~flexibeast/tipidee-man-pages/archive/v0.0.1.0.1.tar.gz

i hope to start work on updates to the other skaware man page 
ports in the coming days.


"Laurent Bercot"  writes:


 New versions of all the skarnet.org packages are available.
 This is a big one, fixing a lot of small bugs, optimizing a lot 
 behind
the scenes, adding some functionality. Some major version bumps 
were
necessary, which means compatibility with previous versions is 
not

guaranteed; updating the whole stack is strongly recommended.

 Also, tipidee is out! If you've been looking for a small 
 inetd-like
Web server that is still standards-compliant and fast, you 
should

definitely check it out.


systemd/issues/28250: "System and user log rotation because of monotonic clock jumping backwards"

2023-07-05 Thread Alexis



i felt compelled to share this here 

https://github.com/systemd/systemd/issues/28250


New URLs for the updates to s6-man-pages and execline-man-pages

2023-04-09 Thread Alexis



Apologies, new URLs for the updates to s6-man-pages and 
execline-man-pages:


   https://git.sr.ht/~flexibeast/s6-man-pages/archive/v2.11.3.2.4.tar.gz

   https://git.sr.ht/~flexibeast/execline-man-pages/archive/v2.9.3.0.5.tar.gz


Alexis.


s6-man-pages and execline-man-pages now on sr.ht; new releases of both

2023-04-09 Thread Alexis



Hi all,

Both s6-man-pages and execline-man-pages are now on sr.ht; their 
repos on GitHub have been set to read-only. With that, all the 
-man-pages projects are now on sr.ht.


There are also new releases for s6-man-pages and 
execline-man-pages, which add the s6-why.7 and execline-why.7 
pages, respectively:


   https://git.sr.ht/~flexibeast/s6-man-pages/archive/v2.11.3.2.3.tar.gz

   https://git.sr.ht/~flexibeast/execline-man-pages/archive/v2.9.3.0.4.tar.gz


Alexis.


s6-linux-init-man-pages

2023-04-06 Thread Alexis



Hi all,

An mdoc(7) port of the documentation for s6-linux-init is now 
available:


  
https://git.sr.ht/~flexibeast/s6-linux-init-man-pages/archive/v1.1.1.0.1.tar.gz


Alexis.


New s6-rc-man-pages release

2023-04-06 Thread Alexis



Hi all,

A new release of s6-rc-man-pages is now available:

   https://git.sr.ht/~flexibeast/s6-rc-man-pages/archive/v0.5.4.1.2.tar.gz

It adds three section 7 pages:

* s6-rc-faq.7
* s6-rc-overview.7
* s6-rc-why.7


Alexis.


Re: [svlogd] / -ttt / why UTC?

2023-04-06 Thread Alexis



"Laurent Bercot"  writes:


The way to go about it would be to implement the functionality
yourself, and submit a patch; that said, since the last time we 
saw

svlogd's maintainer was four years ago in a flash


Well, Void maintains its own runit repo:

   https://github.com/void-linux/runit

So one could open an issue there and ask if a PR implementing this 
functionality would be considered.



Alexis.


*-man-pages: s6-rc port, Makefile fix

2023-04-04 Thread Alexis



Hi all,

An mdoc(7) port of the documentation for s6-rc is now available:

   https://git.sr.ht/~flexibeast/s6-rc-man-pages/refs/v0.5.4.1.1

Additionally, there are new releases for the other -man-pages 
repos, primarily fixing a Makefile bug:


   https://github.com/flexibeast/s6-man-pages/releases/tag/v2.11.3.2.2
   https://github.com/flexibeast/execline-man-pages/releases/tag/v2.9.3.0.3
   https://github.com/flexibeast/s6-networking-man-pages/releases/tag/v2.5.1.3.3
   https://git.sr.ht/~flexibeast/s6-portable-utils-man-pages/refs/v2.3.0.2.2


Alexis.


Re: [announce] April 2023 bugfix release

2023-04-02 Thread Alexis



"Laurent Bercot"  writes:


skalibs-2.13.1.1   (release)
execline-2.9.3.0   (minor)
s6-2.11.3.2(release)
s6-linux-init-1.1.1.0  (minor)
s6-portable-utils-2.3.0.2  (release)


The execline-man-pages repo has now been updated:

 https://github.com/flexibeast/execline-man-pages/releases/tag/v2.9.3.0.1

There were no doc changes in s6 and s6-portable-utils, but new 
tags have been created in their related -man-pages repos to 
indicate which version they're up-to-date with:


 https://github.com/flexibeast/s6-man-pages/releases/tag/v2.11.3.2.1
 https://git.sr.ht/~flexibeast/s6-portable-utils-man-pages/refs/v2.3.0.2.1
 
s6-portable-utils-man-pages is the first -man-pages repo to be 
moved to sr.ht. The plan is to move the remaining three repos 
during the coming fortnight, with s6-networking-man-pages the next 
in line.



Alexis.


*-man-pages repos moving to sr.ht

2023-03-25 Thread Alexis



Hi all,

In the coming weeks, i'm hoping to move the *-man-pages repos from 
GitHub to sr.ht. My plan is to do so gradually (e.g. one a week), 
in the following order:


* s6-portable-utils-man-pages
* s6-networking-man-pages
* execline-man-pages
* s6-man-pages

i probably won't start this process for at least a week, to give 
relevant parties the chance to read this email.



Alexis.


Re: [announce] skarnet.org February 2023 release

2023-02-18 Thread Alexis



*sigh* Sorry everyone. The execline-man-pages release _also_ 
failed to include a Makefile update (to include execline.1, the 
man page for the new multicall binary). So there's a new release 
tag:


* 
 https://github.com/flexibeast/execline-man-pages/releases/tag/v2.9.2.0.2


Hopefully everything is now in order!


"alice"  writes:


On Sun Feb 19, 2023 at 7:39 AM CET, Alexis wrote:


"alice"  writes:

> On Sun Feb 19, 2023 at 6:39 AM CET, Alexis wrote:

>>   
https://github.com/flexibeast/s6-portable-utils-man-pages/releases/tag/v2.3.0.0.1
>
> these (s6-portable-utils-man-pages) fail to make install, 
> because

> s6-test.1 was removed.

Gah, sorry about that! This should now be fixed.


thanks! works now.

don't mean to backseat the release process too much, but you 
should

generally
not retag a new commit (breaks history of the tag for whoever 
already

had it,
cached tarballs (me, funnily), ..), rather just release .2 .


Re: [announce] skarnet.org February 2023 release

2023-02-18 Thread Alexis



"alice"  writes:

don't mean to backseat the release process too much, but you 
should

generally
not retag a new commit (breaks history of the tag for whoever 
already

had it,
cached tarballs (me, funnily), ..), rather just release .2 .


You're quite right, and my apologies - it's been a 
 challenging day, and i wasn't thinking clearly. i'll try to 
be more careful and mindful in the future.



Alexis.


Re: [announce] skarnet.org February 2023 release

2023-02-18 Thread Alexis



"alice"  writes:


On Sun Feb 19, 2023 at 6:39 AM CET, Alexis wrote:



  
https://github.com/flexibeast/s6-portable-utils-man-pages/releases/tag/v2.3.0.0.1


these (s6-portable-utils-man-pages) fail to make install, 
because

s6-test.1 was removed.


Gah, sorry about that! This should now be fixed.


Alexis.


Re: [announce] skarnet.org February 2023 release

2023-02-18 Thread Alexis



Updates to the s6-man-pages, s6-portable-utils-man-pages and 
execline-man-pages repos are now available:


* 
 https://github.com/flexibeast/s6-man-pages/releases/tag/v2.11.3.0.1


* 
 https://github.com/flexibeast/s6-portable-utils-man-pages/releases/tag/v2.3.0.0.1


* 
 https://github.com/flexibeast/execline-man-pages/releases/tag/v2.9.2.0.1


There were no documentation changes in the new s6-networking 
release, but i've added a new tag to the s6-networking-man-pages 
repo to indicate that it's current:


* 
 https://github.com/flexibeast/s6-networking-man-pages/releases/tag/v2.5.1.3.1



Alexis.




Re: [announce] skarnet.org January 2023 release. man page ports.

2023-01-15 Thread Alexis



Hi all,

The relevant '*-man-pages' repos have now been updated 
accordingly:


* 
 https://github.com/flexibeast/s6-man-pages/releases/tag/v2.11.2.0.1
* 
 https://github.com/flexibeast/s6-networking-man-pages/releases/tag/v2.5.1.2.1
* 
 https://github.com/flexibeast/s6-portable-utils-man-pages/releases/tag/v2.2.5.1.1
* 
 https://github.com/flexibeast/execline-man-pages/releases/tag/v2.9.1.0.1


Of particular note in the s6-man-pages update is that i've finally 
ported the following pages:


* overview.html
* s6-svscan-1.html
* s6-svscan-not-1.html
* socket-activation.html

i highly recommend overview.html / s6-overview.7 as a general 
introduction to s6. :-)



Alexis.


Re: s6-rc user experience question

2022-10-17 Thread Alexis



Ihor Antonov  writes:

- there are no manual pages that would help with the point 
above, and
  short help messages are not very useful. ( I often resort to 
  reading 
  https://skarnet.org/software/s6 from my browser )


i might well be misunderstanding what you're saying, but as 
Laurent notes on the s6 Web page, i've ported the docs for s6 (and 
for execline, s6-networking and s6-portable-utils) to mdoc(7) man 
pages:


  https://github.com/flexibeast/s6-man-pages

which at least some distros provide as a package.


Alexis.


Re: gpg-agent runit run script

2022-09-29 Thread Alexis



Guillermo  writes:


The combination of Duncaen's run script, and the Void Handbook's
example /etc/sv/runsvdir-/run script, at least if used
verbatim, does not appear to set up GPG_TTY.  gpg-agent might 
start,
but I'm not sure if things will work well if, e.g., it wants to 
run

the pinentry program...


Yeah. Trying to get a program to run in ways it's not intended to 
be run can get complex at the best of times, but i'd be 
particularly wary of trying to do so with a program that's 
security infrastructure; i'd worry about accidentally creating 
vulnerabilities not present when the program is used in the 
intended manner.



Alexis.


Re: gpg-agent runit run script

2022-09-29 Thread Alexis



João Pedro Malhado  writes:

The Void linux manual shows gpg-agent running as an example, but 
they

don't show
the run script, so I don't know how they set it up.
https://docs.voidlinux.org/config/services/user-services.html


Duncaen's run script for gpg-agent is here:

https://github.com/Duncaen/dotfiles/blob/master/sv/gpg-agent/run

It's actually an execline script that makes use of 
s6-ipcserver-socketbinder. Also note that the script calls 
gpg-agent with `--supervise`.


This is a pity as gpg-agent is a long running process which is 
the

sort of thing
you would want to run under supervision.


Well, the typical reason we want to run something under 
supervision is to ensure it's up, because (a) there are processes 
relying on it being up, and (b) those processes aren't themselves 
able to start the relevant process. But this isn't the case with 
gpg-agent: the main programs that utilise it know how to start it 
themselves if necessary, so it doesn't matter if a gpg-agent 
process exits abnormally, as a new one will get created when 
required.



Alexis.


Re: [announce] skarnet.org Summer 2022 release

2022-06-15 Thread Alexis



And the new releases in the man page repos:

* 
 https://github.com/flexibeast/execline-man-pages/releases/tag/v2.9.0.0.1


* 
 https://github.com/flexibeast/s6-man-pages/releases/tag/v2.11.1.1.1


* 
 https://github.com/flexibeast/s6-networking-man-pages/releases/tag/v2.5.1.1.1


* 
 https://github.com/flexibeast/s6-portable-utils-man-pages/releases/tag/v2.2.5.0.1



Alexis.


Man page ports of s6-portable-utils docs now available

2022-04-17 Thread Alexis



Hi all,

Man page ports of the s6-portable-utils docs are now available:

https://github.com/flexibeast/s6-portable-utils-man-pages/releases/tag/v2.2.4.0.1


Alexis.


Re: Supervision on the BSD's

2022-04-09 Thread Alexis



"Scott Colby"  writes:

I started looking at how to configure daemons/services on 
OpenBSD
and FreeBSD and am a little surprised at what I found. As far as 
I

can tell, OpenBSD's rc assumes that services will background
themselves and does no supervision at all. It seems like 
FreeBSD's
daemon(8) has some supervision capabilities with the -r flag, 
but

it is unclear to me how widely used that is.

Given the apparently poor state of supervision, I'm considering
using s6 when I configure this system.


i run two OpenBSD servers, one of which i'd be happy to do some 
s6-related tinkering on, so i'm following this discussion with 
interest. :-)



Alexis.


Re: [announce] Small skarnet.org update

2022-03-13 Thread Alexis



i've just updated the execline-man-pages and s6-man-pages repos 
accordingly:


* 
 https://github.com/flexibeast/execline-man-pages/releases/tag/v2.8.3.0.1
* 
 https://github.com/flexibeast/s6-man-pages/releases/tag/v2.11.1.0.1



Alexis.


"Laurent Bercot"  writes:


 Hello,

 New versions of some skarnet.org packages are available.

 The changes are minor, mostly quality-of-life and small 
 additions

 driven
by the new version of s6-overlay.
 There are bugfixes all around, so users are encouraged to 
 upgrade even

if they're not using s6-overlay.

 The new versions are the following:

skalibs-2.11.2.0(minor)
execline-2.8.3.0(minor)
s6-2.11.1.0 (minor)
s6-portable-utils-2.2.4.0   (minor)
s6-linux-init-1.0.7.3   (release)


[announce] Gentoo overlay for s6

2022-01-18 Thread Alexis



Hi all,

i recently started using Gentoo, and would like to be using s6/66 
in place of OpenRC. However, the s6-related ebuilds are rather 
out-of-date (even those in testing, let alone in stable). There's 
this PR, created in May last year, to update them:


 https://github.com/gentoo/gentoo/pull/20895

but the last comment on it is from October last year, and i have 
no idea when/if it will get merged.


So what i've done is created an overlay, 'flexibeast-s6':

 https://github.com/flexibeast/gentoo-s6-overlay

which updates various s6-related ebuilds to the latest versions, 
and which is available via `eselect repository`.


Since i'm new to Gentoo and ebuilds, any feedback on problems with 
the ebuilds, or ways in which they could be improved, would be 
most welcome. :-)



Alexis.


[announce] {s6,s6-networking,execline}-man-pages updated

2021-09-28 Thread Alexis



"Laurent Bercot"  writes:


 New versions of all the skarnet.org packages are available.


The {s6,s6-networking,execline}-man-pages repos have now been 
updated accordingly:


* 
 https://github.com/flexibeast/s6-man-pages/releases/tag/v2.11.0.0.1
* 
 https://github.com/flexibeast/s6-networking-man-pages/releases/tag/v2.5.0.0.1
* 
 https://github.com/flexibeast/execline-man-pages/releases/tag/v2.8.1.0.1



Alexis.


[announce] s6-networking-man-pages

2021-02-03 Thread Alexis



Hi all,

i've just finished porting the s6-networking documentation to 
mdoc:


https://github.com/flexibeast/s6-networking-man-pages/releases/tag/v2.4.0.0.1

For further information, refer to the repository README:

https://github.com/flexibeast/s6-networking-man-pages


Alexis.


Re: [announce] skalibs-2.10.0.1, execline-2.7.0.1, s6-2.10.0.1

2021-01-25 Thread Alexis



Laurent Bercot  writes:


 New skarnet.org packages are available:

 skalibs-2.10.0.1
 execline-2.7.0.1
 s6-2.10.0.1


And i've just updated the s6-man-pages repo accordingly:

https://github.com/flexibeast/s6-man-pages/releases/tag/v2.10.0.1.1


Alexis.


s6-man-pages updated to 2.10.0.0

2021-01-21 Thread Alexis



Hi all,

i've now updated the s6-man-pages repo to reflect s6 2.10.0.0:

https://github.com/flexibeast/s6-man-pages/releases/tag/v2.10.0.0.1

The final ".1" in the version indicates the first release for s6 
2.10.0.0; it will be incremented when fixing any errors in the 
port.


Please do let me know of any semantic discrepancies between the 
HTML original and the port! (i use the phrase "semantic 
discrepancies" as there are numerous structural and stylistic 
changes to match mdoc(7) conventions.) Opening an issue in the 
repo is preferred, but you can instead send me an email if that 
works better for you. :-)



Alexis.


Re: s6-man-pages update

2020-09-09 Thread Alexis



Laurent Bercot  writes:


 That downside is simply too big, and also, I don't want to take
responsibility in the official tarballs for content that I don't 
audit

myself ...  if a distribution has a link
to get the man pages source, they will use it and will just be 
happy

that there are man pages.


Fair enough. :-) My thought is, to help distros with packaging, i 
can add tags to the s6-man-pages repo to match the corresponding 
s6 version on which they were based. So at the completion of this 
current process, i could add a 2.9.2.0 tag (assuming that the 
current docs on skarnet.org are from the 2.9.2.0 release). Does 
that sound reasonable?


(i can put together a package template for Void.)


Alexis.


Re: s6-man-pages update

2020-09-09 Thread Alexis



Laurent Bercot  writes:

 Nice work! If you feel they're ready enough, I can add a link 
 to them

in the s6 main page right away.


Mm, thanks, but i think i'd prefer to wait until i've handled the 
link issue. :-)


 - The skarnet.org site is accessible in https, and is 
 preferred.
Intra-site links have no default protocol, so they will link in 
http
if the client uses http, and in https if the client uses https; 
but
for absolute URLS, it would probably be best to write them as 
https


Sure, will do.

 - You should list yourself in the AUTHORS section: I wrote the 
 content,

but you wrote the man pages.


Okay, i'll mention myself as the porter.

 I don't want to be making suggestions on work I'm not going to 
 do
myself and that I have no deep understanding of; but is there a 
way to
have an alternative in .Xr, as in "print as a cross-ref if the 
man

page exists, else print that text"?


No, Xr only takes a manual name and section number as arguments.


That would be ideal for placeholders
until the documentation for other packages is ported (which may 
very

well be "never").


Well, i'm willing to port the s6-networking and execline docs, 
unless the longer-term plan is to convert them to e.g. scdoc, 
since (having now looked into it) it's a very weak markup format 
that can't represent most of the semantic markup i'd be adding, 
including cross-references. No point doing work that is just going 
to be removed. :-)


That said, for now i'll follow the footnote-style approach you 
suggested more generally, with numbered links to s6-networking and 
execline programs in the SEE ALSO section, and the appropriate 
number being mentioned inline. If/when the relevant man pages 
become available, conversion to use of Xr can be automated.


 Yes, I don't think it's reasonable to expect the whole Web to 
 be

converted to man pages. ;)


*laugh* Indeed!


Alexis.


s6-man-pages update

2020-09-08 Thread Alexis



Hi again all,

i've now completed the linting pass for the s6 man pages. The few 
remaining lint issues are either commented in the sources, or 
aren't actually an issue in this context.


As per Laurent's request, i've also added a Makefile to facilitate 
installation; details in the repo README:


   https://github.com/flexibeast/s6-man-pages/

The main thing still left to do is work out how to deal with 
certain types of links.


Laurent, you wrote:

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.


As far as i'm aware, mdoc has no built-in mechanism for footnotes 
(certainly the word isn't used in the mdoc(7) man page).


Most of the links in the man pages are cross-references to other 
pages in the s6-man-pages collection, so they're already handled 
by the Xr macro. The remaining links aren't particularly numerous, 
and can basically be divided into two groups:


* links to other skarnet.org documentation which does not yet have 
 man pages: s6-networking (s6-tcpserver-access, s6-tcpserver, 
 s6-tcpserver4, s6-tcpserver6), execline (execline and execlineb, 
 maybe others as well?), and skalibs stuff. For an example of a 
 page referring to s6-networking software, 
 cf. s6-connlimit.1.in. If that documentation was available as 
 man pages, these could just be made cross-references too. 

* links to non-skarnet.org sites, such as djb's site. These 
 certainly seem amenable to use of the footnoting style you 
 described above.



Alexis.


Coda to the discussion on converting the HTML s6 documentation

2020-09-02 Thread Alexis



Hi all,

i've received an email offlist asking some clarifying questions 
about automating the conversion of the current HTML s6 
documentation, and i thought it might be useful to post some of 
the things i noted in my reply.


The issue isn't that the HTML is unparseable (it's not). A tool 
like `pandoc` can be used to convert the pages into other formats, 
including roff. Over at Void, we recently tried to make use of 
`pandoc` to create a man page for Érico's neat `void-docs` script, 
which allows viewing the Void Handbook locally in a number of 
formats. What i found is that the output of pandoc produced roff 
that was fine visually, but which relied on presentational markup, 
rather than semantic markup. i'll return to this issue below.


The issue is twofold:

* Things like bare "" tags (i.e. without a 'class' attribute 
 describing their contents) are used in the HTML to convey 
 multiple types of information that mdoc/roff 
 distinguishes. Sometimes an "" is used for an argument (Ar 
 in mdoc), sometimes it's simply used for emphasis (Em in 
 mdoc). Similarly, bare "" tags are used for a path (Pa in 
 mdoc), function types (Ft in mdoc),
functions (Fn in mdoc), libraries (which could have a man page 
that should be cross-referenced with an Xr macro), and so on. A 
human is needed to decide the semantics involved (e.g. for 
Casper's putative IL), based on context.


* Many things /simply aren't marked up at all/. The example i gave 
 in my earlier post was environment variables: again, a human is 
 needed to decide whether something in ALLCAPS is an env var, a 
 cpp macro, or something else altogether (like a reference to the 
 'TAI64' concept.)


The question might be asked: "Well, who cares? Why care about 
semantic markup? As long as the visual output is the same, what's 
the issue?" Two things:


* Having the documentation source use semantic markup as much as 
 possible facilitates conversion between formats. `mandoc(1)` 
 doesn't only output man pages from mdoc source: it can also 
 produce HTML (used on man.voidlinux.org, with some custom CSS 
 for Void theming), PDF, PostScript, Markdown and plain ASCII. So 
 if things like flags, arguments, paths, environment variables, 
 variable types, variables, function types, functions etc. are 
 marked up in the mdoc source, a PDF (for example) can be styled 
 appropriately for each case.


* Additionally, extensive semantic markup has a direct benefit to 
 end-users: the ability to use the functionality of `apropos` to 
 find appropriate content. For example, say one wished to find 
 all uses of the 'GID' env var in the s6 man pages. One could use 
 `apropos 'Ev=GID' | grep s6-`. (This sort of use-case is part of 
 why i've made sure all the names of all the man pages i'm 
 creating are prefixed with "s6-".) Similarly, one could search 
 for all mentions of the 'notification-fd' file with `apropos 
 'Pa~.*notification-fd'`, with the '~' indicating an extended 
 regular expression. However, this won't work without the 
 relevant markup in the sources.


Fwiw, my suggestion, for those interested in converting the 
documentation to One True Format as decided by Laurent, would be 
to leverage my efforts to use semantic markup extensively in the 
man pages. Once the s6-man-pages repo is ready, use `mandoc -T 
html` to convert the pages to HTML, which will contain consistent 
semantic markup (e.g. ''). That 
HTML can then be parsed and converted to the One True Format, an 
authoritative source from which man pages and HTML can be 
produced.



Alexis.


Re: [request for review] Port of s6 documentation to mdoc(7)

2020-09-01 Thread Alexis



Steve Litt  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:


   
s6-envuidgid [ -u | -g | -B ] [ -n ] [ -i | -D 
uid:gid:gidlist ] 
account prog...

   


Alexis.


Re: [request for review] Port of s6 documentation to mdoc(7)

2020-09-01 Thread Alexis



Laurent Bercot  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,  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.


Re: [request for review] Port of s6 documentation to mdoc(7)

2020-09-01 Thread Alexis



Casper Ti. Vector  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.


Re: [request for review] Port of s6 documentation to mdoc(7)

2020-09-01 Thread Alexis



Casper Ti. Vector  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.


Re: [request for review] Port of s6 documentation to mdoc(7)

2020-08-31 Thread Alexis



Laurent Bercot  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.


Re: [request for review] Port of s6 documentation to mdoc(7)

2020-08-31 Thread Alexis



eric vidal  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.


[request for review] Port of s6 documentation to mdoc(7)

2020-08-30 Thread Alexis



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.