+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]"
