cvs commit: src/usr.sbin/pkg_install/lib file.c
Tim Kientzle
tim at kientzle.com
Wed Apr 7 23:47:53 PDT 2004
Andrey Chernov wrote:
> On Wed, Apr 07, 2004 at 11:06:42PM -0700, Tim Kientzle wrote:
>
>>kientzle 2004/04/07 23:06:42 PDT
>>
>> FreeBSD src repository
>>
>> Modified files:
>> usr.sbin/pkg_install/lib file.c
>> Log:
>> When invoking tar, make sure the mode option (-x) is first.
>
> It looks like wrong place to fix. bsdtar should be fixed instead ...
It certainly does no harm to re-order the arguments in
pkg_install. Whether or not bsdtar should be modified
is a separate question.
> ... to accept
> options/arguments intermixed in any order like GNU tar already does. I.e.
> you should start your short options string for getopt_long() with "-",
> like in GNU tar.
I have reasons for diverging from GNU tar here, though
I could be convinced otherwise:
* Requiring the mode option first improves error reporting,
as there are many options that only make sense in certain
modes. (This also mimics SUSv2 "tar" specification that
requires the mode letter to be first in the bundled option
word.)
* Not all platforms have getopt_long(), and I intend for
bsdtar to be usable on systems that only have getopt().
The "-" extension is certainly not standard across getopt()
implementations. (bsdtar currently has a couple of
long options with no short equivalent; I do intend to
address that.)
* According to the getopt_long man page, there is
some disagreement about the handling of that leading
"-" in the presence of POSIXLY_CORRECT. I'd prefer
to avoid such ambiguities where possible.
As I said, I could be convinced to do as you suggest, but I'm
pretty comfortable with the option parsing of bsdtar
as it stands.
Tim
More information about the cvs-src
mailing list