Re: Question about enable-absolute-paths option

From: Laurent Bercot <ska-skaware_at_skarnet.org>
Date: Sun, 02 Sep 2018 10:05:07 +0000

>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

This archive was generated by hypermail 2.3.0 : Sun May 09 2021 - 19:38:49 UTC