Re: Preliminary version of s6-rc available

2015-07-13 Thread Laurent Bercot
On 12/07/2015 23:53, Colin Booth wrote: The requirement for the s6-rc-init live directory to not exist is awkward if trying to go with the defaults on a distro system Why ? I don't think any distro will create /run/s6-rc at boot time; they'll mount /run, but /run/s6-rc won't exist. Or is /run

Re: Preliminary version of s6-rc available

2015-07-13 Thread Laurent Bercot
On 13/07/2015 17:35, Colin Booth wrote: Those options are all bad. My workaround was to mount a new tmpfs inside of run (that wasn't noexec) but that made using s6-rc annoying due to the no directory requirement. I don't think there's anything inherently bad about nesting mounts in this way thoug

Re: Preliminary version of s6-rc available

2015-07-16 Thread Laurent Bercot
On 14/07/2015 18:23, Colin Booth wrote: And s6-rc shouldn't be responsible for handling the creation and mounting of its tmpfs, system specific or not. That's the responsibility of the system administrator or the package maintainer. Obviously. s6-rc-db: [-d] dependencies servicename exits 1

Re: Preliminary version of s6-rc available

2015-07-16 Thread Laurent Bercot
On 16/07/2015 19:22, Colin Booth wrote: You're right, ./run is up, and being in ./finish doesn't count as up. At work we use a lot of runit and have a lot more services that do cleanup in their ./finish scripts so I'm more used to the runit handling of down statuses (up for ./run, finish for ./fi

Re: Preliminary version of s6-rc available

2015-07-17 Thread Laurent Bercot
On 17/07/2015 09:26, Rafal Bisingier wrote: So I run them as a service with "sleep BIG" in finish script (it's usually unimportant if this runs on same hours every day). I can have this sleep in the main process itself, but it isn't really it's job I also use a supervision infrastructure as a

Re: Preliminary version of s6-rc available

2015-07-19 Thread Laurent Bercot
On 19/07/2015 20:13, Guillermo wrote: Well, I haven't been very lucky with oneshots. First, the "#!execline" shebang with no absolute path doesn't work on my system, even if the execlineb program can be found via the PATH environment variable. Neither does "#!bash", "#!python", or any similar con

Re: Preliminary version of s6-rc available

2015-07-21 Thread Laurent Bercot
Please try with the latest git versions of { skalibs, execline, s6, s6-rc }. It should fix all the issues you reported. Also, the -u/-g switches to s6-rc-compile allow you to specify which users can operate the database being built. If you have other suggestions, please send them ! -- Lauren

Re: [PATCH] socket_local46: Make room on the stack for IPv6 sockaddrs

2015-07-26 Thread Laurent Bercot
On 26/07/2015 21:15, Jesse Young wrote: byte_copy() reads past the end of the sockaddr structure because it isn't sufficiently large enough to handle sockaddr_in6 addresses resulting in undefined behavior. armv6-alpine-linux-muslgnueabihf-gcc 5.1.0-r0 generates the "UDF" instruction in this case,

[announce] skalibs-2.3.6.0, execline-2.1.3.0

2015-07-27 Thread Laurent Bercot
Hello, skalibs-2.3.6.0 is out. A couple bugfixes (including a possible crash in socket_local46) and a new openreadnclose_nb() function. http://skarnet.org/software/skalibs/ git://git.skarnet.org/skalibs execline-2.1.3.0 is out. A new configure option, --shebangdir, to specify the abs

[announce] s6-2.2.0.0

2015-07-27 Thread Laurent Bercot
Hello, s6-2.2.0.0 is out. * s6-notifywhenup has been removed. Please use the ./notification-fd file for readiness notification. * Long-awaited feature: configurable timeouts for finish scripts! echo timeout-in-milliseconds > timeout-finish Infinite timeouts are supported, if timeo

Re: [announce] s6-2.2.0.0

2015-07-28 Thread Laurent Bercot
On 28/07/2015 16:59, Patrick Mahoney wrote: If I understand correctly, any 'readiness' reporting mechanism must originate from the run script (to inherit notification-fd). Yes. Do you have any suggestions for adding readiness support to a daemon *without modifying that daemon*? It's stil

Re: Bug in ucspilogd v2.2.0.0

2015-08-09 Thread Laurent Bercot
On 09/08/2015 09:27, Colin Booth wrote: I haven't yet dug into the skalibs code to see what changed between those tags, or started bisecting it to find out which commit broke. The git diff between 2.3.5.1 and current HEAD is pretty small, and there's really nothing that changed in the graph of

Re: Bug in ucspilogd v2.2.0.0

2015-08-09 Thread Laurent Bercot
On 09/08/2015 19:12, Colin Booth wrote: I haven't experimented with it yet, but I think the messages from long-running logger processes are null-separated, just not the last line. I'll take a look later today when I have time. Ah, that's easy enough to fix. Please try with the latest s6 git an

Re: Bug in ucspilogd v2.2.0.0

2015-08-09 Thread Laurent Bercot
On 09/08/2015 20:13, Colin Booth wrote: Ok, I was wrong. I set up a little netcat /dev/log reader and there's no separator at all between messages. At least not one that made it to netcat. It also looks like the new logger stops reading after the first \0, and strips all newlines. ... wat.

Re: Bug in ucspilogd v2.2.0.0

2015-08-10 Thread Laurent Bercot
I'd be unsurprised if rsyslog has done datagrams for a while. omuxsock, the rsyslog log sender module, only does datagrams so I'd be surprised if imuxsock didn't handle them natively. Hell, they might have been always sending datagrams but not removing the stream markers until recently. Yup, th

Re: Bug in ucspilogd v2.2.0.0

2015-08-11 Thread Laurent Bercot
On 12/08/2015 04:45, Guillermo wrote: I don't know about syslog on /dev/log, but for syslog over a network there is this: Yeah, I know about the syslog RFCs. The mild way to put it is that they're about as useful, well-engineered and enticing as a steaming pile of donkey shit. And donkey shit

Re: [s6] debian packaging

2015-08-12 Thread Laurent Bercot
(Please follow-up this part of the thread to the skaware mailing-list.) On 12/08/2015 08:37, Buck Evan wrote: - https://github.com/bukzor/s6-packaging/blob/dockerize/execline/debian/patches/02_link_against_libskarnet.patch - https://github.com/bukzor/s6-packaging/blob/dockeriz

Gentoo building bug: should be fixed

2015-08-12 Thread Laurent Bercot
Hi, Guillermo reported a bug discovered here: https://bugs.gentoo.org/show_bug.cgi?id=541092 The latest git versions of skarnet.org packages should fix the issue (with the wonderful magic of XYZZY!), so the Gentoo workaround should now be unnecessary. The latest versions also rework how sha

[announce] Bugfix release (building with dynamic libraries)

2015-08-13 Thread Laurent Bercot
Hello, A release to fix a few building bugs that could impact some systems. Notably: - rebuilding and reinstalling shared libraries in the same place without using a DESTDIR should now work - linking against shared objects on non-musl systems without a vDSO should now work all the time. It

Re: Build Break in s6-rc

2015-08-13 Thread Laurent Bercot
On 13/08/2015 17:30, Colin Booth wrote: Your commit 979046fdee76d70792750f5a1a9afd2bba5f127f introduced a build failure in src/s6-rc/s6-rc-compile.c. No, it didn't. If you're going to pull from git head, then you should pull from the git head of *every* project, including dependencies. Which

Re: Build Break in s6-rc

2015-08-13 Thread Laurent Bercot
On 13/08/2015 18:05, Laurent Bercot wrote: If you're going to pull from git head, then you should pull from the git head of *every* project, including dependencies. Which you didn't for execline. :) I'm not lying! I'm just chronologically challenged sometimes. See, if

Re: Build Break in s6-rc

2015-08-13 Thread Laurent Bercot
On 13/08/2015 18:21, Colin Booth wrote: nice to get rid of that pile of explicit bundle definitions that I currently have for service-logger pairs. Eh... keep a backup of your current source, if you're using it in a half-serious environment. The current version uses automatically generated ser

s6-rc plans (was: Build break in s6-rc)

2015-08-13 Thread Laurent Bercot
Oh, and btw, I'll have to change s6-rc-init and go back to the "the directory must not exist" model, and you won't be able to use a tmpfs as live directory - you'll have to use a subdirectory of your tmpfs. The reason: as it is now, it's too hard to handle all the failure cases when updating l

Re: s6-rc plans

2015-08-13 Thread Laurent Bercot
On 13/08/2015 19:55, Colin Booth wrote: Makes sense. In this case can we get a --livedir=DIR buildtime option so us suckers using a noexec-mounted /run can relocate things easily without having to type -l every time we want to interact with s6-rc? Unless I encounter a strong reason not to, su

Re: Build Break in s6-rc

2015-08-13 Thread Laurent Bercot
On 13/08/2015 19:44, Colin Booth wrote: I run s6-rc on my laptop, which is about as half-serious an environment as you get. You like to play with fire. :) Until it's released, it's not production-ready by any means. Just making sure you're very much aware of that. I may be missing somethin

