All of lore.kernel.org
 help / color / mirror / Atom feed
From: Timothy Madden <terminatorul@gmail.com>
To: util-linux@vger.kernel.org
Subject: Re: `mount` command and POSIX Utility Syntax Guidelines
Date: Wed, 10 Oct 2012 19:09:38 +0300	[thread overview]
Message-ID: <50759DC2.2000901@gmail.com> (raw)
In-Reply-To: <20121010083655.GD28457@x2.net.home>

On 10/10/2012 11:36 AM, Karel Zak wrote:
> On Wed, Oct 10, 2012 at 02:28:06AM +0300, Timothy Madden wrote:
>> I have the little annoying problem that I can not mount a DAV folder with
>> the davfs2 filesystem, because I usually keep POSIXLY_CORRECT environment
>> variable set. The var allows me to keep an "aliases" file (similar to
>> ~/.basrc) and change it when needed if I put the file name in the ENV
>> variable.
>
>   Well, from my point of view is it mistake that getopt() supports
>   something like $POSIXLY_CORRECT. It's application, not library, who
>   has to control input/command line parsing.
[...]
>> Is it please possible for mount command to be updated to change the order of
>> arguments on the command line, so that it follows the POSIX guidelines?
>
>   The mount helpers command line is out documented API. I don't see a
>   way how to change it without break the compatibility between mount(8)
>   and mount.<type> helpers.
>
>> At least when POSIXLY_CORRECT is set in the environment ?
>
>   Don't assume that everyone uses getopt() from glibc. You can
>   use "if (strcmp(argv[], ...))" to parse command line arguments.
>
>   I think it would be better to remove POSIXLY_CORRECT from
>   mount.<type> environment in mount(8) before we execute the helper.

Maybe the mount helpers should follow POSIX guidelines, too.

Of the helpers that I have installed on my two systems (Slackware and 
CentOS), namely cifs, davfs, nfs/nfs4, ntfs/ntfs-3g/lowntfs-3g, it is 
only nfs that does indeed complain about syntax if I try to pass the 
options first and the operands next on the command line. Both my systems 
have "mount.nfs (linux nfs-utils 1.2.3)".

Maybe they can change the expected order for command line arguments (in 
the linux nfs-utils project), together with changes in mount, or before 
changes in mount (to be safe).

If anyone knows other mount helpers I should check for command line 
syntax, please jump in and add to the list.

Even without using GNU getopts(), I believe POSIX guidelines should 
still be taken into account, no matter how the command line is parsed or 
what library (or application) is used.

About removing POSIXLY_CORRECT before the mount helper is invoked, I 
would not easily take that path. I believe POSIXLY_CORRECT is a /user/ 
setting, with specific side-effects, and a such system command should 
not implicitly change it, without prior consent from the user. That is, 
the user might wonder why his mount helper, that he is working so hard 
on, does not receive the environment the user prepared for it and expects.

Thank you,
Timothy Madden



      reply	other threads:[~2012-10-10 16:09 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-09 23:28 `mount` command and POSIX Utility Syntax Guidelines Timothy Madden
2012-10-10  8:36 ` Karel Zak
2012-10-10 16:09   ` Timothy Madden [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=50759DC2.2000901@gmail.com \
    --to=terminatorul@gmail.com \
    --cc=util-linux@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.