rsync: update to 3.4.1

This commit is contained in:
Tom G. Christensen 2025-02-12 13:40:43 +01:00
parent e6c03913fb
commit 3c995ef0d0
7 changed files with 266 additions and 5 deletions

View File

@ -6,11 +6,14 @@
########################################################### ###########################################################
# Check the following 4 variables before running the script # Check the following 4 variables before running the script
topdir=rsync topdir=rsync
version=3.1.3 version=3.4.1
pkgver=1 pkgver=1
source[0]=https://download.samba.org/pub/rsync/src/$topdir-$version.tar.gz source[0]=https://download.samba.org/pub/rsync/src/$topdir-$version.tar.gz
# If there are no patches, simply comment this # If there are no patches, simply comment this
#patch[0]= patch[0]=0001-Move-pathjoin-to-lib.patch
patch[1]=0002-Fix-build-with-no-stdint.h.patch
patch[2]=0003-Ensure-SIZE_MAX-is-defined.patch
patch[3]=0004-Missing-include-for-my_strdup.patch
# Source function library # Source function library
. ${BUILDPKG_SCRIPTS}/buildpkg.functions . ${BUILDPKG_SCRIPTS}/buildpkg.functions
@ -18,7 +21,8 @@ source[0]=https://download.samba.org/pub/rsync/src/$topdir-$version.tar.gz
# Global settings # Global settings
export CPPFLAGS="-I$prefix/include" export CPPFLAGS="-I$prefix/include"
export LDFLAGS="-L$prefix/lib -R$prefix/lib" export LDFLAGS="-L$prefix/lib -R$prefix/lib"
configure_args+=(--with-included-popt --disable-ipv6) export CC="gcc -D__EXTENSIONS__"
configure_args+=(--with-included-popt --disable-ipv6 --disable-xxhash --disable-zstd --disable-lz4)
reg prep reg prep
prep() prep()
@ -42,7 +46,7 @@ reg install
install() install()
{ {
generic_install DESTDIR generic_install DESTDIR
doc NEWS README COPYING doc NEWS.md README.md COPYING
} }
reg pack reg pack

View File

@ -1,5 +1,8 @@
CHANGELOG CHANGELOG
--------- ---------
* Wed Feb 12 2025 Tom G. Christensen <swpkg@jupiterrise.com> - 3.4.1-1
- Update to 3.4.1
* Sat Apr 21 2018 Tom G. Christensen <swpkg@jupiterrise.com> - 3.1.3-1 * Sat Apr 21 2018 Tom G. Christensen <swpkg@jupiterrise.com> - 3.1.3-1
- Update to 3.1.3 - Update to 3.1.3

View File

@ -2,7 +2,7 @@
pkgname="${pkgprefix}${topdir}" pkgname="${pkgprefix}${topdir}"
name="$topdir - File transfer utility" name="$topdir - File transfer utility"
pkgcat="application" pkgcat="application"
pkgvendor="http://samba.anu.edu.au/rsync/" pkgvendor="https://rsync.samba.org/"
pkgdesc="Utility that provides fast incremental file transfer" pkgdesc="Utility that provides fast incremental file transfer"
pkgver="$pkgver" pkgver="$pkgver"
files(-,root,bin) files(-,root,bin)

View File

