Subject: Re: CVS commit: othersrc/bootstrap-pkgsrc/mtree
To: Luke Mewburn <lukem@netbsd.org>
From: grant beattie <grant@netbsd.org>
List: tech-pkg
Date: 03/04/2003 18:10:56
On Sat, Feb 22, 2003 at 07:42:10AM +1100, Luke Mewburn wrote:
> | Log Message:
> | use chown() if we don't have lchown().
>
> a "better" way to do this is provide a replacement lchown() in
> the compat library which does an lstat on the file and uses chown
> if the file is not a symlink, and barfs otherwise.
> see src/tools/compat/lchown.c and src/tools/compat/lchmod.c
I've done this now.
This means pax on platforms which do not have lchown/lchmod functions
will produce an error when trying to change the mode/owner of a symlink
(EINVAL). Previously it would blindly and silently change the symlink
targets.
The new behavior is more correct but may result in some
head-scratching. pax probably needs some additional checks before
calling lchown() or lchmod(). I haven't looked at what gnutar does
about this...
g.