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 <antonlacon@gmail.com>
This commit is contained in:
Ian Leonard 2014-09-03 17:33:03 -07:00
parent a1680da39d
commit 0264b06472
2 changed files with 25 additions and 7 deletions

View File

@ -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

View File

@ -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/