@ -0,0 +1,155 @@
From 1afc1f962841edeba221a5188d255e26cb0f5c74 Mon Sep 17 00:00:00 2001
From: "Tom G. Christensen" <tgc@jupiterrise.com>
Date: Wed, 12 Feb 2025 10:12:39 +0100
Subject: [PATCH 1/4] Move pathjoin() to lib/
To allow pathjoin() to be used from syscall.o when building the test
programs.
---
Makefile.in | 9 +++++----
lib/pathjoin.c | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
rsync.h | 4 ++++
util1.c | 22 ----------------------
4 files changed, 58 insertions(+), 26 deletions(-)
create mode 100644 lib/pathjoin.c
diff --git a/Makefile.in b/Makefile.in
index 6340403b..a532a1f7 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -40,7 +40,8 @@ GENFILES=configure.sh aclocal.m4 config.h.in rsync.1 rsync.1.html \
HEADERS=byteorder.h config.h errcode.h proto.h rsync.h ifuncs.h itypes.h inums.h \
lib/pool_alloc.h lib/mdigest.h lib/md-defines.h
LIBOBJ=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 @LIBOBJS@
+ lib/permstring.o lib/pool_alloc.o lib/sysacls.o lib/sysxattrs.o \
+ lib/pathjoin.o @LIBOBJS@
zlib_OBJS=zlib/deflate.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o \
zlib/trees.o zlib/zutil.o zlib/adler32.o zlib/compress.o zlib/crc32.o
OBJS1=flist.o rsync.o generator.o receiver.o cleanup.o sender.o exclude.o \
@@ -53,7 +54,7 @@ popt_OBJS= popt/popt.o popt/poptconfig.o \
popt/popthelp.o popt/poptparse.o popt/poptint.o
OBJS=$(OBJS1) $(OBJS2) $(OBJS3) $(DAEMON_OBJ) $(LIBOBJ) @BUILD_ZLIB@ @BUILD_POPT@
-TLS_OBJ = tls.o syscall.o util2.o t_stub.o lib/compat.o lib/snprintf.o lib/permstring.o lib/sysxattrs.o @BUILD_POPT@
+TLS_OBJ = tls.o syscall.o util2.o t_stub.o lib/compat.o lib/snprintf.o lib/permstring.o lib/sysxattrs.o lib/pathjoin.o @BUILD_POPT@
# Programs we must have to run the test cases
CHECK_PROGS = rsync$(EXEEXT) tls$(EXEEXT) getgroups$(EXEEXT) getfsdev$(EXEEXT) \
@@ -170,11 +171,11 @@ getgroups$(EXEEXT): getgroups.o
getfsdev$(EXEEXT): getfsdev.o
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ getfsdev.o $(LIBS)
-TRIMSLASH_OBJ = trimslash.o syscall.o util2.o t_stub.o lib/compat.o lib/snprintf.o
+TRIMSLASH_OBJ = trimslash.o syscall.o util2.o t_stub.o lib/compat.o lib/snprintf.o lib/pathjoin.o
trimslash$(EXEEXT): $(TRIMSLASH_OBJ)
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(TRIMSLASH_OBJ) $(LIBS)
-T_UNSAFE_OBJ = t_unsafe.o syscall.o util1.o util2.o t_stub.o lib/compat.o lib/snprintf.o lib/wildmatch.o
+T_UNSAFE_OBJ = t_unsafe.o syscall.o util1.o util2.o t_stub.o lib/compat.o lib/snprintf.o lib/wildmatch.o lib/pathjoin.o
t_unsafe$(EXEEXT): $(T_UNSAFE_OBJ)
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(T_UNSAFE_OBJ) $(LIBS)
diff --git a/lib/pathjoin.c b/lib/pathjoin.c
new file mode 100644
index 00000000..f29834a0
--- /dev/null
+++ b/lib/pathjoin.c
@@ -0,0 +1,49 @@
+/*
+ * Utility routines used in rsync.
+ *
+ * Copyright (C) 1996-2000 Andrew Tridgell
+ * Copyright (C) 1996 Paul Mackerras
+ * Copyright (C) 2001, 2002 Martin Pool <mbp@samba.org>
+ * Copyright (C) 2003-2022 Wayne Davison
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, visit the http://fsf.org website.
+ */
+
+#include "rsync.h"
+#include "ifuncs.h"
+#include "itypes.h"
+#include "inums.h"
+
+/* Join strings p1 & p2 into "dest" with a guaranteed '/' between them. (If
+ * p1 ends with a '/', no extra '/' is inserted.) Returns the length of both
+ * strings + 1 (if '/' was inserted), regardless of whether the null-terminated
+ * string fits into destsize. */
+size_t pathjoin(char *dest, size_t destsize, const char *p1, const char *p2)
+{
+ size_t len = strlcpy(dest, p1, destsize);
+ if (len < destsize - 1) {
+ if (!len || dest[len-1] != '/')
+ dest[len++] = '/';
+ if (len < destsize - 1)
+ len += strlcpy(dest + len, p2, destsize - len);
+ else {
+ dest[len] = '\0';
+ len += strlen(p2);
+ }
+ }
+ else
+ len += strlen(p2) + 1; /* Assume we'd insert a '/'. */
+ return len;
+}
+
diff --git a/rsync.h b/rsync.h
index 479ac484..b477ad10 100644
--- a/rsync.h
+++ b/rsync.h
@@ -1487,3 +1487,7 @@ const char *get_panic_action(void);
#elif defined HAVE_MALLINFO
#define MEM_ALLOC_INFO mallinfo
#endif
+
+/* pathjoin() is in lib/pathjoin.c */
+size_t pathjoin(char *dest, size_t destsize, const char *p1, const char *p2);
+
diff --git a/util1.c b/util1.c
index d84bc414..0e6806b1 100644
--- a/util1.c
+++ b/util1.c
@@ -866,28 +866,6 @@ char *conf_strtok(char *str)
return strtok(str, " ,\t\r\n");
}
-/* Join strings p1 & p2 into "dest" with a guaranteed '/' between them. (If
- * p1 ends with a '/', no extra '/' is inserted.) Returns the length of both
- * strings + 1 (if '/' was inserted), regardless of whether the null-terminated
- * string fits into destsize. */
-size_t pathjoin(char *dest, size_t destsize, const char *p1, const char *p2)
-{
- size_t len = strlcpy(dest, p1, destsize);
- if (len < destsize - 1) {
- if (!len || dest[len-1] != '/')
- dest[len++] = '/';
- if (len < destsize - 1)
- len += strlcpy(dest + len, p2, destsize - len);
- else {
- dest[len] = '\0';
- len += strlen(p2);
- }
- }
- else
- len += strlen(p2) + 1; /* Assume we'd insert a '/'. */
- return len;
-}
-
/* Join any number of strings together, putting them in "dest". The return
* value is the length of all the strings, regardless of whether the null-
* terminated whole fits in destsize. Your list of string pointers must end
--
2.36.6

View File

@ -0,0 +1,51 @@
From a551f279b7b93c47d0be5fbd29ca90def0d013e8 Mon Sep 17 00:00:00 2001
From: "Tom G. Christensen" <tgc@jupiterrise.com>
Date: Wed, 12 Feb 2025 10:17:44 +0100
Subject: [PATCH 2/4] Fix build with no stdint.h
---
popt/lookup3.c | 8 +++++++-
popt/poptint.h | 8 +++++++-
2 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/popt/lookup3.c b/popt/lookup3.c
index e974cad8..792776cd 100644
--- a/popt/lookup3.c
+++ b/popt/lookup3.c
@@ -34,7 +34,13 @@
*/
/* -------------------------------------------------------------------- */
-#include <stdint.h>
+#include <config.h>
+
+#ifdef HAVE_STDINT_H
+ #include <stdint.h>
+#else
+ #include <inttypes.h>
+#endif
#if defined(_JLU3_SELFTEST)
# define _JLU3_jlu32w 1
diff --git a/popt/poptint.h b/popt/poptint.h
index 001c5c35..75575492 100644
--- a/popt/poptint.h
+++ b/popt/poptint.h
@@ -9,7 +9,13 @@
#ifndef H_POPTINT
#define H_POPTINT
-#include <stdint.h>
+#include <config.h>
+
+#ifdef HAVE_STDINT_H
+ #include <stdint.h>
+#else
+ #include <inttypes.h>
+#endif
/**
* Wrapper to free(3), hides const compilation noise, permit NULL, return NULL.
--
2.36.6

View File

@ -0,0 +1,24 @@
From e89c46bb50b64256abe47e3ac1934de186d415ef Mon Sep 17 00:00:00 2001
From: "Tom G. Christensen" <tgc@jupiterrise.com>
Date: Wed, 12 Feb 2025 10:21:10 +0100
Subject: [PATCH 3/4] Ensure SIZE_MAX is defined
---
popt/poptconfig.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/popt/poptconfig.c b/popt/poptconfig.c
index bf201e26..f0d52123 100644
--- a/popt/poptconfig.c
+++ b/popt/poptconfig.c
@@ -10,6 +10,7 @@
#include "poptint.h"
#include <sys/stat.h>
#include <unistd.h>
+#include <limits.h>
#include <fcntl.h>
#include <errno.h>
--
2.36.6

View File

@ -0,0 +1,24 @@
From 6a679eef0112fe073af8b068c1bc74cbeaed55c1 Mon Sep 17 00:00:00 2001
From: "Tom G. Christensen" <tgc@jupiterrise.com>
Date: Wed, 12 Feb 2025 10:48:11 +0100
Subject: [PATCH 4/4] Missing include for my_strdup()
---
lib/getaddrinfo.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/lib/getaddrinfo.c b/lib/getaddrinfo.c
index 96d7a2ba..a1706096 100644
--- a/lib/getaddrinfo.c
+++ b/lib/getaddrinfo.c
@@ -44,6 +44,7 @@ TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
*/
#include "rsync.h"
+#include "ifuncs.h"
#ifndef SMB_MALLOC
#define SMB_MALLOC(s) malloc(s)
--
2.36.6