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>