Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 11 Jan 2013 08:36:24 +0000 (UTC)
From:      Emanuel Haupt <ehaupt@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r310222 - in head/net/rsync: . files
Message-ID:  <201301110836.r0B8aOtn030810@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201301110836.r0B8aOtn030810>