Andrew Geissler | 517393d | 2023-01-13 08:55:19 -0600 | [diff] [blame] | 1 | SUMMARY = "File synchronization tool" |
| 2 | HOMEPAGE = "http://rsync.samba.org/" |
| 3 | DESCRIPTION = "rsync is an open source utility that provides fast incremental file transfer." |
| 4 | BUGTRACKER = "http://rsync.samba.org/bugzilla.html" |
| 5 | SECTION = "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 |
| 8 | LICENSE = "GPL-3.0-or-later" |
| 9 | LIC_FILES_CHKSUM = "file://COPYING;md5=24423708fe159c9d12be1ea29fcb18c7" |
| 10 | |
| 11 | DEPENDS = "popt" |
| 12 | |
| 13 | SRC_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 | " |
| 19 | SRC_URI[sha256sum] = "4e7d9d3f6ed10878c58c5fb724a67dacf4b6aac7340b13e488fb2dc41346f2bb" |
| 20 | |
| 21 | # -16548 required for v3.1.3pre1. Already in v3.1.3. |
| 22 | CVE_CHECK_IGNORE += " CVE-2017-16548 " |
| 23 | |
| 24 | inherit autotools-brokensep |
| 25 | |
| 26 | PACKAGECONFIG ??= "acl attr \ |
| 27 | ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \ |
| 28 | " |
| 29 | |
| 30 | PACKAGECONFIG[acl] = "--enable-acl-support,--disable-acl-support,acl," |
| 31 | PACKAGECONFIG[attr] = "--enable-xattr-support,--disable-xattr-support,attr," |
| 32 | PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," |
| 33 | PACKAGECONFIG[lz4] = "--enable-lz4,--disable-lz4,lz4" |
| 34 | PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl" |
| 35 | PACKAGECONFIG[xxhash] = "--enable-xxhash,--disable-xxhash,xxhash" |
| 36 | PACKAGECONFIG[zstd] = "--enable-zstd,--disable-zstd,zstd" |
| 37 | |
| 38 | # By default, if crosscompiling, rsync disables a number of |
| 39 | # capabilities, hardlinking symlinks and special files (i.e. devices) |
| 40 | CACHED_CONFIGUREVARS += "rsync_cv_can_hardlink_special=yes rsync_cv_can_hardlink_symlink=yes" |
| 41 | |
| 42 | EXTRA_OEMAKE = 'STRIP=""' |
| 43 | EXTRA_OECONF = "--disable-md2man --with-nobody-group=nogroup" |
| 44 | |
| 45 | #| ./simd-checksum-x86_64.cpp: In function 'uint32_t get_checksum1_cpp(char*, int32_t)': |
| 46 | #| ./simd-checksum-x86_64.cpp:89:52: error: multiversioning needs 'ifunc' which is not supported on this target |
| 47 | #| 89 | __attribute__ ((target("default"))) MVSTATIC int32 get_checksum1_avx2_64(schar* buf, int32 len, int32 i, uint32* ps1, uint32* ps2) { return i; } |
| 48 | #| | ^~~~~~~~~~~~~~~~~~~~~ |
| 49 | #| ./simd-checksum-x86_64.cpp:480:1: error: use of multiversioned function without a default |
| 50 | #| 480 | } |
| 51 | #| | ^ |
| 52 | #| If you can't fix the issue, re-run ./configure with --disable-roll-simd. |
| 53 | EXTRA_OECONF:append:libc-musl = " --disable-roll-simd" |
| 54 | |
| 55 | # rsync 3.0 uses configure.sh instead of configure, and |
| 56 | # makefile checks the existence of configure.sh |
| 57 | do_configure:prepend () { |
| 58 | rm -f ${S}/configure ${S}/configure.sh |
| 59 | } |
| 60 | |
| 61 | do_configure:append () { |
| 62 | cp -f ${S}/configure ${S}/configure.sh |
| 63 | } |
| 64 | |
| 65 | do_install:append() { |
| 66 | install -d ${D}${sysconfdir} |
| 67 | install -m 0644 ${WORKDIR}/rsyncd.conf ${D}${sysconfdir} |
| 68 | } |
| 69 | |
| 70 | BBCLASSEXTEND = "native nativesdk" |