From 5521ea7257554f44c06d83e319eb5057641a6783 Mon Sep 17 00:00:00 2001 From: Wang Mingyu Date: Tue, 9 Apr 2024 15:10:17 +0800 Subject: rsync: upgrade 3.2.7 -> 3.3.0 0001-Add-missing-prototypes-to-function-declarations.patch makefile-no-rebuild.patch refreshed for 3.3.0 Changelog: ========== - Fixed a bug with '--sparse --inplace' where a trailing gap in the source file would not clear out the trailing data in the destination file. - Fixed an buffer overflow in the checksum2 code if SHA1 is being used for the checksum2 algorithm. - Fixed an issue when rsync is compiled using '_FORTIFY_SOURCE' so that the extra tests don't complain about a strlcpy() limit value (which was too large, even though it wasn't possible for the larger value to cause an overflow). - Add a backtick to the list of characters that the filename quoting needs to escape using backslashes. - Fixed a string-comparison issue in the internal handling of '--progress' (a locale such as tr_TR.utf-8 needed the internal triggering of '--info' options to use upper-case flag names to ensure that they match). - Make sure that a local transfer marks the sender side as trusted. - Change the argv handling to work with a newer popt library -- one that likes to free more data than it used to. - Rsync now calls 'OpenSSL_add_all_algorithms()' when compiled against an older openssl library. - Fixed a problem in the daemon auth for older protocols (29 and before) if the openssl library is being used to compute MD4 checksums. - Fixed 'rsync -VV' on Cygwin -- it needed a flush of stdout. - Fixed an old stats bug that counted devices as symlinks. (From OE-Core rev: fbf01c03527024342b9deb5f10b2aa05ac47045b) Signed-off-by: Wang Mingyu Signed-off-by: Richard Purdie --- ...ssing-prototypes-to-function-declarations.patch | 13 ++--- .../rsync/files/makefile-no-rebuild.patch | 7 +-- meta/recipes-devtools/rsync/rsync_3.2.7.bb | 67 ---------------------- meta/recipes-devtools/rsync/rsync_3.3.0.bb | 67 ++++++++++++++++++++++ 4 files changed, 76 insertions(+), 78 deletions(-) delete mode 100644 meta/recipes-devtools/rsync/rsync_3.2.7.bb create mode 100644 meta/recipes-devtools/rsync/rsync_3.3.0.bb diff --git a/meta/recipes-devtools/rsync/files/0001-Add-missing-prototypes-to-function-declarations.patch b/meta/recipes-devtools/rsync/files/0001-Add-missing-prototypes-to-function-declarations.patch index 8895adad74..2379de84f2 100644 --- a/meta/recipes-devtools/rsync/files/0001-Add-missing-prototypes-to-function-declarations.patch +++ b/meta/recipes-devtools/rsync/files/0001-Add-missing-prototypes-to-function-declarations.patch @@ -1,4 +1,4 @@ -From 651425fced0691d9063fe417388ba6ca1c38c40b Mon Sep 17 00:00:00 2001 +From 2beb35c34c45320144f37b12ef4d72fb8734280e Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Mon, 29 Aug 2022 19:53:28 -0700 Subject: [PATCH] Add missing prototypes to function declarations @@ -15,7 +15,6 @@ Fixes errors like Upstream-Status: Submitted [https://lists.samba.org/archive/rsync/2022-August/032858.html] Signed-off-by: Khem Raj - --- checksum.c | 2 +- exclude.c | 2 +- @@ -30,10 +29,10 @@ Signed-off-by: Khem Raj 10 files changed, 12 insertions(+), 13 deletions(-) diff --git a/checksum.c b/checksum.c -index 60de365..67a9e16 100644 +index cb21882..736818b 100644 --- a/checksum.c +++ b/checksum.c -@@ -778,7 +778,7 @@ static void verify_digest(struct name_num_item *nni, BOOL check_auth_list) +@@ -779,7 +779,7 @@ static void verify_digest(struct name_num_item *nni, BOOL check_auth_list) } #endif @@ -43,7 +42,7 @@ index 60de365..67a9e16 100644 #if defined SUPPORT_XXH3 || defined USE_OPENSSL struct name_num_item *nni; diff --git a/exclude.c b/exclude.c -index ffe55b1..a85ea76 100644 +index 87edbcf..ae0de2f 100644 --- a/exclude.c +++ b/exclude.c @@ -363,7 +363,7 @@ void implied_include_partial_string(const char *s_start, const char *s_end) @@ -96,10 +95,10 @@ index e4ba1cc..8482b71 100644 int options = LOG_PID; diff --git a/main.c b/main.c -index d2a7b9b..c50af45 100644 +index 0c60b86..4bc664a 100644 --- a/main.c +++ b/main.c -@@ -244,7 +244,7 @@ void read_del_stats(int f) +@@ -246,7 +246,7 @@ void read_del_stats(int f) stats.deleted_files += stats.deleted_specials = read_varint(f); } diff --git a/meta/recipes-devtools/rsync/files/makefile-no-rebuild.patch b/meta/recipes-devtools/rsync/files/makefile-no-rebuild.patch index 92ed1f4419..0c9ce8b8e3 100644 --- a/meta/recipes-devtools/rsync/files/makefile-no-rebuild.patch +++ b/meta/recipes-devtools/rsync/files/makefile-no-rebuild.patch @@ -1,4 +1,4 @@ -From 81700d1a0e51391028c761cc8ef1cd660084d114 Mon Sep 17 00:00:00 2001 +From f446686c26c499e15ef17d495a93cfbc20e16090 Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Tue, 12 Apr 2016 15:51:54 +0100 Subject: [PATCH] rsync: remove upstream's rebuild logic @@ -8,16 +8,15 @@ generally overcomplicated, and we ensure that autoreconf is invoked if required. Upstream-Status: Inappropriate Signed-off-by: Ross Burton - --- Makefile.in | 54 ----------------------------------------------------- 1 file changed, 54 deletions(-) diff --git a/Makefile.in b/Makefile.in -index 3cde955..d963a70 100644 +index a1253e5..a084935 100644 --- a/Makefile.in +++ b/Makefile.in -@@ -190,60 +190,6 @@ gensend: gen +@@ -192,60 +192,6 @@ gensend: gen fi rsync -aic $(GENFILES) git-version.h $${SAMBA_HOST-samba.org}:/home/ftp/pub/rsync/generated-files/ || true diff --git a/meta/recipes-devtools/rsync/rsync_3.2.7.bb b/meta/recipes-devtools/rsync/rsync_3.2.7.bb deleted file mode 100644 index 130581a785..0000000000 --- a/meta/recipes-devtools/rsync/rsync_3.2.7.bb +++ /dev/null @@ -1,67 +0,0 @@ -SUMMARY = "File synchronization tool" -HOMEPAGE = "http://rsync.samba.org/" -DESCRIPTION = "rsync is an open source utility that provides fast incremental file transfer." -BUGTRACKER = "http://rsync.samba.org/bugzilla.html" -SECTION = "console/network" -# GPL-2.0-or-later (<< 3.0.0), GPL-3.0-or-later (>= 3.0.0) -# Includes opennsh and xxhash dynamic link exception -LICENSE = "GPL-3.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=24423708fe159c9d12be1ea29fcb18c7" - -DEPENDS = "popt" - -SRC_URI = "https://download.samba.org/pub/${BPN}/src/${BP}.tar.gz \ - file://rsyncd.conf \ - file://makefile-no-rebuild.patch \ - file://determism.patch \ - file://0001-Add-missing-prototypes-to-function-declarations.patch \ - " -SRC_URI[sha256sum] = "4e7d9d3f6ed10878c58c5fb724a67dacf4b6aac7340b13e488fb2dc41346f2bb" - -inherit autotools-brokensep - -PACKAGECONFIG ??= "acl attr \ - ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \ -" - -PACKAGECONFIG[acl] = "--enable-acl-support,--disable-acl-support,acl," -PACKAGECONFIG[attr] = "--enable-xattr-support,--disable-xattr-support,attr," -PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," -PACKAGECONFIG[lz4] = "--enable-lz4,--disable-lz4,lz4" -PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl" -PACKAGECONFIG[xxhash] = "--enable-xxhash,--disable-xxhash,xxhash" -PACKAGECONFIG[zstd] = "--enable-zstd,--disable-zstd,zstd" - -# By default, if crosscompiling, rsync disables a number of -# capabilities, hardlinking symlinks and special files (i.e. devices) -CACHED_CONFIGUREVARS += "rsync_cv_can_hardlink_special=yes rsync_cv_can_hardlink_symlink=yes" - -EXTRA_OEMAKE = 'STRIP=""' -EXTRA_OECONF = "--disable-md2man --with-nobody-group=nogroup" - -#| ./simd-checksum-x86_64.cpp: In function 'uint32_t get_checksum1_cpp(char*, int32_t)': -#| ./simd-checksum-x86_64.cpp:89:52: error: multiversioning needs 'ifunc' which is not supported on this target -#| 89 | __attribute__ ((target("default"))) MVSTATIC int32 get_checksum1_avx2_64(schar* buf, int32 len, int32 i, uint32* ps1, uint32* ps2) { return i; } -#| | ^~~~~~~~~~~~~~~~~~~~~ -#| ./simd-checksum-x86_64.cpp:480:1: error: use of multiversioned function without a default -#| 480 | } -#| | ^ -#| If you can't fix the issue, re-run ./configure with --disable-roll-simd. -EXTRA_OECONF:append:libc-musl = " --disable-roll-simd" - -# rsync 3.0 uses configure.sh instead of configure, and -# makefile checks the existence of configure.sh -do_configure:prepend () { - rm -f ${S}/configure ${S}/configure.sh -} - -do_configure:append () { - cp -f ${S}/configure ${S}/configure.sh -} - -do_install:append() { - install -d ${D}${sysconfdir} - install -m 0644 ${WORKDIR}/rsyncd.conf ${D}${sysconfdir} -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/rsync/rsync_3.3.0.bb b/meta/recipes-devtools/rsync/rsync_3.3.0.bb new file mode 100644 index 0000000000..b42026331d --- /dev/null +++ b/meta/recipes-devtools/rsync/rsync_3.3.0.bb @@ -0,0 +1,67 @@ +SUMMARY = "File synchronization tool" +HOMEPAGE = "http://rsync.samba.org/" +DESCRIPTION = "rsync is an open source utility that provides fast incremental file transfer." +BUGTRACKER = "http://rsync.samba.org/bugzilla.html" +SECTION = "console/network" +# GPL-2.0-or-later (<< 3.0.0), GPL-3.0-or-later (>= 3.0.0) +# Includes opennsh and xxhash dynamic link exception +LICENSE = "GPL-3.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=24423708fe159c9d12be1ea29fcb18c7" + +DEPENDS = "popt" + +SRC_URI = "https://download.samba.org/pub/${BPN}/src/${BP}.tar.gz \ + file://rsyncd.conf \ + file://makefile-no-rebuild.patch \ + file://determism.patch \ + file://0001-Add-missing-prototypes-to-function-declarations.patch \ + " +SRC_URI[sha256sum] = "7399e9a6708c32d678a72a63219e96f23be0be2336e50fd1348498d07041df90" + +inherit autotools-brokensep + +PACKAGECONFIG ??= "acl attr \ + ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \ +" + +PACKAGECONFIG[acl] = "--enable-acl-support,--disable-acl-support,acl," +PACKAGECONFIG[attr] = "--enable-xattr-support,--disable-xattr-support,attr," +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," +PACKAGECONFIG[lz4] = "--enable-lz4,--disable-lz4,lz4" +PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl" +PACKAGECONFIG[xxhash] = "--enable-xxhash,--disable-xxhash,xxhash" +PACKAGECONFIG[zstd] = "--enable-zstd,--disable-zstd,zstd" + +# By default, if crosscompiling, rsync disables a number of +# capabilities, hardlinking symlinks and special files (i.e. devices) +CACHED_CONFIGUREVARS += "rsync_cv_can_hardlink_special=yes rsync_cv_can_hardlink_symlink=yes" + +EXTRA_OEMAKE = 'STRIP=""' +EXTRA_OECONF = "--disable-md2man --with-nobody-group=nogroup" + +#| ./simd-checksum-x86_64.cpp: In function 'uint32_t get_checksum1_cpp(char*, int32_t)': +#| ./simd-checksum-x86_64.cpp:89:52: error: multiversioning needs 'ifunc' which is not supported on this target +#| 89 | __attribute__ ((target("default"))) MVSTATIC int32 get_checksum1_avx2_64(schar* buf, int32 len, int32 i, uint32* ps1, uint32* ps2) { return i; } +#| | ^~~~~~~~~~~~~~~~~~~~~ +#| ./simd-checksum-x86_64.cpp:480:1: error: use of multiversioned function without a default +#| 480 | } +#| | ^ +#| If you can't fix the issue, re-run ./configure with --disable-roll-simd. +EXTRA_OECONF:append:libc-musl = " --disable-roll-simd" + +# rsync 3.0 uses configure.sh instead of configure, and +# makefile checks the existence of configure.sh +do_configure:prepend () { + rm -f ${S}/configure ${S}/configure.sh +} + +do_configure:append () { + cp -f ${S}/configure ${S}/configure.sh +} + +do_install:append() { + install -d ${D}${sysconfdir} + install -m 0644 ${WORKDIR}/rsyncd.conf ${D}${sysconfdir} +} + +BBCLASSEXTEND = "native nativesdk" -- cgit v1.2.3-54-g00ecf