socket-helper { name1 /run/name1.socket name2 /run/name2.socket } progCurrently socket-helper is a shell script, as I haven't found a way to generate the unknown number of `s6-ipcserver-socketbinder /path/sock fdmove N 0` using just execline. Is this socket-helper (or an easier-to-implement analogue of it) possible in execline? I know `getpid` allows a one-line implementation of the first environment variable, but I'm at a loss on how to implement the last two.
Do you mean you have a variable number of (name, socket) pairs? In any case, it is certainly *possible* to implement something like this in execline, because execline is Turing-complete, but it doesn't mean that it's easy or even a good idea. To handle a variable number of arguments, you need to iterate over them, and maintaining a state is difficult in execline, so it would very likely be more complicated than is worth. I'd advise you to stick with your shell script. To be honest, if I were writing such a helper, I'd make it a small C program. The best course of action would naturally be to convince the gpg-agent authors that socket pre-opening (for which LISTEN_FDS is a terrible interface but that's not our concern here) has nothing to do with foregrounding, and they should entirely decouple these. -- Laurent
