[62301] trunk/dports/net/rsync
nox at macports.org
nox at macports.org
Sun Jan 3 06:40:36 PST 2010
Revision: 62301
http://trac.macports.org/changeset/62301
Author: nox at macports.org
Date: 2010-01-03 06:40:35 -0800 (Sun, 03 Jan 2010)
Log Message:
-----------
Update rsync to 3.0.7 and remove no_macosx_metadata variant
The flags provided by the Mac OS X medata patches are not enabled by default,
so there is no need to make them a variant.
Modified Paths:
--------------
trunk/dports/net/rsync/Portfile
trunk/dports/net/rsync/files/patch-crtimes.diff
trunk/dports/net/rsync/files/patch-fileflags.diff
Modified: trunk/dports/net/rsync/Portfile
===================================================================
--- trunk/dports/net/rsync/Portfile 2010-01-03 14:40:16 UTC (rev 62300)
+++ trunk/dports/net/rsync/Portfile 2010-01-03 14:40:35 UTC (rev 62301)
@@ -3,7 +3,7 @@
PortSystem 1.0
name rsync
-version 3.0.6
+version 3.0.7
categories net
platforms darwin freebsd sunos
maintainers simon openmaintainer
@@ -13,29 +13,25 @@
under the GNU General Public License and is currently \
being maintained by Wayne Davison. \
\
- Rsync version 3.0.6 has been released. This is a \
+ Rsync version ${version} has been released. This is a \
bug-fix release. Related pages: \
http://rsync.samba.org/ftp/rsync/rsync-${version}-NEWS
homepage http://samba.org/rsync/
master_sites http://rsync.samba.org/ftp/rsync/ \
http://rsync.samba.org/ftp/rsync/src/
-checksums ${distname}${extract.suffix} \
- md5 e9865d093a18e4668b9d31b635dc8e99 \
- sha1 8853dfd291b3850aafa60169d2eea8601498f713 \
- rmd160 881ecea519b97d1a7f326b021ebac939ac2fe091
-distname rsync-${version}
+checksums md5 b53525900817cf1ba7ad3a516ab5bfe9 \
+ sha1 63426a1bc71991d93159cd522521fbacdafb7a61 \
+ rmd160 aa3bdec0d7692ac1de52f2efc925e9a34bbd917b
+
depends_lib port:popt port:libiconv
patchfiles patch-fileflags.diff \
patch-crtimes.diff
patch.pre_args -p1
-configure.args --mandir=${prefix}/share/man \
- --with-rsyncd-conf=${prefix}/etc/rsyncd.conf \
- --enable-ipv6 \
- --enable-xattr-support
+configure.args --with-rsyncd-conf=${prefix}/etc/rsyncd.conf
configure.cflags "-Os -I${prefix}/include"
pre-configure {
@@ -43,7 +39,7 @@
}
post-destroot {
- xinstall -m 755 -d ${destroot}${prefix}/share/doc/${name}
+ xinstall -d ${destroot}${prefix}/share/doc/${name}
xinstall -m 644 -W ${worksrcpath} \
COPYING INSTALL NEWS OLDNEWS TODO README doc/README-SGML \
doc/profile.txt doc/rsync.sgml \
@@ -53,12 +49,6 @@
livecheck.type regex
livecheck.regex "Rsync version (\\d+(?:\\.\\d+)*) released"
-variant no_macosx_metadata description {Don't preserve Mac OS X file \
- flags and creation times} {
- patchfiles-delete fileflags.diff \
- crtimes.diff
-}
-
variant rsyncd description {Installs rsyncd.conf and a StartupItem for rsyncd} {
post-destroot {
xinstall -m 644 ${filespath}/rsyncd.conf.example \
Modified: trunk/dports/net/rsync/files/patch-crtimes.diff
===================================================================
--- trunk/dports/net/rsync/files/patch-crtimes.diff 2010-01-03 14:40:16 UTC (rev 62300)
+++ trunk/dports/net/rsync/files/patch-crtimes.diff 2010-01-03 14:40:35 UTC (rev 62301)
@@ -8,10 +8,11 @@
./configure (optional if already run)
make
+based-on: patch/b3.0.x/fileflags
diff --git a/compat.c b/compat.c
--- a/compat.c
+++ b/compat.c
-@@ -45,6 +45,7 @@ extern int force_change;
+@@ -46,6 +46,7 @@ extern int force_change;
extern int protect_args;
extern int preserve_uid;
extern int preserve_gid;
@@ -19,7 +20,7 @@
extern int preserve_fileflags;
extern int preserve_acls;
extern int preserve_xattrs;
-@@ -63,7 +64,7 @@ extern char *iconv_opt;
+@@ -64,7 +65,7 @@ extern char *iconv_opt;
#endif
/* These index values are for the file-list's extra-attribute array. */
@@ -28,7 +29,7 @@
int receiver_symlink_times = 0; /* receiver can set the time on a symlink */
int sender_symlink_iconv = 0; /* sender should convert symlink content */
-@@ -139,6 +140,8 @@ void setup_protocol(int f_out,int f_in)
+@@ -141,6 +142,8 @@ void setup_protocol(int f_out,int f_in)
uid_ndx = ++file_extra_cnt;
if (preserve_gid)
gid_ndx = ++file_extra_cnt;
@@ -40,7 +41,7 @@
diff --git a/flist.c b/flist.c
--- a/flist.c
+++ b/flist.c
-@@ -56,6 +56,7 @@ extern int preserve_fileflags;
+@@ -56,6 +56,7 @@ extern int delete_during;
extern int uid_ndx;
extern int gid_ndx;
extern int eol_nulls;
@@ -48,7 +49,7 @@
extern int relative_paths;
extern int implied_dirs;
extern int file_extra_cnt;
-@@ -394,7 +395,7 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file,
+@@ -395,7 +396,7 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file,
#endif
int ndx, int first_ndx)
{
@@ -57,7 +58,7 @@
static mode_t mode;
#ifdef SUPPORT_FILEFLAGS
static uint32 fileflags;
-@@ -489,6 +490,13 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file,
+@@ -490,6 +491,13 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file,
xflags |= XMIT_SAME_TIME;
else
modtime = file->modtime;
@@ -71,7 +72,7 @@
#ifdef SUPPORT_HARD_LINKS
if (tmp_dev != 0) {
-@@ -558,6 +566,8 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file,
+@@ -559,6 +567,8 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file,
else
write_int(f, modtime);
}
@@ -80,7 +81,7 @@
if (!(xflags & XMIT_SAME_MODE))
write_int(f, to_wire_mode(mode));
#ifdef SUPPORT_FILEFLAGS
-@@ -648,7 +658,7 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file,
+@@ -649,7 +659,7 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file,
static struct file_struct *recv_file_entry(struct file_list *flist,
int xflags, int f)
{
@@ -89,7 +90,7 @@
static mode_t mode;
#ifdef SUPPORT_FILEFLAGS
static uint32 fileflags;
-@@ -754,6 +764,8 @@ static struct file_struct *recv_file_entry(struct file_list *flist,
+@@ -755,6 +765,8 @@ static struct file_struct *recv_file_entry(struct file_list *flist,
uid = F_OWNER(first);
if (preserve_gid)
gid = F_GROUP(first);
@@ -98,7 +99,7 @@
if (preserve_devices && IS_DEVICE(mode)) {
uint32 *devp = F_RDEV_P(first);
rdev = MAKEDEV(DEV_MAJOR(devp), DEV_MINOR(devp));
-@@ -782,6 +794,19 @@ static struct file_struct *recv_file_entry(struct file_list *flist,
+@@ -783,6 +795,19 @@ static struct file_struct *recv_file_entry(struct file_list *flist,
} else
modtime = read_int(f);
}
@@ -118,7 +119,7 @@
if (!(xflags & XMIT_SAME_MODE))
mode = from_wire_mode(read_int(f));
-@@ -942,6 +967,8 @@ static struct file_struct *recv_file_entry(struct file_list *flist,
+@@ -943,6 +968,8 @@ static struct file_struct *recv_file_entry(struct file_list *flist,
F_GROUP(file) = gid;
file->flags |= gid_flags;
}
@@ -127,7 +128,7 @@
if (unsort_ndx)
F_NDX(file) = flist->used + flist->ndx_start;
-@@ -1318,6 +1345,8 @@ struct file_struct *make_file(const char *fname, struct file_list *flist,
+@@ -1319,6 +1346,8 @@ struct file_struct *make_file(const char *fname, struct file_list *flist,
F_OWNER(file) = st.st_uid;
if (gid_ndx) /* Check gid_ndx instead of preserve_gid for del support */
F_GROUP(file) = st.st_gid;
@@ -231,7 +232,7 @@
diff --git a/hlink.c b/hlink.c
--- a/hlink.c
+++ b/hlink.c
-@@ -366,6 +366,7 @@ int hard_link_check(struct file_struct *file, int ndx, const char *fname,
+@@ -370,6 +370,7 @@ int hard_link_check(struct file_struct *file, int ndx, const char *fname,
char cmpbuf[MAXPATHLEN];
stat_x alt_sx;
int j = 0;
@@ -239,7 +240,7 @@
#ifdef SUPPORT_ACLS
alt_sx.acc_acl = alt_sx.def_acl = NULL;
#endif
-@@ -494,6 +495,7 @@ void finish_hard_link(struct file_struct *file, const char *fname, int fin_ndx,
+@@ -498,6 +499,7 @@ void finish_hard_link(struct file_struct *file, const char *fname, int fin_ndx,
} else
our_name = fname;
@@ -303,7 +304,7 @@
int update_only = 0;
int cvs_exclude = 0;
int dry_run = 0;
-@@ -363,6 +364,7 @@ void usage(enum logcode F)
+@@ -362,6 +363,7 @@ void usage(enum logcode F)
rprintf(F," -D same as --devices --specials\n");
rprintf(F," -t, --times preserve modification times\n");
rprintf(F," -O, --omit-dir-times omit directories from --times\n");
@@ -311,7 +312,7 @@
rprintf(F," --super receiver attempts super-user activities\n");
#ifdef SUPPORT_XATTRS
rprintf(F," --fake-super store/recover privileged attrs using xattrs\n");
-@@ -509,6 +511,9 @@ static struct poptOption long_options[] = {
+@@ -508,6 +510,9 @@ static struct poptOption long_options[] = {
{"times", 't', POPT_ARG_VAL, &preserve_times, 2, 0, 0 },
{"no-times", 0, POPT_ARG_VAL, &preserve_times, 0, 0, 0 },
{"no-t", 0, POPT_ARG_VAL, &preserve_times, 0, 0, 0 },
@@ -321,7 +322,7 @@
{"omit-dir-times", 'O', POPT_ARG_VAL, &omit_dir_times, 1, 0, 0 },
{"no-omit-dir-times",0, POPT_ARG_VAL, &omit_dir_times, 0, 0, 0 },
{"no-O", 0, POPT_ARG_VAL, &omit_dir_times, 0, 0, 0 },
-@@ -1806,6 +1811,8 @@ void server_options(char **args, int *argc_p)
+@@ -1805,6 +1810,8 @@ void server_options(char **args, int *argc_p)
argstr[x++] = 'D';
if (preserve_times)
argstr[x++] = 't';
@@ -333,7 +334,7 @@
diff --git a/rsync.c b/rsync.c
--- a/rsync.c
+++ b/rsync.c
-@@ -428,6 +428,7 @@ int set_file_attrs(const char *fname, struct file_struct *file, stat_x *sxp,
+@@ -427,6 +427,7 @@ int set_file_attrs(const char *fname, struct file_struct *file, stat_x *sxp,
full_fname(fname));
return 0;
}
@@ -341,7 +342,7 @@
#ifdef SUPPORT_ACLS
sx2.acc_acl = sx2.def_acl = NULL;
#endif
-@@ -475,6 +476,14 @@ int set_file_attrs(const char *fname, struct file_struct *file, stat_x *sxp,
+@@ -474,6 +475,14 @@ int set_file_attrs(const char *fname, struct file_struct *file, stat_x *sxp,
else
file->flags |= FLAG_TIME_FAILED;
}
@@ -356,7 +357,7 @@
change_uid = am_root && uid_ndx && sxp->st.st_uid != (uid_t)F_OWNER(file);
change_gid = gid_ndx && !(file->flags & FLAG_SKIP_GROUP)
-@@ -622,7 +631,7 @@ int finish_transfer(const char *fname, const char *fnametmp,
+@@ -621,7 +630,7 @@ int finish_transfer(const char *fname, const char *fnametmp,
/* Change permissions before putting the file into place. */
set_file_attrs(fnametmp, file, NULL, fnamecmp,
ATTRS_DELAY_IMMUTABLE
@@ -365,7 +366,7 @@
/* move tmp file over real file */
if (verbose > 2)
-@@ -653,7 +662,7 @@ int finish_transfer(const char *fname, const char *fnametmp,
+@@ -652,7 +661,7 @@ int finish_transfer(const char *fname, const char *fnametmp,
do_set_file_attrs:
set_file_attrs(fnametmp, file, NULL, fnamecmp,
@@ -377,15 +378,15 @@
diff --git a/rsync.h b/rsync.h
--- a/rsync.h
+++ b/rsync.h
-@@ -60,6 +60,7 @@
- #define XMIT_RDEV_MINOR_8_pre30 (1<<11) /* protocols 28 - 29 */
+@@ -61,6 +61,7 @@
#define XMIT_GROUP_NAME_FOLLOWS (1<<11) /* protocols 30 - now */
#define XMIT_HLINK_FIRST (1<<12) /* protocols 30 - now (HLINKED files only) */
+ #define XMIT_IO_ERROR_ENDLIST (1<<12) /* protocols 31*- now (w/XMIT_EXTENDED_FLAGS) (also protocol 30 w/'f' compat flag) */
+#define XMIT_CRTIME_EQ_MTIME (1<<13) /* protocols ?? - now */
#define XMIT_SAME_FLAGS (1<<14) /* protocols ?? - now */
/* These flags are used in the live flist data. */
-@@ -156,6 +157,7 @@
+@@ -157,6 +158,7 @@
#define ATTRS_REPORT (1<<0)
#define ATTRS_SKIP_MTIME (1<<1)
#define ATTRS_DELAY_IMMUTABLE (1<<2)
@@ -393,7 +394,7 @@
#define FULL_FLUSH 1
#define NORMAL_FLUSH 0
-@@ -172,7 +174,7 @@
+@@ -173,7 +175,7 @@
#define FNAMECMP_FUZZY 0x83
/* For use by the itemize_changes code */
@@ -402,7 +403,7 @@
#define ITEM_REPORT_CHANGE (1<<1)
#define ITEM_REPORT_SIZE (1<<2) /* regular files only */
#define ITEM_REPORT_TIMEFAIL (1<<2) /* symlinks only */
-@@ -657,6 +659,7 @@ extern int file_extra_cnt;
+@@ -658,6 +660,7 @@ extern int file_extra_cnt;
extern int inc_recurse;
extern int uid_ndx;
extern int gid_ndx;
@@ -410,7 +411,7 @@
extern int fileflags_ndx;
extern int acls_ndx;
extern int xattrs_ndx;
-@@ -664,6 +667,7 @@ extern int xattrs_ndx;
+@@ -665,6 +668,7 @@ extern int xattrs_ndx;
#define FILE_STRUCT_LEN (offsetof(struct file_struct, basename))
#define EXTRA_LEN (sizeof (union file_extras))
#define PTR_EXTRA_CNT ((sizeof (char *) + EXTRA_LEN - 1) / EXTRA_LEN)
@@ -418,7 +419,7 @@
#define DEV_EXTRA_CNT 2
#define DIRNODE_EXTRA_CNT 3
#define SUM_EXTRA_CNT ((MAX_DIGEST_LEN + EXTRA_LEN - 1) / EXTRA_LEN)
-@@ -931,6 +935,7 @@ typedef struct {
+@@ -932,6 +936,7 @@ typedef struct {
typedef struct {
STRUCT_STAT st;
@@ -447,7 +448,7 @@
dit(bf(--super)) This tells the receiving side to attempt super-user
activities even if the receiving rsync wasn't run by the super-user. These
activities include: preserving users via the bf(--owner) option, preserving
-@@ -1715,7 +1719,7 @@ with older versions of rsync, but that also turns on the output of other
+@@ -1717,7 +1721,7 @@ with older versions of rsync, but that also turns on the output of other
verbose messages).
The "%i" escape has a cryptic output that is 11 letters long. The general
@@ -456,7 +457,7 @@
type of update being done, bf(X) is replaced by the file-type, and the
other letters represent attributes that may be output if they are being
modified.
-@@ -1774,6 +1778,8 @@ quote(itemization(
+@@ -1776,6 +1780,8 @@ quote(itemization(
it() The bf(f) means that the fileflags information changed.
it() The bf(a) means that the ACL information changed.
it() The bf(x) means that the extended attribute information changed.
@@ -693,23 +694,23 @@
+.IP
.IP "\fB\-\-super\fP"
This tells the receiving side to attempt super-user
- activities even if the receiving rsync wasn't run by the super-user. These
-@@ -1961,7 +1966,7 @@ with older versions of rsync, but that a
+ activities even if the receiving rsync wasn\(cq\&t run by the super-user. These
+@@ -1963,7 +1968,7 @@ with older versions of rsync, but that a
verbose messages).
.IP
- The \(lq%i\(rq escape has a cryptic output that is 11 letters long. The general
+ The \(dq\&%i\(dq\& escape has a cryptic output that is 11 letters long. The general
-format is like the string \fBYXcstpogfax\fP, where \fBY\fP is replaced by the
+format is like the string \fBYXcstpogfaxn\fP, where \fBY\fP is replaced by the
type of update being done, \fBX\fP is replaced by the file-type, and the
other letters represent attributes that may be output if they are being
modified.
-@@ -2036,6 +2041,9 @@ The \fBf\fP means that the fileflags inf
+@@ -2038,6 +2043,9 @@ The \fBf\fP means that the fileflags inf
The \fBa\fP means that the ACL information changed.
.IP o
The \fBx\fP means that the extended attribute information changed.
+.IP o
+A \fBn\fP means the create time (newness) is different and is being
-+updated to the sender's value (requires \fB\-\-crtimes\fP).
++updated to the sender\(cq\&s value (requires \fB\-\-crtimes\fP).
.RE
.IP
Modified: trunk/dports/net/rsync/files/patch-fileflags.diff
===================================================================
--- trunk/dports/net/rsync/files/patch-fileflags.diff 2010-01-03 14:40:16 UTC (rev 62300)
+++ trunk/dports/net/rsync/files/patch-fileflags.diff 2010-01-03 14:40:35 UTC (rev 62301)
@@ -8,6 +8,7 @@
./configure
make
+based-on: 54f00c3f89fc147f2f9cba89d26a5bb1d20e783b
diff --git a/Makefile.in b/Makefile.in
--- a/Makefile.in
+++ b/Makefile.in
@@ -32,7 +33,7 @@
diff --git a/compat.c b/compat.c
--- a/compat.c
+++ b/compat.c
-@@ -41,9 +41,11 @@ extern int checksum_seed;
+@@ -42,9 +42,11 @@ extern int checksum_seed;
extern int basis_dir_cnt;
extern int prune_empty_dirs;
extern int protocol_version;
@@ -44,7 +45,7 @@
extern int preserve_acls;
extern int preserve_xattrs;
extern int need_messages_from_generator;
-@@ -61,7 +63,7 @@ extern char *iconv_opt;
+@@ -62,7 +64,7 @@ extern char *iconv_opt;
#endif
/* These index values are for the file-list's extra-attribute array. */
@@ -53,7 +54,7 @@
int receiver_symlink_times = 0; /* receiver can set the time on a symlink */
int sender_symlink_iconv = 0; /* sender should convert symlink content */
-@@ -137,6 +139,8 @@ void setup_protocol(int f_out,int f_in)
+@@ -139,6 +141,8 @@ void setup_protocol(int f_out,int f_in)
uid_ndx = ++file_extra_cnt;
if (preserve_gid)
gid_ndx = ++file_extra_cnt;
@@ -65,27 +66,26 @@
diff --git a/configure.in b/configure.in
--- a/configure.in
+++ b/configure.in
-@@ -551,7 +551,7 @@ AC_CHECK_FUNCS(waitpid wait4 getcwd strdup chown chmod lchmod mknod mkfifo \
+@@ -567,6 +567,7 @@ AC_FUNC_UTIME_NULL
+ AC_FUNC_ALLOCA
+ AC_CHECK_FUNCS(waitpid wait4 getcwd strdup chown chmod lchmod mknod mkfifo \
+ fchmod fstat ftruncate strchr readlink link utime utimes lutimes strftime \
++ chflags \
memmove lchown vsnprintf snprintf vasprintf asprintf setsid strpbrk \
strlcat strlcpy strtol mallinfo getgroups setgroups geteuid getegid \
setlocale setmode open64 lseek64 mkstemp64 mtrace va_copy __va_copy \
-- strerror putenv iconv_open locale_charset nl_langinfo getxattr \
-+ chflags strerror putenv iconv_open locale_charset nl_langinfo getxattr \
- extattr_get_link sigaction sigprocmask setattrlist)
-
- dnl cygwin iconv.h defines iconv_open as libiconv_open
diff --git a/flist.c b/flist.c
--- a/flist.c
+++ b/flist.c
-@@ -52,6 +52,7 @@ extern int preserve_links;
+@@ -51,6 +51,7 @@ extern int preserve_links;
extern int preserve_hard_links;
extern int preserve_devices;
extern int preserve_specials;
+extern int preserve_fileflags;
+ extern int delete_during;
extern int uid_ndx;
extern int gid_ndx;
- extern int eol_nulls;
-@@ -395,6 +396,9 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file,
+@@ -396,6 +397,9 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file,
{
static time_t modtime;
static mode_t mode;
@@ -95,7 +95,7 @@
#ifdef SUPPORT_HARD_LINKS
static int64 dev;
#endif
-@@ -424,6 +428,14 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file,
+@@ -425,6 +429,14 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file,
xflags |= XMIT_SAME_MODE;
else
mode = file->mode;
@@ -110,7 +110,7 @@
if (preserve_devices && IS_DEVICE(mode)) {
if (protocol_version < 28) {
-@@ -548,6 +560,10 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file,
+@@ -549,6 +561,10 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file,
}
if (!(xflags & XMIT_SAME_MODE))
write_int(f, to_wire_mode(mode));
@@ -121,7 +121,7 @@
if (preserve_uid && !(xflags & XMIT_SAME_UID)) {
if (protocol_version < 30)
write_int(f, uid);
-@@ -634,6 +650,9 @@ static struct file_struct *recv_file_entry(struct file_list *flist,
+@@ -635,6 +651,9 @@ static struct file_struct *recv_file_entry(struct file_list *flist,
{
static int64 modtime;
static mode_t mode;
@@ -131,7 +131,7 @@
#ifdef SUPPORT_HARD_LINKS
static int64 dev;
#endif
-@@ -768,6 +787,10 @@ static struct file_struct *recv_file_entry(struct file_list *flist,
+@@ -769,6 +788,10 @@ static struct file_struct *recv_file_entry(struct file_list *flist,
if (chmod_modes && !S_ISLNK(mode))
mode = tweak_mode(mode, chmod_modes);
@@ -142,7 +142,7 @@
if (preserve_uid && !(xflags & XMIT_SAME_UID)) {
if (protocol_version < 30)
-@@ -909,6 +932,10 @@ static struct file_struct *recv_file_entry(struct file_list *flist,
+@@ -910,6 +933,10 @@ static struct file_struct *recv_file_entry(struct file_list *flist,
}
#endif
file->mode = mode;
@@ -153,7 +153,7 @@
if (preserve_uid)
F_OWNER(file) = uid;
if (preserve_gid) {
-@@ -1283,6 +1310,10 @@ struct file_struct *make_file(const char *fname, struct file_list *flist,
+@@ -1284,6 +1311,10 @@ struct file_struct *make_file(const char *fname, struct file_list *flist,
}
#endif
file->mode = st.st_mode;
@@ -164,7 +164,7 @@
if (uid_ndx) /* Check uid_ndx instead of preserve_uid for del support */
F_OWNER(file) = st.st_uid;
if (gid_ndx) /* Check gid_ndx instead of preserve_gid for del support */
-@@ -1426,6 +1457,7 @@ static struct file_struct *send_file_name(int f, struct file_list *flist,
+@@ -1427,6 +1458,7 @@ static struct file_struct *send_file_name(int f, struct file_list *flist,
#endif
#ifdef SUPPORT_XATTRS
if (preserve_xattrs) {
@@ -286,10 +286,10 @@
#ifdef SUPPORT_HARD_LINKS
if (preserve_hard_links && F_HLINK_NOT_FIRST(file)
-@@ -2058,13 +2094,17 @@ static void touch_up_dirs(struct file_list *flist, int ndx)
+@@ -2061,13 +2097,17 @@ static void touch_up_dirs(struct file_list *flist, int ndx)
continue;
fname = f_name(file, NULL);
- if (!(file->mode & S_IWUSR))
+ if (fix_dir_perms)
- do_chmod(fname, file->mode);
+ do_chmod(fname, file->mode, 0);
if (need_retouch_dir_times) {
@@ -329,7 +329,7 @@
int preserve_executability = 0;
int preserve_devices = 0;
int preserve_specials = 0;
-@@ -85,6 +86,7 @@ int implied_dirs = 1;
+@@ -84,6 +85,7 @@ int implied_dirs = 1;
int numeric_ids = 0;
int allow_8bit_chars = 0;
int force_delete = 0;
@@ -337,7 +337,7 @@
int io_timeout = 0;
int allowed_lull = 0;
int prune_empty_dirs = 0;
-@@ -225,6 +227,7 @@ static void print_rsync_version(enum logcode f)
+@@ -224,6 +226,7 @@ static void print_rsync_version(enum logcode f)
char const *links = "no ";
char const *iconv = "no ";
char const *ipv6 = "no ";
@@ -345,7 +345,7 @@
STRUCT_STAT *dumstat;
#if SUBPROTOCOL_VERSION != 0
-@@ -258,6 +261,9 @@ static void print_rsync_version(enum logcode f)
+@@ -257,6 +260,9 @@ static void print_rsync_version(enum logcode f)
#if defined HAVE_LUTIMES && defined HAVE_UTIMES
symtimes = "";
#endif
@@ -355,7 +355,7 @@
rprintf(f, "%s version %s protocol version %d%s\n",
RSYNC_NAME, RSYNC_VERSION, PROTOCOL_VERSION, subprotocol);
-@@ -271,8 +277,8 @@ static void print_rsync_version(enum logcode f)
+@@ -270,8 +276,8 @@ static void print_rsync_version(enum logcode f)
(int)(sizeof (int64) * 8));
rprintf(f, " %ssocketpairs, %shardlinks, %ssymlinks, %sIPv6, batchfiles, %sinplace,\n",
got_socketpair, hardlinks, links, ipv6, have_inplace);
@@ -366,7 +366,7 @@
#ifdef MAINTAINER_MODE
rprintf(f, "Panic Action: \"%s\"\n", get_panic_action());
-@@ -339,6 +345,9 @@ void usage(enum logcode F)
+@@ -338,6 +344,9 @@ void usage(enum logcode F)
rprintf(F," -K, --keep-dirlinks treat symlinked dir on receiver as dir\n");
rprintf(F," -H, --hard-links preserve hard links\n");
rprintf(F," -p, --perms preserve permissions\n");
@@ -376,7 +376,7 @@
rprintf(F," -E, --executability preserve the file's executability\n");
rprintf(F," --chmod=CHMOD affect file and/or directory permissions\n");
#ifdef SUPPORT_ACLS
-@@ -376,7 +385,12 @@ void usage(enum logcode F)
+@@ -375,7 +384,12 @@ void usage(enum logcode F)
rprintf(F," --delete-after receiver deletes after transfer, not during\n");
rprintf(F," --delete-excluded also delete excluded files from destination dirs\n");
rprintf(F," --ignore-errors delete even if there are I/O errors\n");
@@ -390,7 +390,7 @@
rprintf(F," --max-delete=NUM don't delete more than NUM files\n");
rprintf(F," --max-size=SIZE don't transfer any file larger than SIZE\n");
rprintf(F," --min-size=SIZE don't transfer any file smaller than SIZE\n");
-@@ -481,6 +495,10 @@ static struct poptOption long_options[] = {
+@@ -480,6 +494,10 @@ static struct poptOption long_options[] = {
{"perms", 'p', POPT_ARG_VAL, &preserve_perms, 1, 0, 0 },
{"no-perms", 0, POPT_ARG_VAL, &preserve_perms, 0, 0, 0 },
{"no-p", 0, POPT_ARG_VAL, &preserve_perms, 0, 0, 0 },
@@ -401,7 +401,7 @@
{"executability", 'E', POPT_ARG_NONE, &preserve_executability, 0, 0, 0 },
{"acls", 'A', POPT_ARG_NONE, 0, 'A', 0, 0 },
{"no-acls", 0, POPT_ARG_VAL, &preserve_acls, 0, 0, 0 },
-@@ -559,6 +577,14 @@ static struct poptOption long_options[] = {
+@@ -558,6 +576,14 @@ static struct poptOption long_options[] = {
{"remove-source-files",0,POPT_ARG_VAL, &remove_source_files, 1, 0, 0 },
{"force", 0, POPT_ARG_VAL, &force_delete, 1, 0, 0 },
{"no-force", 0, POPT_ARG_VAL, &force_delete, 0, 0, 0 },
@@ -454,7 +454,7 @@
extern int preserve_executability;
extern int preserve_times;
extern int am_root;
-@@ -377,6 +378,39 @@ mode_t dest_mode(mode_t flist_mode, mode_t stat_mode, int dflt_perms,
+@@ -376,6 +377,39 @@ mode_t dest_mode(mode_t flist_mode, mode_t stat_mode, int dflt_perms,
return new_mode;
}
@@ -494,7 +494,7 @@
int set_file_attrs(const char *fname, struct file_struct *file, stat_x *sxp,
const char *fnamecmp, int flags)
{
-@@ -430,7 +464,7 @@ int set_file_attrs(const char *fname, struct file_struct *file, stat_x *sxp,
+@@ -429,7 +463,7 @@ int set_file_attrs(const char *fname, struct file_struct *file, stat_x *sxp,
flags |= ATTRS_SKIP_MTIME;
if (!(flags & ATTRS_SKIP_MTIME)
&& cmp_time(sxp->st.st_mtime, file->modtime) != 0) {
@@ -503,7 +503,7 @@
if (ret < 0) {
rsyserr(FERROR_XFER, errno, "failed to set times on %s",
full_fname(fname));
-@@ -466,7 +500,8 @@ int set_file_attrs(const char *fname, struct file_struct *file, stat_x *sxp,
+@@ -465,7 +499,8 @@ int set_file_attrs(const char *fname, struct file_struct *file, stat_x *sxp,
if (am_root >= 0) {
if (do_lchown(fname,
change_uid ? (uid_t)F_OWNER(file) : sxp->st.st_uid,
@@ -513,7 +513,7 @@
/* We shouldn't have attempted to change uid
* or gid unless have the privilege. */
rsyserr(FERROR_XFER, errno, "%s %s failed",
-@@ -498,7 +533,7 @@ int set_file_attrs(const char *fname, struct file_struct *file, stat_x *sxp,
+@@ -497,7 +532,7 @@ int set_file_attrs(const char *fname, struct file_struct *file, stat_x *sxp,
#ifdef HAVE_CHMOD
if (!BITS_EQUAL(sxp->st.st_mode, new_mode, CHMOD_BITS)) {
@@ -522,7 +522,7 @@
if (ret < 0) {
rsyserr(FERROR_XFER, errno,
"failed to set permissions on %s",
-@@ -510,6 +545,19 @@ int set_file_attrs(const char *fname, struct file_struct *file, stat_x *sxp,
+@@ -509,6 +544,19 @@ int set_file_attrs(const char *fname, struct file_struct *file, stat_x *sxp,
}
#endif
@@ -542,7 +542,7 @@
if (verbose > 1 && flags & ATTRS_REPORT) {
if (updated)
rprintf(FCLIENT, "%s\n", fname);
-@@ -573,7 +621,8 @@ int finish_transfer(const char *fname, const char *fnametmp,
+@@ -572,7 +620,8 @@ int finish_transfer(const char *fname, const char *fnametmp,
/* Change permissions before putting the file into place. */
set_file_attrs(fnametmp, file, NULL, fnamecmp,
@@ -552,7 +552,7 @@
/* move tmp file over real file */
if (verbose > 2)
-@@ -592,6 +641,10 @@ int finish_transfer(const char *fname, const char *fnametmp,
+@@ -591,6 +640,10 @@ int finish_transfer(const char *fname, const char *fnametmp,
}
if (ret == 0) {
/* The file was moved into place (not copied), so it's done. */
@@ -566,15 +566,15 @@
diff --git a/rsync.h b/rsync.h
--- a/rsync.h
+++ b/rsync.h
-@@ -60,6 +60,7 @@
- #define XMIT_RDEV_MINOR_8_pre30 (1<<11) /* protocols 28 - 29 */
+@@ -61,6 +61,7 @@
#define XMIT_GROUP_NAME_FOLLOWS (1<<11) /* protocols 30 - now */
#define XMIT_HLINK_FIRST (1<<12) /* protocols 30 - now (HLINKED files only) */
+ #define XMIT_IO_ERROR_ENDLIST (1<<12) /* protocols 31*- now (w/XMIT_EXTENDED_FLAGS) (also protocol 30 w/'f' compat flag) */
+#define XMIT_SAME_FLAGS (1<<14) /* protocols ?? - now */
/* These flags are used in the live flist data. */
-@@ -154,6 +155,7 @@
+@@ -155,6 +156,7 @@
#define ATTRS_REPORT (1<<0)
#define ATTRS_SKIP_MTIME (1<<1)
@@ -582,7 +582,7 @@
#define FULL_FLUSH 1
#define NORMAL_FLUSH 0
-@@ -180,6 +182,7 @@
+@@ -181,6 +183,7 @@
#define ITEM_REPORT_GROUP (1<<6)
#define ITEM_REPORT_ACL (1<<7)
#define ITEM_REPORT_XATTR (1<<8)
@@ -590,7 +590,7 @@
#define ITEM_BASIS_TYPE_FOLLOWS (1<<11)
#define ITEM_XNAME_FOLLOWS (1<<12)
#define ITEM_IS_NEW (1<<13)
-@@ -462,6 +465,28 @@ typedef unsigned int size_t;
+@@ -463,6 +466,28 @@ typedef unsigned int size_t;
#endif
#endif
@@ -619,7 +619,7 @@
/* Find a variable that is either exactly 32-bits or longer.
* If some code depends on 32-bit truncation, it will need to
* take special action in a "#if SIZEOF_INT32 > 4" section. */
-@@ -632,6 +657,7 @@ extern int file_extra_cnt;
+@@ -633,6 +658,7 @@ extern int file_extra_cnt;
extern int inc_recurse;
extern int uid_ndx;
extern int gid_ndx;
@@ -627,7 +627,7 @@
extern int acls_ndx;
extern int xattrs_ndx;
-@@ -669,6 +695,11 @@ extern int xattrs_ndx;
+@@ -670,6 +696,11 @@ extern int xattrs_ndx;
/* When the associated option is on, all entries will have these present: */
#define F_OWNER(f) REQ_EXTRA(f, uid_ndx)->unum
#define F_GROUP(f) REQ_EXTRA(f, gid_ndx)->unum
@@ -710,8 +710,8 @@
+
dit(bf(--chmod)) This option tells rsync to apply one or more
comma-separated "chmod" strings to the permission of the files in the
- transfer. The resulting value is treated as though it was the permissions
-@@ -1216,12 +1244,13 @@ See bf(--delete) (which is implied) for more details on file-deletion.
+ transfer. The resulting value is treated as though it were the permissions
+@@ -1217,12 +1245,13 @@ See bf(--delete) (which is implied) for more details on file-deletion.
dit(bf(--ignore-errors)) Tells bf(--delete) to go ahead and delete files
even when there are I/O errors.
@@ -728,7 +728,7 @@
bf(--recursive) option was also enabled.
dit(bf(--max-delete=NUM)) This tells rsync not to delete more than NUM
-@@ -1686,7 +1715,7 @@ with older versions of rsync, but that also turns on the output of other
+@@ -1688,7 +1717,7 @@ with older versions of rsync, but that also turns on the output of other
verbose messages).
The "%i" escape has a cryptic output that is 11 letters long. The general
@@ -737,7 +737,7 @@
type of update being done, bf(X) is replaced by the file-type, and the
other letters represent attributes that may be output if they are being
modified.
-@@ -1742,7 +1771,7 @@ quote(itemization(
+@@ -1744,7 +1773,7 @@ quote(itemization(
sender's value (requires bf(--owner) and super-user privileges).
it() A bf(g) means the group is different and is being updated to the
sender's value (requires bf(--group) and the authority to set the group).
@@ -1097,21 +1097,14 @@
diff -up a/configure.sh b/configure.sh
--- a/configure.sh
+++ b/configure.sh
-@@ -15031,12 +15031,13 @@ fi
+@@ -7351,6 +7351,7 @@ fi
-
-
-+
for ac_func in waitpid wait4 getcwd strdup chown chmod lchmod mknod mkfifo \
fchmod fstat ftruncate strchr readlink link utime utimes lutimes strftime \
++ chflags \
memmove lchown vsnprintf snprintf vasprintf asprintf setsid strpbrk \
strlcat strlcpy strtol mallinfo getgroups setgroups geteuid getegid \
setlocale setmode open64 lseek64 mkstemp64 mtrace va_copy __va_copy \
-- strerror putenv iconv_open locale_charset nl_langinfo getxattr \
-+ chflags strerror putenv iconv_open locale_charset nl_langinfo getxattr \
- extattr_get_link sigaction sigprocmask setattrlist
- do
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
diff -up a/proto.h b/proto.h
--- a/proto.h
+++ b/proto.h
@@ -1168,9 +1161,9 @@
+ \-\-force\-change affect user/system immutable files/dirs
+ \-\-force\-uchange affect user-immutable files/dirs
+ \-\-force\-schange affect system-immutable files/dirs
- \-\-max\-delete=NUM don't delete more than NUM files
- \-\-max\-size=SIZE don't transfer any file larger than SIZE
- \-\-min\-size=SIZE don't transfer any file smaller than SIZE
+ \-\-max\-delete=NUM don'\&t delete more than NUM files
+ \-\-max\-size=SIZE don'\&t transfer any file larger than SIZE
+ \-\-min\-size=SIZE don'\&t transfer any file smaller than SIZE
@@ -638,7 +642,8 @@ specified, in which case \fB\-r\fP is no
.IP
Note that \fB\-a\fP \fBdoes not preserve hardlinks\fP, because
@@ -1223,8 +1216,8 @@
+.IP
.IP "\fB\-\-chmod\fP"
This option tells rsync to apply one or more
- comma-separated \(lqchmod\(rq strings to the permission of the files in the
-@@ -1386,13 +1418,14 @@ See \fB\-\-delete\fP (which is implied)
+ comma-separated \(dq\&chmod\(dq\& strings to the permission of the files in the
+@@ -1387,13 +1419,14 @@ See \fB\-\-delete\fP (which is implied)
Tells \fB\-\-delete\fP to go ahead and delete files
even when there are I/O errors.
.IP
@@ -1242,18 +1235,18 @@
\fB\-\-recursive\fP option was also enabled.
.IP
.IP "\fB\-\-max\-delete=NUM\fP"
-@@ -1928,7 +1961,7 @@ with older versions of rsync, but that a
+@@ -1930,7 +1963,7 @@ with older versions of rsync, but that a
verbose messages).
.IP
- The \(lq%i\(rq escape has a cryptic output that is 11 letters long. The general
+ The \(dq\&%i\(dq\& escape has a cryptic output that is 11 letters long. The general
-format is like the string \fBYXcstpoguax\fP, where \fBY\fP is replaced by the
+format is like the string \fBYXcstpogfax\fP, where \fBY\fP is replaced by the
type of update being done, \fBX\fP is replaced by the file-type, and the
other letters represent attributes that may be output if they are being
modified.
-@@ -1998,7 +2031,7 @@ sender's value (requires \fB\-\-owner\fP
+@@ -2000,7 +2033,7 @@ sender\(cq\&s value (requires \fB\-\-own
A \fBg\fP means the group is different and is being updated to the
- sender's value (requires \fB\-\-group\fP and the authority to set the group).
+ sender\(cq\&s value (requires \fB\-\-group\fP and the authority to set the group).
.IP o
-The \fBu\fP slot is reserved for future use.
+The \fBf\fP means that the fileflags information changed.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20100103/0c3d0ce7/attachment-0001.html>
More information about the macports-changes
mailing list