>Thanks for this note, I haven't looked at these packages. At first I
>thought execline binaries will only be called inside execlinep
>scripts. Could you give some examples that s6 calls these binaries
>directly except exelinep?
In addition to what Casper said: for instance, some of the
s6-fdholder-* utilities in the s6 package assume that the "fdclose"
and "fdmove" programs are accessible via a PATH search.
The point of execline is to allow the user to embed control commands
into a single argv. This is useful regardless of the execlineb
binary, whose sole purpose is to convert a text file into an argv.
>I try this because I find document(INSTALL) says there's
>--enable-absolute-paths option. And
>
> This will ensure that programs calling binaries from
> this package will call them with their full installation path (in
>bindir)
> without relying on a PATH search.
>
>So either I misunderstand the document or this feature hasn't been
>implemented.
This option ensures compiled binaries embeds absolute paths, yes,
so by using it you would make sure, for instance, that the
s6-fdholder-* utilities mentioned above can actually find the fdclose
and fdmove commands they rely on. But this does not say anything
about scripts you write - execlineb cannot tell whether you are
executing a binary provided by execline or any other binary.
When you write 'execlineb -c "if { foo } blah"', the execlineb binary
will execute into an argv starting with "if". If the "if" command
isn't in its PATH, then it won't find it.
--enable-absolute-paths cannot rewrite it into "/usr/lib/execline/if"
in your scripts for you.
--
Laurent
Received on Sun Sep 02 2018 - 10:05:07 UTC