fix a test failure in a Perl module
https://github.com/PerlAlien/Alien-Build/issues/62
https://git.tukaani.org/?p=xz.git;a=commitdiff;h=892b16cc282f5b4e1c49871b326f4db25c5b4d81

Index: src/xz/file_io.c
--- src/xz/file_io.c.orig
+++ src/xz/file_io.c
@@ -368,7 +368,13 @@ io_copy_attrs(const file_pair *pair)
 
 	mode_t mode;
 
-	if (fchown(pair->dest_fd, (uid_t)(-1), pair->src_st.st_gid)) {
+	// With BSD directory semantics the new dest file may have a group
+	// which does not belong to the user.  If the src file has the same
+	// group, nothing has to be done.  Nevertheless OpenBSD fchown(2)
+	// fails in this case which looks POSIX compliant.  Linux does not
+	// generate an error.  As there is nothing to do, skip the syscall.
+	if (pair->dest_st.st_gid != pair->src_st.st_gid &&
+	    fchown(pair->dest_fd, (uid_t)(-1), pair->src_st.st_gid)) {
 		message_warning(_("%s: Cannot set the file group: %s"),
 				pair->dest_name, strerror(errno));
 		// We can still safely copy some additional permissions:
