svn commit: r310222 - in head/net/rsync: . files
Emanuel Haupt
ehaupt at FreeBSD.org
Fri Jan 11 08:36:24 UTC 2013
Author: ehaupt
Date: Fri Jan 11 08:36:23 2013
New Revision: 310222
URL: http://svnweb.freebsd.org/changeset/ports/310222
Log:
Provide an extra patch to for rsync to support overwriting files with schg set.
This patch is only applied if the FLAGS option is specified. The patch has been
submitted with the upstream project.
Notified by: wblock
Obtained from: https://bugzilla.samba.org/show_bug.cgi?id=8941 (upstream)
Added:
head/net/rsync/files/extrapatch-syscall.c (contents, props changed)
Modified:
head/net/rsync/Makefile
Modified: head/net/rsync/Makefile
==============================================================================
--- head/net/rsync/Makefile Fri Jan 11 08:32:19 2013 (r310221)
+++ head/net/rsync/Makefile Fri Jan 11 08:36:23 2013 (r310222)
@@ -3,7 +3,7 @@
PORTNAME= rsync
PORTVERSION= 3.0.9
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= net ipv6
MASTER_SITES= http://rsync.samba.org/ftp/%SUBDIR%/ \
ftp://ftp.samba.org/pub/%SUBDIR%/ \
@@ -85,6 +85,8 @@ CONFIGURE_ENV+= ac_cv_header_iconv_h=no
.if ${PORT_OPTIONS:MFLAGS}
PATCH_STRIP= -p1
EXTRA_PATCHES+= ${WRKSRC}/patches/fileflags.diff
+# https://bugzilla.samba.org/show_bug.cgi?id=8941
+EXTRA_PATCHES+= ${FILESDIR}/extrapatch-syscall.c
.endif
.if ${PORT_OPTIONS:MRENAMED}
Added: head/net/rsync/files/extrapatch-syscall.c
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/net/rsync/files/extrapatch-syscall.c Fri Jan 11 08:36:23 2013 (r310222)
@@ -0,0 +1,20 @@
+--- syscall.c.orig 2013-01-10 18:53:44.000000000 -0700
++++ syscall.c 2013-01-10 18:53:56.000000000 -0700
+@@ -114,8 +114,16 @@
+ #ifdef SUPPORT_FORCE_CHANGE
+ if (force_change && (errno == EPERM || errno == EACCES)) {
+ char parent[MAXPATHLEN];
++ int parent_flags;
+ int saved_errno = errno;
+- int parent_flags = make_parentdir_mutable(fname2, force_change, parent, sizeof parent);
++ int file_flags = make_mutable(fname1, NULL, NO_FFLAGS, force_change);
++ if (file_flags) {
++ int ret = link(fname1, fname2);
++ undo_make_mutable(fname1, file_flags);
++ if (ret == 0)
++ return 0;
++ }
++ parent_flags = make_parentdir_mutable(fname2, force_change, parent, sizeof parent);
+ if (parent_flags) {
+ int ret = link(fname1, fname2);
+ undo_make_mutable(parent, parent_flags);
More information about the svn-ports-head
mailing list