Opened 11 years ago

Closed 10 years ago

#40803 closed update (duplicate)

Rsync 3.1.0 released

Reported by: jones@… Owned by: jimjag (Jim Jagielski)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: mojca (Mojca Miklavec), lucractius@…, cooljeanius (Eric Gallager), petrrr
Port: rsync

Description

Good afternoon,

Rsync version 3.1.0 has been released with lots of bug fixes and enhancements. Just wondering if it would be possible to update the MacPort to this version.

http://rsync.samba.org/ftp/rsync/src/rsync-3.1.0-NEWS

Cheers, -Chris

Change History (10)

comment:1 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: gmail.com:jimjag removed
Owner: changed from macports-tickets@… to jimjag@…
Version: 2.2.0

The Cc field requires actual email addresses.

comment:2 Changed 11 years ago by jimjag (Jim Jagielski)

So far, the rsync 3.1.0 version dies horribly under OSX. Even without any of the patches (i.e.: a virgin rsync build) shows errors during the backup-bouncer-be tests, whereas rsync 3.0.9 passes fine. Until rsync 3.1.0 can be ported in a stable and reliable form, we'll stick with 3.0.9

comment:3 Changed 10 years ago by mojca (Mojca Miklavec)

Cc: mojca@… added

Cc Me!

comment:4 Changed 10 years ago by mojca (Mojca Miklavec)

In case you are willing to share your Portfile and bugs ... I'm also interested.

comment:5 Changed 10 years ago by larryv (Lawrence Velázquez)

Cc: lucractius@… added

Has duplicate #42421.

comment:6 Changed 10 years ago by cooljeanius (Eric Gallager)

Cc: egall@… added

Cc Me!

comment:7 in reply to:  2 Changed 10 years ago by lucractius@…

I compiled and built the binary manually last night (from the unpatched sources) on OSX 10.9 without issue and was able to use it to transfer files to a server running Ubuntu 12.04 LTS with the 3.10 rsync deb files pulled in from Debian Jessie.

Possibly the failure was due to bad deps? Can we revisit the issue & at least confirm it still dies.

Replying to jimjag@…:

So far, the rsync 3.1.0 version dies horribly under OSX. Even without any of the patches (i.e.: a virgin rsync build) shows errors during the backup-bouncer-be tests, whereas rsync 3.0.9 passes fine. Until rsync 3.1.0 can be ported in a stable and reliable form, we'll stick with 3.0.9

Last edited 10 years ago by lucractius@… (previous) (diff)

comment:8 Changed 10 years ago by petrrr

Cc: Peter.Danecek@… added

Cc Me!

comment:9 Changed 10 years ago by mojca (Mojca Miklavec)

Prerelease version 3.1.1 for rsync are now available for testing. The following patch works for me:

  • Portfile

     
    44PortSystem          1.0
    55
    66name                rsync
    7 version             3.0.9
    8 revision            2
     7version             3.1.1pre2
    98categories          net
    109license             GPL-3+
    1110installs_libs       no
     
    1918
    2019homepage            http://samba.org/rsync/
    2120master_sites        http://rsync.samba.org/ftp/rsync/ \
    22                     http://rsync.samba.org/ftp/rsync/src/
     21                    http://rsync.samba.org/ftp/rsync/src/ \
     22                    http://rsync.samba.org/ftp/rsync/src-previews/
    2323
    24 checksums           md5     5ee72266fe2c1822333c407e1761b92b \
    25                     sha1    c64c8341984aea647506eb504496999fd968ddfc \
    26                     rmd160  e5ee8d786defb0d8f937c8d027466f418c63c97e \
    27                     sha256  30f10f8dd5490d28240d4271bb652b1da7a60b22ed2b9ae28090668de9247c05
     24checksums           rmd160  bfeb080eeba2c9bc50f23c56ae38b2f9153d7dc6 \
     25                    sha256  ea2c20f5a28fb8e75fbee47c0bc68f80ddb3a035e5aabb6c32dbd2090df650d6
    2826
    2927depends_lib         port:popt port:libiconv
    3028
    31 # these come from http://rsync.samba.org/ftp/rsync/rsync-patches-3.0.9.tar.gz
    32 # and need to be updated with each release
    33 patchfiles          patch-fileflags.diff \
    34                     patch-crtimes.diff \
    35                     patch-hfs-compression.diff \
    36                     patch-hfs-compression-options.diff \
    37                     patch-acls-unpack-error.diff
    38 patch.pre_args      -p1
    39 
    4029configure.args      --with-rsyncd-conf=${prefix}/etc/rsyncd.conf
    41 configure.cflags   "-Os -I${prefix}/include"
    4230
    4331pre-configure {
    4432    system "cd ${worksrcpath}; ./prepare-source"

I didn't specifically test version 3.1.0 yet (I plan to keep using 3.1.1pre2 now), but it would be very nice to get more feedback about what exactly is failing in 3.1.0, so that we can test and report any remaining problems and switch to 3.1.1 once it gets released. I wouldn't be surprised if 3.1.0 failed for the maintainer because rsync included headers from external zlib and then linked to the internal one (or any other weird combination like that).

I had to remove

configure.cflags   "-Os -I${prefix}/include" 

from the port, otherwise the build fails with:

/usr/bin/clang -I. -I. -pipe -Os -I/opt/local/include -arch x86_64 -DHAVE_CONFIG_H -Wall -W -I./zlib -I/opt/local/include -c token.c -o token.o
token.c:420:26: error: use of undeclared identifier 'Z_INSERT_ONLY'
                        r = deflate(&tx_strm, Z_INSERT_ONLY);
                                              ^
1 error generated.
make: *** [token.o] Error 1

Rsync seems to prefer the modified build-in zlib library. Adding -I/opt/local/include prevents rsync from finding the files from the built-in zlib library because then -I/opt/local/include comes in front of -I./zlib. I reported the problem upstream, asking them to put "-I./zlib" in front of CFLAGS. But I don't understand the need for changing CFLAGS in the rsync port anyway.

I get two warnings:

uidlist.c:533:44: warning: passing 'gid_t *' (aka 'unsigned int *') to parameter of type 'int *' converts between pointers to integer types with different sign [-Wpointer-sign]
        if (getgrouplist(pw->pw_name, pw->pw_gid, gid_list, size_ptr) < 0)
                                                  ^~~~~~~~
/usr/include/unistd.h:698:43: note: passing argument to parameter here
int      getgrouplist(const char *, int, int *, int *);
                                              ^
1 warning generated.


acls.c:742:84: warning: unused parameter 'mode' [-Wunused-parameter]
static int recv_rsync_acl(int f, item_list *racl_list, SMB_ACL_TYPE_T type, mode_t mode)
                                                                                   ^
1 warning generated.
Last edited 10 years ago by mojca (Mojca Miklavec) (previous) (diff)

comment:10 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: duplicate
Status: newclosed

Superseded by #44117 which provides an update to 3.1.1.

Note: See TracTickets for help on using tickets.