Date:        Fri, 25 Feb 2022 15:25:53 +0000
    From:        "Geoff Clare via austin-group-l at The Open Group" 
<austin-group-l@opengroup.org>
    Message-ID:  <20220225152553.GA4559@localhost>

  | The point is it's a difference in behaviour between the two
  | implementations.

Yes, understood.   My question (not to you, but to the universe) was
whether that difference needs to exist?  That is, perhaps I can change
the NetBSD impl to at least behave wrt -e (and the fictional -E) the
same as the coreutils version.   That seems like it would be a better
outcome, if it was possible, right?

Right now I have no idea whether it is possible however (the code
is obviously possible, it is the compat issues/politics that are
questionable).

  | Rather than just making it unspecified whether
  | the last component has to exist, it seemed to me that it would
  | be more useful to have -e and -E options so that users have a
  | way to ensure they get the same behaviour on both.

Yes, if it turns out not to be possible to alter the default behaviour
of the default for our version, that would certainly be a reasonable
approach.

  | So my preferences are (in descending order):

I'd insert:

    0. Make the BSD version compatible with coreutils (at least for
       the one issue that seems to matter - though I'm not sure what
       its practical uses are).

  | 1. POSIX adds realpath with -e and -E,

[...]

  | I wasn't proposing any other options be included for realpath
  | (except perhaps -q, depending on whether it behaves the same in
  | both implementations).

Understood, I was just ruminating on the others on the assumption that
if I can attempt to make ours compatible, just how compat should I aim.
It won't be all the way, but perhaps more than just the -e issue.

The -q seems to be (close enough to, given the other differences) the
same between the two (at least according to the coreutils man page).
It just makes some stderr output vanish (which incidentally might make
realpath do exit(1) without anything on stderr).

e...@google.com said:
  | in terms of "what's actually used in the wild", Android uses toybox (0BSD
  | licensed, so anyone can look :-) ) 

OK, I did.   Note that we're talking of options for realpath(1), not
readlink(1).   It looks as if the toybox version (from what I can gather
from what I guess from that very stylised code) has no options to realpath
at all - and that it is simply a clone of readlink -f, just as Steffen
indicated the busybox version is.

There would be no point including realpath(1) in posix if it is simply
readlink -f with no options possible at all - there has to be some difference
in how it works to be worth including, I would have thought.

e...@google.com also said:
  | one thing i haven't seen mentioned so far (but which i added to toybox
  | myself, so i know it's definitely in use) is that existing realpath
  | implementations support *multiple* file arguments on the command line, not
  | just one.

Sure, as best I can tell, all implementations of both readlink and realpath
allow multiple file (path) args.

kre

  • Re: [1003.1(2016/18)... Robert Elz via austin-group-l at The Open Group
    • Re: [1003.1(201... Geoff Clare via austin-group-l at The Open Group
    • Re: [1003.1(201... Robert Elz via austin-group-l at The Open Group
      • Re: [1003.1... Geoff Clare via austin-group-l at The Open Group
      • Re: [1003.1... Robert Elz via austin-group-l at The Open Group
      • Re: [1003.1... Robert Elz via austin-group-l at The Open Group
        • Re: [10... Geoff Clare via austin-group-l at The Open Group
          • Re:... Steffen Nurpmeso via austin-group-l at The Open Group
        • Re: [10... enh via austin-group-l at The Open Group
          • Re:... Steffen Nurpmeso via austin-group-l at The Open Group
        • Re: [10... Robert Elz via austin-group-l at The Open Group
          • Re:... enh via austin-group-l at The Open Group
            • ... Thorsten Glaser via austin-group-l at The Open Group
            • ... enh via austin-group-l at The Open Group
            • ... Thorsten Glaser via austin-group-l at The Open Group
          • Re:... Robert Elz via austin-group-l at The Open Group
          • Re:... Geoff Clare via austin-group-l at The Open Group
          • Re:... Robert Elz via austin-group-l at The Open Group
            • ... Geoff Clare via austin-group-l at The Open Group
            • ... Robert Elz via austin-group-l at The Open Group
            • ... Geoff Clare via austin-group-l at The Open Group

Reply via email to