Re: Build Break in s6-rc

2015-08-14 Thread Laurent Bercot
On 14/08/2015 01:25, Colin Booth wrote: I'm not sure how I feel about having the indestructibility guarantee residing in a service that isn't the root of the supervision tree. I haven't done much with s6-fdholderd but unless there's some extra magic going on in s6rc-fdholderd, if it goes down it

Re: s6-rc - odd warn logging and a best practices question

2015-08-20 Thread Laurent Bercot
On 20/08/2015 08:57, Colin Booth wrote: When running s6-rc -v2 change $bundle, the s6rc-fdholder "pre addition of notification-fd" message has some garbage characters in it: s6-svc: warning: /run/s6/rc/scandir/s6rc-fdholderà¯'þpre addition of notification-fd s6-svc: warning: /run/s6/rc/scandir/s

Re: s6-rc - odd warn logging and a best practices question

2015-08-20 Thread Laurent Bercot
On 20/08/2015 10:57, Laurent Bercot wrote: s6-svc: warning: /run/s6/rc/scandir/s6rc-fdholder/notification-fdpost addition of notification-fd Looks like a missing/wrong string terminator. Thanks for the report, I'll look for it. I can't grep the word "addition" in my cu

Re: s6-rc - odd warn logging and a best practices question

2015-08-20 Thread Laurent Bercot
On 20/08/2015 16:43, Colin Booth wrote: Yeah, this is for the special case where you have a daemon that doesn't do readiness notification but also has a non-trivial amount of initialization work before it starts. For most things doing the below talked about oneshot/longrun split is best, but some

