xref: /OK3568_Linux_fs/yocto/poky/meta/recipes-devtools/rsync/rsync_3.2.5.bb (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1SUMMARY = "File synchronization tool"
2HOMEPAGE = "http://rsync.samba.org/"
3DESCRIPTION = "rsync is an open source utility that provides fast incremental file transfer."
4BUGTRACKER = "http://rsync.samba.org/bugzilla.html"
5SECTION = "console/network"
6# GPL-2.0-or-later (<< 3.0.0), GPL-3.0-or-later (>= 3.0.0)
7# Includes opennsh and xxhash dynamic link exception
8LICENSE = "GPL-3.0-or-later"
9LIC_FILES_CHKSUM = "file://COPYING;md5=24423708fe159c9d12be1ea29fcb18c7"
10
11DEPENDS = "popt"
12
13SRC_URI = "https://download.samba.org/pub/${BPN}/src/${BP}.tar.gz \
14           file://rsyncd.conf \
15           file://makefile-no-rebuild.patch \
16           file://determism.patch \
17           file://0001-Add-missing-prototypes-to-function-declarations.patch \
18           file://0001-Turn-on-pedantic-errors-at-the-end-of-configure.patch \
19           "
20
21SRC_URI[sha256sum] = "2ac4d21635cdf791867bc377c35ca6dda7f50d919a58be45057fd51600c69aba"
22
23# -16548 required for v3.1.3pre1. Already in v3.1.3.
24CVE_CHECK_IGNORE += " CVE-2017-16548 "
25
26inherit autotools-brokensep
27
28PACKAGECONFIG ??= "acl attr \
29    ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
30"
31
32PACKAGECONFIG[acl] = "--enable-acl-support,--disable-acl-support,acl,"
33PACKAGECONFIG[attr] = "--enable-xattr-support,--disable-xattr-support,attr,"
34PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
35PACKAGECONFIG[lz4] = "--enable-lz4,--disable-lz4,lz4"
36PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl"
37PACKAGECONFIG[xxhash] = "--enable-xxhash,--disable-xxhash,xxhash"
38PACKAGECONFIG[zstd] = "--enable-zstd,--disable-zstd,zstd"
39
40# By default, if crosscompiling, rsync disables a number of
41# capabilities, hardlinking symlinks and special files (i.e. devices)
42CACHED_CONFIGUREVARS += "rsync_cv_can_hardlink_special=yes rsync_cv_can_hardlink_symlink=yes"
43
44EXTRA_OEMAKE = 'STRIP=""'
45EXTRA_OECONF = "--disable-md2man --with-nobody-group=nogroup"
46
47#| ./simd-checksum-x86_64.cpp: In function 'uint32_t get_checksum1_cpp(char*, int32_t)':
48#| ./simd-checksum-x86_64.cpp:89:52: error: multiversioning needs 'ifunc' which is not supported on this target
49#|    89 | __attribute__ ((target("default"))) MVSTATIC int32 get_checksum1_avx2_64(schar* buf, int32 len, int32 i, uint32* ps1, uint32* ps2) { return i; }
50#|       |                                                    ^~~~~~~~~~~~~~~~~~~~~
51#| ./simd-checksum-x86_64.cpp:480:1: error: use of multiversioned function without a default
52#|   480 | }
53#|       | ^
54#| If you can't fix the issue, re-run ./configure with --disable-roll-simd.
55EXTRA_OECONF:append:libc-musl = " --disable-roll-simd"
56
57# rsync 3.0 uses configure.sh instead of configure, and
58# makefile checks the existence of configure.sh
59do_configure:prepend () {
60	rm -f ${S}/configure ${S}/configure.sh
61}
62
63do_configure:append () {
64	cp -f ${S}/configure ${S}/configure.sh
65}
66
67do_install:append() {
68	install -d ${D}${sysconfdir}
69	install -m 0644 ${WORKDIR}/rsyncd.conf ${D}${sysconfdir}
70}
71
72BBCLASSEXTEND = "native nativesdk"
73