From 0264b06472a342c0d719f35422adeaaf4e54f1e4 Mon Sep 17 00:00:00 2001 From: Ian Leonard Date: Wed, 3 Sep 2014 17:33:03 -0700 Subject: [PATCH] rsync: enable selecting bundled or system zlib rsync, by default, includes a patched zlib within its source tarball. The patch enables a better compression ratio for rsync streams. However, the client and server need the same featureset in their zlib in order to understand the compression stream, or the server will abort the transfer. Older versions have no understanding of the new compression standard used. This patch allows the builder to choose whether to use the bundled or system zlib. It defautls to using the system zlib, as is the default before this patch. Signed-off-by: Ian Leonard --- net/rsync/Config.in | 13 +++++++++++++ net/rsync/Makefile | 19 ++++++++++++------- 2 files changed, 25 insertions(+), 7 deletions(-) diff --git a/net/rsync/Config.in b/net/rsync/Config.in index c78288069..dfbfdf16c 100644 --- a/net/rsync/Config.in +++ b/net/rsync/Config.in @@ -9,4 +9,17 @@ if PACKAGE_rsync bool prompt "Enable ACL support" default n + + config RSYNC_zlib + bool + prompt "Enable system zlib" + help + Use the system's zlib library instead of rsync's internal copy. Enabling + this may create compatibility errors when using compression with older + clients, or those using the current default of the bundled zlib. + + rsync's upstream default is to use their bundled zlib. OpenWrt uses the + system zlib for space reasons. The system zlib will eventually become + default for upstream as well. + default y endif diff --git a/net/rsync/Makefile b/net/rsync/Makefile index 6d6d201b6..dd0dfb2cc 100644 --- a/net/rsync/Makefile +++ b/net/rsync/Makefile @@ -29,7 +29,7 @@ define Package/rsync CATEGORY:=Network SUBMENU:=File Transfer TITLE:=Fast remote file copy program (like rcp) - DEPENDS:=+libpopt +zlib +RSYNC_xattr:libattr +RSYNC_acl:libacl + DEPENDS:=+libpopt +RSYNC_xattr:libattr +RSYNC_acl:libacl +RSYNC_zlib:zlib URL:=http://rsync.samba.org/ MENU:=1 endef @@ -38,6 +38,11 @@ define Package/rsync/config source "$(SOURCE)/Config.in" endef +CONFIGURE_ARGS += \ + --with-included-popt=no \ + --disable-debug \ + --disable-locale \ + ifeq ($(CONFIG_RSYNC_xattr),y) CONFIGURE_ARGS+= --enable-xattr-support else @@ -50,6 +55,12 @@ else CONFIGURE_ARGS+= --disable-acl-support endif +ifeq ($(CONFIG_RSYNC_zlib),y) + CONFIGURE_ARGS+= --with-included-zlib=no +else + CONFIGURE_ARGS+= --with-included-zlib=yes +endif + define Package/rsyncd SECTION:=net CATEGORY:=Network @@ -69,12 +80,6 @@ define Package/rsync/description between two sets of files across the network link. endef -CONFIGURE_ARGS += \ - --with-included-popt=no \ - --with-included-zlib=no \ - --disable-debug \ - --disable-locale \ - define Package/rsync/install $(INSTALL_DIR) $(1)/usr/bin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/$(PKG_NAME) $(1)/usr/bin/