Ticket #35498: rsync-3.0.9-patch.diff

File rsync-3.0.9-patch.diff, 16.5 KB (added by jimjag (Jim Jagielski), 12 years ago)
  • Portfile

    diff -u -r ./Portfile ../rsync.new/Portfile
    old new  
    44PortSystem          1.0
    55
    66name                rsync
    7 version             3.0.8
    8 revision            1
     7version             3.0.9
     8revision            2
    99categories          net
    1010license             GPL-3+
    1111installs_libs       no
    1212platforms           darwin freebsd sunos
    13 maintainers         nomaintainer
     13maintainers         gmail.com:jimjag
    1414description         Fast incremental file transfer
    1515long_description    rsync is an open source utility that provides fast \
    1616                    incremental file transfer. It works both locally and remote \
     
    2121master_sites        http://rsync.samba.org/ftp/rsync/ \
    2222                    http://rsync.samba.org/ftp/rsync/src/
    2323
    24 checksums           md5     0ee8346ce16bdfe4c88a236e94c752b4 \
    25                     sha1    10e80173c7e9ed8b8a4dc9e8fdab08402da5f08d \
    26                     rmd160  f00c5ba42e33a1745976c9af5e770c220a6fa4a6
     24checksums           md5     5ee72266fe2c1822333c407e1761b92b \
     25                    sha1    c64c8341984aea647506eb504496999fd968ddfc \
     26                    rmd160  e5ee8d786defb0d8f937c8d027466f418c63c97e \
     27                    sha256  30f10f8dd5490d28240d4271bb652b1da7a60b22ed2b9ae28090668de9247c05
    2728
    2829depends_lib         port:popt port:libiconv
    2930
    30 # these come from http://rsync.samba.org/ftp/rsync/rsync-patches-3.0.8.tar.gz
     31# these come from http://rsync.samba.org/ftp/rsync/rsync-patches-3.0.9.tar.gz
    3132# and need to be updated with each release
    3233patchfiles          patch-fileflags.diff \
    3334                    patch-crtimes.diff
  • files/patch-crtimes.diff

    diff -u -r ./files/patch-crtimes.diff ../rsync.new/files/patch-crtimes.diff
    old new  
    462462diff --git a/rsync.yo b/rsync.yo
    463463--- a/rsync.yo
    464464+++ b/rsync.yo
    465 @@ -354,6 +354,7 @@ to the detailed description below for a complete description.  verb(
     465@@ -367,6 +367,7 @@ to the detailed description below for a complete description.  verb(
    466466  -D                          same as --devices --specials
    467467  -t, --times                 preserve modification times
    468468  -O, --omit-dir-times        omit directories from --times
     
    470470      --super                 receiver attempts super-user activities
    471471      --fake-super            store/recover privileged attrs using xattrs
    472472  -S, --sparse                handle sparse files efficiently
    473 @@ -1086,6 +1087,9 @@ it is preserving modification times (see bf(--times)).  If NFS is sharing
     473@@ -1105,6 +1106,9 @@ it is preserving modification times (see bf(--times)).  If NFS is sharing
    474474 the directories on the receiving side, it is a good idea to use bf(-O).
    475475 This option is inferred if you use bf(--backup) without bf(--backup-dir).
    476476 
     
    480480 dit(bf(--super)) This tells the receiving side to attempt super-user
    481481 activities even if the receiving rsync wasn't run by the super-user.  These
    482482 activities include: preserving users via the bf(--owner) option, preserving
    483 @@ -1782,7 +1786,7 @@ with older versions of rsync, but that also turns on the output of other
     483@@ -1811,7 +1815,7 @@ with older versions of rsync, but that also turns on the output of other
    484484 verbose messages).
    485485 
    486486 The "%i" escape has a cryptic output that is 11 letters long.  The general
     
    489489 type of update being done, bf(X) is replaced by the file-type, and the
    490490 other letters represent attributes that may be output if they are being
    491491 modified.
    492 @@ -1841,6 +1845,8 @@ quote(itemization(
     492@@ -1870,6 +1874,8 @@ quote(itemization(
    493493   it() The bf(f) means that the fileflags information changed.
    494494   it() The bf(a) means that the ACL information changed.
    495495   it() The bf(x) means that the extended attribute information changed.
     
    713713diff -up a/rsync.1 b/rsync.1
    714714--- a/rsync.1
    715715+++ b/rsync.1
    716 @@ -429,6 +429,7 @@ to the detailed description below for a
     716@@ -443,6 +443,7 @@ to the detailed description below for a
    717717  \-D                          same as \-\-devices \-\-specials
    718718  \-t, \-\-times                 preserve modification times
    719719  \-O, \-\-omit\-dir\-times        omit directories from \-\-times
     
    721721      \-\-super                 receiver attempts super\-user activities
    722722      \-\-fake\-super            store/recover privileged attrs using xattrs
    723723  \-S, \-\-sparse                handle sparse files efficiently
    724 @@ -1253,6 +1254,10 @@ it is preserving modification times (see
     724@@ -1273,6 +1274,10 @@ it is preserving modification times (see
    725725 the directories on the receiving side, it is a good idea to use \fB\-O\fP.
    726726 This option is inferred if you use \fB\-\-backup\fP without \fB\-\-backup\-dir\fP.
    727727 .IP
     
    732732 .IP "\fB\-\-super\fP"
    733733 This tells the receiving side to attempt super\-user
    734734 activities even if the receiving rsync wasn\(cq\&t run by the super\-user.  These
    735 @@ -2037,7 +2042,7 @@ with older versions of rsync, but that a
     735@@ -2067,7 +2072,7 @@ with older versions of rsync, but that a
    736736 verbose messages).
    737737 .IP
    738738 The \(dq\&%i\(dq\& escape has a cryptic output that is 11 letters long.  The general
     
    741741 type of update being done, \fBX\fP is replaced by the file\-type, and the
    742742 other letters represent attributes that may be output if they are being
    743743 modified.
    744 @@ -2112,6 +2117,9 @@ The \fBf\fP means that the fileflags inf
     744@@ -2142,6 +2147,9 @@ The \fBf\fP means that the fileflags inf
    745745 The \fBa\fP means that the ACL information changed.
    746746 .IP o
    747747 The \fBx\fP means that the extended attribute information changed.
  • files/patch-fileflags.diff

    diff -u -r ./files/patch-fileflags.diff ../rsync.new/files/patch-fileflags.diff
    old new  
    88    ./configure
    99    make
    1010
    11 based-on: 1ddcdaf3f6808ba53aef9e19f630a18808de22ac
     11based-on: 40afd365cc8ca968fd16e161d24df5b8a8a520cc
    1212diff --git a/Makefile.in b/Makefile.in
    1313--- a/Makefile.in
    1414+++ b/Makefile.in
     
    271271                if (statret != 0 && basis_dir[0] != NULL) {
    272272                        int j = try_dests_non(file, fname, ndx, fnamecmpbuf, &sx,
    273273                                              itemizing, code);
    274 @@ -1526,10 +1551,17 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
    275                 /* We need to ensure that the dirs in the transfer have writable
    276                  * permissions during the time we are putting files within them.
    277                  * This is then fixed after the transfer is done. */
     274@@ -1535,10 +1560,17 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
     275                 * readable and writable permissions during the time we are
     276                 * putting files within them.  This is then restored to the
     277                 * former permissions after the transfer is done. */
    278278+#ifdef SUPPORT_FORCE_CHANGE
    279279+               if (force_change && F_FFLAGS(file) & force_change) {
    280280+                       mode_t mode = file->mode;
     
    283283+               }
    284284+#endif
    285285 #ifdef HAVE_CHMOD
    286                 if (!am_root && !(file->mode & S_IWUSR) && dir_tweaking) {
    287                         mode_t mode = file->mode | S_IWUSR;
     286                if (!am_root && (file->mode & S_IRWXU) != S_IRWXU && dir_tweaking) {
     287                        mode_t mode = file->mode | S_IRWXU;
    288288-                       if (do_chmod(fname, mode) < 0) {
    289289+                       if (do_chmod(fname, mode, 0) < 0) {
    290290                                rsyserr(FERROR_XFER, errno,
    291291                                        "failed to modify permissions on %s",
    292292                                        full_fname(fname));
    293 @@ -1572,6 +1604,10 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
     293@@ -1573,6 +1605,10 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
    294294                file->mode = dest_mode(file->mode, sx.st.st_mode, dflt_perms,
    295295                                       exists);
    296296        }
     
    301301 
    302302 #ifdef SUPPORT_HARD_LINKS
    303303        if (preserve_hard_links && F_HLINK_NOT_FIRST(file)
    304 @@ -2115,13 +2151,17 @@ static void touch_up_dirs(struct file_list *flist, int ndx)
     304@@ -2116,13 +2152,17 @@ static void touch_up_dirs(struct file_list *flist, int ndx)
    305305                        continue;
    306306                fname = f_name(file, NULL);
    307307                if (fix_dir_perms)
     
    766766diff --git a/rsync.yo b/rsync.yo
    767767--- a/rsync.yo
    768768+++ b/rsync.yo
    769 @@ -342,6 +342,7 @@ to the detailed description below for a complete description.  verb(
     769@@ -355,6 +355,7 @@ to the detailed description below for a complete description.  verb(
    770770  -K, --keep-dirlinks         treat symlinked dir on receiver as dir
    771771  -H, --hard-links            preserve hard links
    772772  -p, --perms                 preserve permissions
     
    774774  -E, --executability         preserve executability
    775775      --chmod=CHMOD           affect file and/or directory permissions
    776776  -A, --acls                  preserve ACLs (implies -p)
    777 @@ -373,7 +374,10 @@ to the detailed description below for a complete description.  verb(
    778       --delete-after          receiver deletes after transfer, not before
     777@@ -386,7 +387,10 @@ to the detailed description below for a complete description.  verb(
     778      --delete-after          receiver deletes after transfer, not during
    779779      --delete-excluded       also delete excluded files from dest dirs
    780780      --ignore-errors         delete even if there are I/O errors
    781781-     --force                 force deletion of dirs even if not empty
     
    786786      --max-delete=NUM        don't delete more than NUM files
    787787      --max-size=SIZE         don't transfer any file larger than SIZE
    788788      --min-size=SIZE         don't transfer any file smaller than SIZE
    789 @@ -547,7 +551,8 @@ specified, in which case bf(-r) is not implied.
     789@@ -566,7 +570,8 @@ specified, in which case bf(-r) is not implied.
    790790 
    791791 Note that bf(-a) bf(does not preserve hardlinks), because
    792792 finding multiply-linked files is expensive.  You must separately
     
    796796 
    797797 dit(--no-OPTION) You may turn off one or more implied options by prefixing
    798798 the option name with "no-".  Not all options may be prefixed with a "no-":
    799 @@ -827,7 +832,7 @@ they would be using bf(--copy-links).
     799@@ -846,7 +851,7 @@ they would be using bf(--copy-links).
    800800 Without this option, if the sending side has replaced a directory with a
    801801 symlink to a directory, the receiving side will delete anything that is in
    802802 the way of the new symlink, including a directory hierarchy (as long as
     
    805805 
    806806 See also bf(--keep-dirlinks) for an analogous option for the receiving
    807807 side.
    808 @@ -990,6 +995,29 @@ Note that this option does not copy rsyncs special xattr values (e.g. those
     808@@ -1009,6 +1014,29 @@ Note that this option does not copy rsyncs special xattr values (e.g. those
    809809 used by bf(--fake-super)) unless you repeat the option (e.g. -XX).  This
    810810 "copy all xattrs" mode cannot be used with bf(--fake-super).
    811811 
     
    833833+bf(--force-change) and bf(--force-schange).
    834834+
    835835 dit(bf(--chmod)) This option tells rsync to apply one or more
    836  comma-separated "chmod" strings to the permission of the files in the
     836 comma-separated "chmod" modes to the permission of the files in the
    837837 transfer.  The resulting value is treated as though it were the permissions
    838 @@ -1260,12 +1288,13 @@ See bf(--delete) (which is implied) for more details on file-deletion.
     838@@ -1289,12 +1317,13 @@ See bf(--delete) (which is implied) for more details on file-deletion.
    839839 dit(bf(--ignore-errors)) Tells bf(--delete) to go ahead and delete files
    840840 even when there are I/O errors.
    841841 
     
    852852 bf(--recursive) option was also enabled.
    853853 
    854854 dit(bf(--max-delete=NUM)) This tells rsync not to delete more than NUM
    855 @@ -1753,7 +1782,7 @@ with older versions of rsync, but that also turns on the output of other
     855@@ -1782,7 +1811,7 @@ with older versions of rsync, but that also turns on the output of other
    856856 verbose messages).
    857857 
    858858 The "%i" escape has a cryptic output that is 11 letters long.  The general
     
    861861 type of update being done, bf(X) is replaced by the file-type, and the
    862862 other letters represent attributes that may be output if they are being
    863863 modified.
    864 @@ -1809,7 +1838,7 @@ quote(itemization(
     864@@ -1838,7 +1867,7 @@ quote(itemization(
    865865   sender's value (requires bf(--owner) and super-user privileges).
    866866   it() A bf(g) means the group is different and is being updated to the
    867867   sender's value (requires bf(--group) and the authority to set the group).
     
    14361436diff --git a/xattrs.c b/xattrs.c
    14371437--- a/xattrs.c
    14381438+++ b/xattrs.c
    1439 @@ -1041,7 +1041,7 @@ int set_stat_xattr(const char *fname, struct file_struct *file, mode_t new_mode)
     1439@@ -1042,7 +1042,7 @@ int set_stat_xattr(const char *fname, struct file_struct *file, mode_t new_mode)
    14401440        mode = (fst.st_mode & _S_IFMT) | (fmode & ACCESSPERMS)
    14411441             | (S_ISDIR(fst.st_mode) ? 0700 : 0600);
    14421442        if (fst.st_mode != mode)
     
    14611461diff -up a/configure.sh b/configure.sh
    14621462--- a/configure.sh
    14631463+++ b/configure.sh
    1464 @@ -7425,6 +7425,7 @@ fi
     1464@@ -7444,6 +7444,7 @@ fi
    14651465 
    14661466 for ac_func in waitpid wait4 getcwd strdup chown chmod lchmod mknod mkfifo \
    14671467     fchmod fstat ftruncate strchr readlink link utime utimes lutimes strftime \
     
    15241524diff -up a/rsync.1 b/rsync.1
    15251525--- a/rsync.1
    15261526+++ b/rsync.1
    1527 @@ -417,6 +417,7 @@ to the detailed description below for a
     1527@@ -431,6 +431,7 @@ to the detailed description below for a
    15281528  \-K, \-\-keep\-dirlinks         treat symlinked dir on receiver as dir
    15291529  \-H, \-\-hard\-links            preserve hard links
    15301530  \-p, \-\-perms                 preserve permissions
     
    15321532  \-E, \-\-executability         preserve executability
    15331533      \-\-chmod=CHMOD           affect file and/or directory permissions
    15341534  \-A, \-\-acls                  preserve ACLs (implies \-p)
    1535 @@ -448,7 +449,10 @@ to the detailed description below for a
    1536       \-\-delete\-after          receiver deletes after transfer, not before
     1535@@ -462,7 +463,10 @@ to the detailed description below for a
     1536      \-\-delete\-after          receiver deletes after transfer, not during
    15371537      \-\-delete\-excluded       also delete excluded files from dest dirs
    15381538      \-\-ignore\-errors         delete even if there are I/O errors
    15391539-     \-\-force                 force deletion of dirs even if not empty
     
    15441544      \-\-max\-delete=NUM        don'\&t delete more than NUM files
    15451545      \-\-max\-size=SIZE         don'\&t transfer any file larger than SIZE
    15461546      \-\-min\-size=SIZE         don'\&t transfer any file smaller than SIZE
    1547 @@ -638,7 +642,8 @@ specified, in which case \fB\-r\fP is no
     1547@@ -658,7 +662,8 @@ specified, in which case \fB\-r\fP is no
    15481548 .IP
    15491549 Note that \fB\-a\fP \fBdoes not preserve hardlinks\fP, because
    15501550 finding multiply\-linked files is expensive.  You must separately
     
    15541554 .IP
    15551555 .IP "\-\-no\-OPTION"
    15561556 You may turn off one or more implied options by prefixing
    1557 @@ -955,7 +960,7 @@ they would be using \fB\-\-copy\-links\f
     1557@@ -975,7 +980,7 @@ they would be using \fB\-\-copy\-links\f
    15581558 Without this option, if the sending side has replaced a directory with a
    15591559 symlink to a directory, the receiving side will delete anything that is in
    15601560 the way of the new symlink, including a directory hierarchy (as long as
     
    15631563 .IP
    15641564 See also \fB\-\-keep\-dirlinks\fP for an analogous option for the receiving
    15651565 side.
    1566 @@ -1142,6 +1147,33 @@ Note that this option does not copy rsyn
     1566@@ -1162,6 +1167,33 @@ Note that this option does not copy rsyn
    15671567 used by \fB\-\-fake\-super\fP) unless you repeat the option (e.g. \-XX).  This
    15681568 \(dq\&copy all xattrs\(dq\& mode cannot be used with \fB\-\-fake\-super\fP.
    15691569 .IP
     
    15961596+.IP
    15971597 .IP "\fB\-\-chmod\fP"
    15981598 This option tells rsync to apply one or more
    1599  comma\-separated \(dq\&chmod\(dq\& strings to the permission of the files in the
    1600 @@ -1442,13 +1474,14 @@ See \fB\-\-delete\fP (which is implied)
     1599 comma\-separated \(dq\&chmod\(dq\& modes to the permission of the files in the
     1600@@ -1472,13 +1504,14 @@ See \fB\-\-delete\fP (which is implied)
    16011601 Tells \fB\-\-delete\fP to go ahead and delete files
    16021602 even when there are I/O errors.
    16031603 .IP
     
    16151615 \fB\-\-recursive\fP option was also enabled.
    16161616 .IP
    16171617 .IP "\fB\-\-max\-delete=NUM\fP"
    1618 @@ -2004,7 +2037,7 @@ with older versions of rsync, but that a
     1618@@ -2034,7 +2067,7 @@ with older versions of rsync, but that a
    16191619 verbose messages).
    16201620 .IP
    16211621 The \(dq\&%i\(dq\& escape has a cryptic output that is 11 letters long.  The general
     
    16241624 type of update being done, \fBX\fP is replaced by the file\-type, and the
    16251625 other letters represent attributes that may be output if they are being
    16261626 modified.
    1627 @@ -2074,7 +2107,7 @@ sender\(cq\&s value (requires \fB\-\-own
     1627@@ -2104,7 +2137,7 @@ sender\(cq\&s value (requires \fB\-\-own
    16281628 A \fBg\fP means the group is different and is being updated to the
    16291629 sender\(cq\&s value (requires \fB\-\-group\fP and the authority to set the group).
    16301630 .IP o