Re: s6-rc - odd warn logging and a best practices question

2015-08-20 Thread Laurent Bercot
On 20/08/2015 18:53, Colin Booth wrote: I think only the socket part is fancy systemd-centric design Oh, the protocol is complicated too. If I start to implement it, there's no stopping, and I'll be running behind systemd every time they add something to the protocol, which is exactly what I d

Re: s6-rc - odd warn logging and a best practices question

2015-08-21 Thread Laurent Bercot
On 21/08/2015 07:01, Colin Booth wrote: Not a bug in s6-rc or s6 but in some Debian script somewhere. Some single-user script appears to re-mount all mount points, which has the net result of causing all file handles into tmpfs mounts to go stale. Wow. Is it a "mount -o remount", or a umount f

Re: skaware tests?

2015-08-21 Thread Laurent Bercot
On 21/08/2015 22:05, Buck Evan wrote: Is there any kind of test suite for skalibs/execline/s6 ? I would love it if there were one. :) See http://skarnet.org/cgi-bin/archive.cgi?1:mss:276:201502:mndjpngghogjemeljjac and the ensuing thread, also available at https://www.mail-archive.com/skaw

Re: skaware manpages?

2015-08-21 Thread Laurent Bercot
On 21/08/2015 22:10, Buck Evan wrote: @Laurent: What's your take on man pages? Short version: I like them, as long as I don't have to write them or move a finger to generate them. Long version: I honestly believe man pages are obsolete. They were cool in the 90's when they were all we had;

Re: skaware manpages?

2015-08-21 Thread Laurent Bercot
On 22/08/2015 01:03, Buck Evan wrote: Actually, apparently HTML is the preferred format, so we're good. https://www.debian.org/doc/debian-policy/ch-docs.html#s12.4 Yeah, in the 12.1 section they still say that they consider the lack of a manpage for a binary as a bug. >.> If they'll take stub

Re: Preliminary version of s6-rc available

2015-08-22 Thread Laurent Bercot
Should be all fixed, thanks! -- Laurent

Re: Preliminary version of s6-rc available

2015-08-22 Thread Laurent Bercot
On 22/08/2015 08:26, Colin Booth wrote: I run my s6 stuff in slashpackage configuration so I missed the s6-fdholder-filler issue. The slashpackage puts full paths in for all generated run scripts so I'm a little surprised it isn't doing that for standard FHS layouts. FHS doesn't guarantee abso

Re: Preliminary version of s6-rc available

2015-08-24 Thread Laurent Bercot
Should be fixed in the latest git, thanks ! -- Laurent

Re: Preliminary version of s6-rc available

2015-08-25 Thread Laurent Bercot
On 25/08/2015 02:21, Guillermo wrote: The s6-rc-fdholder-filler issue is fixed indeed, thank you. But I still have the 's6-ftrigrd: fatal: unable to sync with client: Broken pipe' one (the second one from my previous message). In fact, I made further tests, and it happened consistently with longr

Re: Preliminary version of s6-rc available

