package/rsync: fix static build

Fix the following static build failure when using an external zlib:

/home/autobuild/autobuild/instance-11/output-1/host/bin/i686-buildroot-linux-uclibc-gcc -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -Og -g0  -static -DHAVE_CONFIG_H -Wall -W -Wno-unused-parameter -static -o rsync flist.o rsync.o generator.o receiver.o cleanup.o sender.o exclude.o util.o util2.o main.o checksum.o match.o syscall.o log.o backup.o delete.o options.o io.o compat.o hlink.o token.o uidlist.o socket.o hashtable.o usage.o fileio.o batch.o clientname.o chmod.o acls.o xattrs.o progress.o pipe.o   params.o loadparm.o clientserver.o access.o connection.o authenticate.o lib/wildmatch.o lib/compat.o lib/snprintf.o lib/mdfour.o lib/md5.o lib/permstring.o lib/pool_alloc.o lib/sysacls.o lib/sysxattrs.o    -lz -lpopt -liconv
/home/autobuild/autobuild/instance-11/output-1/host/lib/gcc/i686-buildroot-linux-uclibc/9.4.0/../../../../i686-buildroot-linux-uclibc/bin/ld: /home/autobuild/autobuild/instance-11/output-1/host/i686-buildroot-linux-uclibc/sysroot/usr/lib/libz.a(deflate.c.o): in function `read_buf':
deflate.c:(.text+0xb93): multiple definition of `read_buf'; io.o:io.c:(.text+0x2bf4): first defined here

Fixes:
 - http://autobuild.buildroot.org/results/488453197da880dda8f47b71ff302192bcbb6679

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
This commit is contained in:
Fabrice Fontaine 2022-04-11 23:19:56 +02:00 committed by Arnout Vandecappelle (Essensium/Mind)
parent eb952597c3
commit bd1dfdf69a

View File

@ -0,0 +1,27 @@
From 60dd42be603a79cd57cec076fe1680e9037be774 Mon Sep 17 00:00:00 2001
From: Wayne Davison <wayne@opencoder.net>
Date: Mon, 11 Apr 2022 08:29:54 -0700
Subject: [PATCH] Handle linking with a zlib with external read_buf.
[Retrieved from:
https://github.com/WayneD/rsync/commit/60dd42be603a79cd57cec076fe1680e9037be774]
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
rsync.h | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/rsync.h b/rsync.h
index 4b30570b..e5aacd25 100644
--- a/rsync.h
+++ b/rsync.h
@@ -1172,6 +1172,10 @@ struct name_num_obj {
struct name_num_item list[10]; /* we'll get a compile error/warning if this is ever too small */
};
+#ifdef EXTERNAL_ZLIB
+#define read_buf read_buf_
+#endif
+
#ifndef __cplusplus
#include "proto.h"
#endif