+freebsd-standards for folks that know more than I do

On 1 April 2017 at 08:54, Lewis Donzis <[email protected]> wrote:
> It's fairly annoying that cp has no way to suppress the chflags error when 
> the destination file is on an NFS mount.  A bigger problem than the error 
> message is that it returns exit status 1, which causes things like make to 
> fail when there really was no error.
>
> What do you think about the following change to /usr/src/bin/cp/utils.c:
>
> 398c398
> <               if (fdval ?
> ---
>>               if ((fdval ?
> 401c401
> <                   chflags(to.p_path, fs->st_flags))) {
> ---
>>                   chflags(to.p_path, fs->st_flags))) && errno != ENOTSUP) {
>
> which simply ignores the error if the destination filesystem doesn't support 
> chflags?

I believe POSIX requires this error:
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/cp.html

===
The file permission bits and the S_ISUID and S_ISGID bits. Other,
implementation-defined, bits may be duplicated as well. If this
duplication fails for any reason, cp shall write a diagnostic message
to standard error.
===

We can possibly define "implementation defined bits" to not include
other flags if the flags are unsupported on the destination filesystem
but this seems weird to me.


-- 
Eitan Adler
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "[email protected]"

Reply via email to