2015-08-25 Thread Laurent Bercot
On 25/08/2015 20:15, Guillermo wrote: OK, today's commit fc91cc6cd1384a315a1f33bc83e6d6e9926fc791, which I noticed after sending that last message, had already fixed that. Yes, another bug-report was sent to me privately, I committed a fix; that bug was the cause of the "-T 3" behaviour you w

Re: s6-svstat "want up"

2015-09-08 Thread Laurent Bercot
On 08/09/2015 22:36, Buck Evan wrote: $ s6-svc -dx date/ [5] Dones6-supervise date When you tell s6-supervise to exit, it does not update the status file before exiting. It's unnecessary, because whether the service is "up" or "down" becomes nonsensical: it's simply unsu

Re: s6-svstat "want up"

2015-09-08 Thread Laurent Bercot
On 08/09/2015 23:47, Buck Evan wrote: An error would solve my issue, but the other data in the output seem valid. It's an accident if it is. Statting an unsupervised service directory is a programming error. Try the latest s6 git, s6-svstat should now exit 1 in that case. -- Laurent

Re: updating services' environment

2015-09-08 Thread Laurent Bercot
On 08/09/2015 23:57, Buck Evan wrote: I'm writing a framework in which I need to be able to easily restart services with new environment values. Start your run script with "s6-envdir env", and allow users to modify variables in env ? It seems counter to the core design to have supervise st

Re: s6-rc shutdown timing issue

2015-09-13 Thread Laurent Bercot
On 13/09/2015 09:08, Colin Booth wrote: I've been digging into managing a system completely under s6 and I can't seem to find the right time to run `s6-rc -da change'. Run it before sending s6-svscan the shutdown/reboot/halt commands and can end up with a situation where your read/write drive has

Re: s6-rc shutdown timing issue

2015-09-13 Thread Laurent Bercot
On 13/09/2015 20:25, Colin Booth wrote: My current issue is that I'm initially remounting my root filesystem as r/w as one of the first steps for s6-rc, which means that if I'm doing everything correctly, s6-rc attempts to remount root as read-only as part of its shutdown. Yeah, indeed, that w

Re: s6-rc-update initial findings

2015-09-14 Thread Laurent Bercot
On 15/09/2015 00:40, Colin Booth wrote: Ok, did some more testing and it looks like the contents of $SVCDIR end up being the additive delta between current and new. When initializing, there are no s6-rc managed servoces in $SVCDIR so of course the delta will be all new services. When adding a new

Re: execline PATH

2015-09-16 Thread Laurent Bercot
On 16/09/2015 11:25, Matti Kaasinen wrote: I managed cross compiling s6 suite (2.3.7.0) for am335x based board with Yocto/bitbase. In practice it seems working. However, there seems to be PATH issue. For instance s6-svscanboot found from examples folder does not work, or in fact any execline scri

Re: s6-rc-update initial findings

2015-09-16 Thread Laurent Bercot
On 14/09/2015 08:25, Colin Booth wrote: Moved all the files for the various s6-supervise processes to use the new directories (that's a clever trick by the way) That's not clever, that's incredibly pedestrian, and ugly because it's just not possible to do it 100% safely. As much as I love Unix

Re: s6-rc-update initial findings

2015-09-17 Thread Laurent Bercot
On 17/09/2015 07:43, Colin Booth wrote: I thought moves (directory or otherwise) were atomic. Moves you can perform with rename(), yes, they are. But when the longrun is kept up during the update, you need to copy a whole new set of files (the contents of the new service directory) into the

Re: svstat race

2015-09-17 Thread Laurent Bercot
On 17/09/2015 19:33, Buck Evan wrote: I sometimes get this result if I run s6-supervise and s6-svstat very close together: Yes. It happens when the service has just been launched and has not even tried to come up yet. Known issue, purely cosmetic; I'll try and fix it in the next release. --

[announce] skarnet.org Fall 2015 update

2015-09-23 Thread Laurent Bercot
Hello, A series of small updates. * skalibs-2.3.7.0 - A few more utility functions such as touch(), filecopy_suffix(), or atomic_rm_rf(). (Yes, that last one removes filesystem hierarchies atomically. It's magic!) http://skarnet.org/software/skalibs/ git://git.skarnet.o

[announce] s6-rc: a s6-based service manager for Unix systems

2015-09-23 Thread Laurent Bercot
Hello, s6-rc-0.0.1.0 is out. s6-rc is a service manager for Unix systems, running on top of a s6 supervision tree. It manages the live state of the machine, defined by a set of services, by bringing those services up or down as ordered by the user. It handles long-lived processes, a.k.a. "l

Re: [announce] s6-rc: a s6-based service manager for Unix systems

2015-09-24 Thread Laurent Bercot
On 24/09/2015 02:55, Colin Booth wrote: There might be a chance that s6-rc-compile derefrences symlinks into real files, or just bulk copies those files without massaging them. If either is the case it should be safe to just put those into place with the target pointing in the right place (the re

Re: [announce] s6-rc: a s6-based service manager for Unix systems

2015-09-24 Thread Laurent Bercot
On 24/09/2015 04:54, Avery Payne wrote: 1. Copy the entire contents of the svcdef/ directory into the s6 source definition directory, including dot file support directories. There is no room in the source definition directory for a support directory as svcdef/ ; I mean, you can put it anywhere

Re: [announce] s6-rc: a s6-based service manager for Unix systems

2015-09-24 Thread Laurent Bercot
On 24/09/2015 13:56, Patrick Mahoney wrote: Hi, the website says it requires "s6 version 2.2.1.0 or later", but I'm getting a compile error: You probably got a version where package/info said 2.2.1.0 but the tag wasn't there yet. As long as "git tag" doesn't list "v2.2.1.0" then it's not 2.2.1

Re: [announce] s6-rc: a s6-based service manager for Unix systems

2015-09-24 Thread Laurent Bercot
On 24/09/2015 18:45, Avery Payne wrote: This is probably the only real problem in the arrangement I'm using then. The entire premise is "the support scripts live where the definitions live and are called with relative pathing, allowing the definitions to be located anywhere". My point of view

Re: [announce] skarnet.org Fall 2015 update

2015-09-24 Thread Laurent Bercot
On 25/09/2015 03:18, Guillermo wrote: Reading the documentation, I couldn't tell the difference between these and the -wu and -wU options. Looking at the code, -r seems to mean "wait for a D event, and then for an u event", and -R seems to mean "wait for a D event, and then for an U event". Is th

Re: readiness notification from non-subprocess

2015-09-28 Thread Laurent Bercot
On 28/09/2015 22:49, Buck Evan wrote: If i'm reading the code correctly, readiness notification currently works via a unnamed pipe between s6-supervise and its supervised subprocess. I'd like to tell s6-supervise that my service has become 'ready' from a parent process, which of course doesn't h

Re: readiness notification from non-subprocess

2015-09-28 Thread Laurent Bercot
On 28/09/2015 23:26, Buck Evan wrote: When my state machine sees that ./check has succeeded, what will it do? I can't use the current notification-fd interface because I'm in an unexpected bit of the process tree; this is external program sitting *on top* of s6-supervise. It's the parent process.

Re: readiness notification from non-subprocess

2015-09-29 Thread Laurent Bercot
On 29/09/2015 00:15, Olivier Brunel wrote: [2] https://github.com/jjk-jacky/anopa/blob/master/src/utils/aa-setready.c Yeah, the problem is, aa-setready is prone to the same race condition as s6-notifywhenup was, which is the reason why I scrapped s6-notifywhenup and made a fd to report to s6-s

Re: readiness notification from non-subprocess

2015-09-29 Thread Laurent Bercot
On 29/09/2015 00:08, Buck Evan wrote: If it's not good for s6, I'm not sure it's good for my framework either. Not necessarily. s6-supervise is extremely paranoid; depending on its use cases, your framework doesn't have to be. Also, if you control both ends of a named pipe and can reasonably a

Re: [announce] s6-rc: a s6-based service manager for Unix systems

2015-09-29 Thread Laurent Bercot
On 29/09/2015 17:50, Colin Booth wrote: Still an open question on correct ordering. I want to do this: 1) udev longrun 2) udev support oneshot But I also don't want to maintain a patch set for init.d/udev to remove the start call to udev itself since udev is perfectly happy to have multiples run

Re: [announce] s6-rc: a s6-based service manager for Unix systems

2015-09-29 Thread Laurent Bercot
On 29/09/2015 19:06, Colin Booth wrote: Again, the goal (implied, but unstated) here isn't "test to see if s6-rc works for end-to-end system management" (it definitely does), the goal is "see how much work/pain in the ass it is to convert a typical end-user system* to s6-rc." Hence all the hand-w

Re: [announce] s6-rc: a s6-based service manager for Unix systems

2015-09-29 Thread Laurent Bercot
On 29/09/2015 20:59, Avery Payne wrote: 5. I think the only way out of this silly situation is the creation of .debs with your init/supervisor, and include some support scripts in them to intercept whatever brain damage apt-get seems to be enduring with regard to restarting daemons after upgradin

Re: [announce] s6-rc: a s6-based service manager for Unix systems

2015-09-29 Thread Laurent Bercot
On 29/09/2015 22:19, Avery Payne wrote: Well, it won't be in officially, but it's still possible as a 3rd party set of packages. If nosh can make packages for Debian, then it's possible to get s6-rc/s6 packaged. Sure, but Jonathan himself made the nosh packages for Debian. He's to be commende

Re: debug ftrig events

2015-10-01 Thread Laurent Bercot
On 01/10/2015 22:02, Buck Evan wrote: Is there any simple way to get a printout of the full stream of events? The utilities seem to only block on a regex, which doesn't help for this purpose. Start another client subscribing on the same fifodir with '.' as regular expression, so it will trigge

[announce] Bugfix release, Everybody Loves Dynamic Libraries edition

2015-10-04 Thread Laurent Bercot
Hello, It appears that dynamic library support was buggy. (Again. But the problem was different this time!) So, new releases of software potentially providing dynamic libraries: skalibs-2.3.7.1 execline-2.1.4.1 s6-dns-2.0.0.6 s6-networking-2.1.0.3 s6-2.2.1.1 s6-rc-0.0.1.1 If you wer

skarnet.org packages dependency to GNU make -> 3.81

2015-10-12 Thread Laurent Bercot
Hello, You know how I feel about distributions shipping packages that are 8 years old. You know how I feel about people insisting on using old versions of a package when later versions are backwards-compatible. Well, I was given new information that made me change my mind. The thing is, G

Re: s6-ftrig-wait is not relocatable

2015-10-13 Thread Laurent Bercot
On 14/10/2015 01:58, Buck Evan wrote: open("/tmp/pip-build-qcZXTx/s6/build/temp.linux-x86_64-2.7/etc/leapsecs.dat", O_RDONLY|O_NONBLOCK) = -1 ENOENT (No such file or directory) That is indeed where the leapsecs.dat file lived when the binary was compiled, but no longer. I don't know whether thi

Re: s6-ftrig-wait is not relocatable

2015-10-14 Thread Laurent Bercot
On 14/10/2015 02:58, Buck Evan wrote: The packaging system I'm targeting (pypi wheels =X) are built binaries that are relocated arbitrarily, so the "run-time installation path" is entirely unknown at compile time. I don't understand. How is that even supposed to work? If packages want to insta

Re: s6-ftrig-wait is not relocatable

2015-10-14 Thread Laurent Bercot
On 14/10/2015 18:47, Buck Evan wrote: I have a pretty extensive test suite for my system that's built atop s6, and the only part that explodes is the access of leapseconds.dat What about access to libexec binaries such as s6lockd-helper or s6-rc-oneshot-run? Try running s6-setlock with the -t

Re: s6-ftrig-wait is not relocatable

2015-10-14 Thread Laurent Bercot
Try the latest skalibs git. It doesn't install leapsecs.dat, the leap second table is directly in the code, as you suggested. That's a pretty massive simplification - at worst, something good will have come of this. :) Yes, I see that s6lockd-helper is in libexec; it won't be found. Then y

Re: s6-ftrig-wait is not relocatable

2015-10-14 Thread Laurent Bercot
On 15/10/2015 02:02, Buck Evan wrote: Are you idealogically opposed to the relpath strategy? Under this scheme, no absolute paths would be encoded in any binary, only relative paths. I'm not ideologically opposed to the relpath strategy, I don't *hate* it, but I think it has important drawback

[announce] New skarnet.org release, with relaxed requirements.

2015-10-15 Thread Laurent Bercot
Hello, New versions of the skarnet.org packages are available, which ease the installation dependencies. - GNU make 4.0+ is not needed anymore. Packages will now build with GNU make 3.81 or later. - The skalibs package does not install a /etc/leapsecs.dat file anymore, and packages linked a

Re: daemontools tai64n is unbuffered, s6-tai64n is fully buffered

2015-10-20 Thread Laurent Bercot
On 20/10/2015 02:16, Buck Evan wrote: My canonical slowly-printing example is: yes hello world | pv -qL 10 | tai64n Under daemontools classic you'll see the output gradually appear character by character, with timestamps. Under s6, this seems to hang and I ctrl-c it. I'm sure if I waited a

Re: daemontools tai64n is unbuffered, s6-tai64n is fully buffered

2015-10-20 Thread Laurent Bercot
On 20/10/2015 18:48, Buck Evan wrote: Another micro-bug: s6-tai64nlocal adds an additional space where it shouldn't really. Good catch, thanks for the report. Fixed in current git. -- Laurent

Re: daemontools tai64n is unbuffered, s6-tai64n is fully buffered

2015-10-20 Thread Laurent Bercot
On 20/10/2015 23:31, Buck Evan wrote: Confirmed fixed. Can I get a micro release? I'll pin myself to that one for the moment. Find me another bug and I'll deem it release-worthy. :) Also, is there any good way to get s6 to tell me its version when it's statically linked? Nope, that is me

Re: daemontools tai64n is unbuffered, s6-tai64n is fully buffered

2015-10-20 Thread Laurent Bercot
On 20/10/2015 23:36, Buck Evan wrote: Is it expected that it's line-buffered? It's not line-buffered. It's optimally buffered, i.e. the buffer is flushed whenever it's full (obviously) or whenever the loop goes back to reading with a chance of blocking. When you test with a loop around echo, y

Re: daemontools tai64n is unbuffered, s6-tai64n is fully buffered

2015-10-20 Thread Laurent Bercot
On 21/10/2015 01:05, Buck Evan wrote: This prints slowly enough that I can *see* that tai64nlocal is printing each character separately, but s6-tainlocal is printing per-line. Ah, I understand. s6-tai64nlocal isn't *printing* line per line, it is *reading* line per line. It buffers its input u

Re: Confusing error when s6-svstat version newer than s6-supervise

2015-10-22 Thread Laurent Bercot
On 22/10/2015 23:08, Patrick Mahoney wrote: I suppose that means when upgrading major version numbers, I should restart the entire supervision tree. Yes. Generally, I recommend always using the binaries of the *same* version of the package, but for long-running processes such as the supervisio

Re: [announce] New skarnet.org release, with relaxed requirements.

2015-10-22 Thread Laurent Bercot
On 23/10/2015 00:57, Guillermo wrote: So, I don't know if the handler scripts for diverted signals that the new version of s6-linux-init-maker generates are intended to be compatible with BusyBox. But if that's the intention, then the ones for SIGUSR1 and SIGUSR2 are inverted: I think that the si

Re: Rewriting a shell script

2015-11-30 Thread Laurent Bercot
On 30/11/2015 06:57, Colin Booth wrote: I'm pretty sure that your single quotes are confusing the execline parser. That's the answer. execline only uses double quotes, it does not understand single quotes. Since awk accepts either single or double quotes as delimiters Hm ? I don't think

Re: Rewriting a shell script

2015-11-30 Thread Laurent Bercot
And of course, one second after hitting "Send", I find a mistake. Poster's curse. #!/usr/bin/execlineb -P with-contenv backtick -n BIND { pipeline { import -u HOSTNAME getent hosts ${HOSTNAME} } cut -f1 -d" " } s6-setuidgid consul import -u BIND # forgot this one (backtick doesn't subst

Re: Rewriting a shell script

2015-11-30 Thread Laurent Bercot
On 30/11/2015 17:57, Colin Booth wrote: Eh what? define -sn splits ${A} into N words, of which the first is put into ${B} and the rest dropped.i Nope. It will split ${A} into N words, drop the last word if ${A} isn't terminated with a delimiter, and put all those words into B. Actually, on

Re: What happens if the catch-all logger restarts?

2015-12-26 Thread Laurent Bercot
On 2015-12-26 17:11, Guillermo wrote: I guess that for a short window of time, processes that send their logs to the catch-all logger could potentially receive a SIGPIPE, right? Yes, if they fail to ignore SIGPIPE, but most long-lived processes rightfully ignore it. Most likely, a write() woul

Re: bitarray: Add first{clear,set}_skip

2015-12-27 Thread Laurent Bercot
Hi Olivier, I always managed to only need to do this at 8 bit boundaries, which made these functions unnecessary: if you need something starting at offset 8n in bitarray A, then you just call the function on A+n. :) Nevertheless, the general case may be useful someday, so I'll add your functio

Re: ftrigrd bug

2016-01-05 Thread Laurent Bercot
On 05/01/2016 15:01, Olivier Brunel wrote: I don't think I'm doing anything wrong (though if I am, please let me know) and I'm having some issue with ftrigrd. I don't know whether you're doing anything wrong, but in any case, you're making s6-ftrigrd segfault (I can reproduce with your example

Re: ftrigrd bug

2016-01-06 Thread Laurent Bercot
On 05/01/2016 15:01, Olivier Brunel wrote: It hasn't been very easy to track down and I'm still unsure of what's causing the issue, many times it seemed like a race condition is at play (or some ordering) since sometimes it would work, other times I only get the EINVAL, and then sometimes it segf

[announce] skalibs-2.3.9.0, s6-2.2.4.3

2016-01-08 Thread Laurent Bercot
Hello, skalibs-2.3.9.0 is out. Two more functions: bitarray_firstclear_skip and bitarray_firstset_skip. Also a bugfix. http://skarnet.org/software/skalibs/ git://git.skarnet.org/skalibs s6-2.2.4.3 is out. It fixes a bug where s6-ftrigrd could crash if a client unsubscribes from a fi

Re: Problem with fdmove

2016-02-15 Thread Laurent Bercot
On 15/02/2016 10:55, Jan Olszak wrote: The fdmove 1 3 operation shouts: fdmove: fatal: unable to move fd 3 to fd 1: Bad file descriptor That means fd 3 is not open. You need to have a notification-fd file that contains "3". If I comment this line out everything's OK. But I lose the notifica

Re: Problem with fdmove

2016-02-15 Thread Laurent Bercot
On 15/02/2016 11:30, Jan Olszak wrote: I do have a notification-fd file: What does it contain? To work with the stock syslogd-linux/run script, it should contain 3. When is notification-fd opened? It is read by s6-supervise when the service starts. s6-supervise creates a pipe, and give

Re: target mismatch building on different versions of darwin

2016-02-27 Thread Laurent Bercot
On 27/02/2016 17:01, Patrick Mahoney wrote: Another might be to patch the ./configure script to strip off any darwin version number from the output of `-dumpmachine`. It's quite easy to do this within the nix packages of skalibs, etc. without any need to modify skalibs upstream. Wondering if you

Re: running s6-rc as unpriviledged user

2016-02-27 Thread Laurent Bercot
On 28/02/2016 00:25, Terrel Shumway wrote: sv/wm/run execs dwm sv/xterm/run execs x-terminal-emulator (running xterm supervised is fun) sv/xserver/run execs the X server (Xephyr for testing) sv/ssh-agent/run execs ssh-agent in non-daemon mode Your problem here is user discrepancy. xserver r

Re: how do I start the "catch-all-logger"

2016-02-27 Thread Laurent Bercot
On 28/02/2016 00:38, Terrel Shumway wrote: I see many references to a catch-all-logger but I don't see any instructions on how to start it or use it. Try running s6-linux-init-maker: http://skarnet.org/software/s6-linux-init/s6-linux-init-maker.html and studying what it's doing. The catch-a

Re: target mismatch building on different versions of darwin

2016-02-28 Thread Laurent Bercot
On 27/02/2016 22:22, Laurent Bercot wrote: I'm not sure how gcc/clang -dumpmachine gets its information (on my Linux, strace doesn't show anything conclusive) but if it's provided by the OS, then I consider this a bug of Darwin that you can report I'm told it's hardc

Re: target mismatch building on different versions of darwin

2016-02-28 Thread Laurent Bercot
On 28/02/2016 17:21, Guillermo wrote: ./configure --target=x86_64-apple-darwin13.4.0 --with-sysdeps=whatever/skalibs/sysdeps That would work too, but then the same target should be given to compile every package that uses skalibs. It's as cumbersome as if you were cross-compiling, even though

Re: s6-log run script

2016-03-02 Thread Laurent Bercot
On 02/03/2016 23:52, Jan Olszak wrote: #!/usr/bin/execlineb -P if -nt { backtick -n S6_LOG_ARGS { redirfd -r 0 /opt/s6logargs.opts s6-cat } import -u S6_LOG_ARGS s6-log T $S6_LOG_ARGS } s6-log T s100 n10 /var/log/syslogd That won't work for several reasons: * the

Re: s6-log run script

2016-03-04 Thread Laurent Bercot
On 04/03/2016 23:15, Jan Olszak wrote: But what if I need to fallback if the arguments are malformed? I'd argue this is not a good idea. Arguments to a logging script are not user data, they are admin-controlled data that impacts the working of your system. They should be validated before you

Re: s6-linux-init's dependency list

2016-03-07 Thread Laurent Bercot
On 07/03/2016 14:49, Luis Ressel wrote: Some of the dependencies listed in s6-linux-init's INSTALL file are only needed by the generated /sbin/init, but not by s6-linux-init itself. The INSTALL file is a bit vague about this. Here's a patch to reword it a bit. Done, with a different wording (t

Re: s6-linux-init permissions

2016-03-07 Thread Laurent Bercot
On 07/03/2016 15:28, Luis Ressel wrote: IMHO it makes much sense to run s6-linux-init as non-root if you only want to check its output without actually using it on your system, so I'd propose to change its file permissions in package/modes to 0755. I understand it's annoying, but the root perm

Re: s6-linux-init permissions

2016-03-07 Thread Laurent Bercot
On 07/03/2016 16:06, Luis Ressel wrote: I'm aware of this. What's so bad about people being able to run s6-linux-init-maker without root permissions? What is so bad is that the produced output is not suitable for booting: files will be owned by a non-root user, who then has the necessary permi

<    1   2   3   4   5   6   7   8   9   >