aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Hughes <davidhughes205@gmail.com>2021-04-18 21:08:28 -0400
committerDave Hughes <davidhughes205@gmail.com>2021-04-18 21:11:02 -0400
commit606d58773908bafca960d1a143fe59a61d9cd963 (patch)
tree7f1130f1f658c4b77f471b41bd56e3bfeec5f8b2 /net-misc/rsync
parentsys-process/psmisc: sync with ::gentoo (diff)
downloadmusl-606d58773908bafca960d1a143fe59a61d9cd963.tar.gz
musl-606d58773908bafca960d1a143fe59a61d9cd963.tar.bz2
musl-606d58773908bafca960d1a143fe59a61d9cd963.zip
net-misc/rsync: fix ipv6
Bug: https://bugs.gentoo.org/779988 Closes: https://bugs.gentoo.org/779988 Package-Manager: Portage-3.0.18, Repoman-3.0.3 Signed-off-by: Dave Hughes <davidhughes205@gmail.com>
Diffstat (limited to 'net-misc/rsync')
-rw-r--r--net-misc/rsync/Manifest1
-rw-r--r--net-misc/rsync/files/rsyncd.conf-3.0.9-r115
-rw-r--r--net-misc/rsync/files/rsyncd.conf.d5
-rw-r--r--net-misc/rsync/files/rsyncd.init.d-r111
-rw-r--r--net-misc/rsync/files/rsyncd.logrotate9
-rw-r--r--net-misc/rsync/files/rsyncd.xinetd-3.0.9-r110
-rw-r--r--net-misc/rsync/metadata.xml16
-rw-r--r--net-misc/rsync/rsync-3.2.3-r2.ebuild156
-rw-r--r--net-misc/rsync/rsync-9999.ebuild156
9 files changed, 379 insertions, 0 deletions
diff --git a/net-misc/rsync/Manifest b/net-misc/rsync/Manifest
new file mode 100644
index 0000000..c1ee190
--- /dev/null
+++ b/net-misc/rsync/Manifest
@@ -0,0 +1 @@
+DIST rsync-3.2.3.tar.gz 1069784 BLAKE2B 085adb55d0d7e3d063fa198912fd09df67b63800a65baff5315ccb7dfc0e9d703eef30a7f2e72e3b271162c280abd9809b3f736704752c1663eed65ad8e0ac25 SHA512 48b68491f3ef644dbbbfcaec5ab90a1028593e02d50367ce161fd9d3d0bd0a3628bc57c5e5dec4be3a1d213f784f879b8a8fcdfd789ba0f99837cba16e1ae70e
diff --git a/net-misc/rsync/files/rsyncd.conf-3.0.9-r1 b/net-misc/rsync/files/rsyncd.conf-3.0.9-r1
new file mode 100644
index 0000000..e3c55fd
--- /dev/null
+++ b/net-misc/rsync/files/rsyncd.conf-3.0.9-r1
@@ -0,0 +1,15 @@
+# /etc/rsyncd.conf
+
+# Minimal configuration file for rsync daemon
+# See rsync(1) and rsyncd.conf(5) man pages for help
+
+# This line is required by the /etc/init.d/rsyncd script
+pid file = @GENTOO_PORTAGE_EPREFIX@/run/rsyncd.pid
+use chroot = yes
+read only = yes
+
+# Simple example for enabling your own local rsync server
+#[gentoo-portage]
+# path = @GENTOO_PORTAGE_EPREFIX@/var/db/repos/gentoo
+# comment = Gentoo ebuild repository
+# exclude = /distfiles /packages
diff --git a/net-misc/rsync/files/rsyncd.conf.d b/net-misc/rsync/files/rsyncd.conf.d
new file mode 100644
index 0000000..c3d897e
--- /dev/null
+++ b/net-misc/rsync/files/rsyncd.conf.d
@@ -0,0 +1,5 @@
+# /etc/conf.d/rsyncd: config file for /etc/init.d/rsyncd
+
+# see man pages for rsync or run `rsync --help`
+# for valid cmdline options
+#RSYNC_OPTS=""
diff --git a/net-misc/rsync/files/rsyncd.init.d-r1 b/net-misc/rsync/files/rsyncd.init.d-r1
new file mode 100644
index 0000000..f8e4b8d
--- /dev/null
+++ b/net-misc/rsync/files/rsyncd.init.d-r1
@@ -0,0 +1,11 @@
+#!/sbin/openrc-run
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+command="/usr/bin/rsync"
+command_args="--daemon ${RSYNC_OPTS}"
+pidfile="/var/run/${SVCNAME}.pid"
+
+depend() {
+ use net
+}
diff --git a/net-misc/rsync/files/rsyncd.logrotate b/net-misc/rsync/files/rsyncd.logrotate
new file mode 100644
index 0000000..34bcf72
--- /dev/null
+++ b/net-misc/rsync/files/rsyncd.logrotate
@@ -0,0 +1,9 @@
+/var/log/rsync.log {
+ compress
+ maxage 365
+ rotate 7
+ size=+1024k
+ notifempty
+ missingok
+ copytruncate
+}
diff --git a/net-misc/rsync/files/rsyncd.xinetd-3.0.9-r1 b/net-misc/rsync/files/rsyncd.xinetd-3.0.9-r1
new file mode 100644
index 0000000..90d07f0
--- /dev/null
+++ b/net-misc/rsync/files/rsyncd.xinetd-3.0.9-r1
@@ -0,0 +1,10 @@
+service rsync
+{
+ socket_type = stream
+ protocol = tcp
+ wait = no
+ user = root
+ server = @GENTOO_PORTAGE_EPREFIX@/usr/bin/rsync
+ server_args = --daemon
+ disable = yes
+}
diff --git a/net-misc/rsync/metadata.xml b/net-misc/rsync/metadata.xml
new file mode 100644
index 0000000..1f39f54
--- /dev/null
+++ b/net-misc/rsync/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:samba:rsync</remote-id>
+ </upstream>
+ <use>
+ <flag name="stunnel">Provide helper scripts for using rsync via &gt;=net-misc/stunnel-4</flag>
+ <flag name="system-zlib">Use system zlib instead of bundled one. This is incompatible with older rsync releases!</flag>
+ <flag name="xxhash">Enable <pkg>dev-libs/xxhash</pkg> support for hashing</flag>
+ </use>
+</pkgmetadata>
diff --git a/net-misc/rsync/rsync-3.2.3-r2.ebuild b/net-misc/rsync/rsync-3.2.3-r2.ebuild
new file mode 100644
index 0000000..dfe4805
--- /dev/null
+++ b/net-misc/rsync/rsync-3.2.3-r2.ebuild
@@ -0,0 +1,156 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit flag-o-matic prefix systemd
+
+DESCRIPTION="File transfer program to keep remote files into sync"
+HOMEPAGE="https://rsync.samba.org/"
+if [[ "${PV}" == *9999 ]] ; then
+ PYTHON_COMPAT=( python3_{6,7,8} )
+ inherit autotools git-r3 python-any-r1
+ EGIT_REPO_URI="https://github.com/WayneD/rsync.git"
+else
+ if [[ "${PV}" == *_pre* ]] ; then
+ SRC_DIR="src-previews"
+ else
+ SRC_DIR="src"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+ fi
+ SRC_URI="https://rsync.samba.org/ftp/rsync/${SRC_DIR}/${P/_/}.tar.gz"
+ S="${WORKDIR}/${P/_/}"
+fi
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE_CPU_FLAGS_X86=" sse2"
+IUSE="acl examples iconv ipv6 libressl lz4 ssl stunnel system-zlib xattr xxhash zstd"
+IUSE+=" ${IUSE_CPU_FLAGS_X86// / cpu_flags_x86_}"
+
+RDEPEND="acl? ( virtual/acl )
+ lz4? ( app-arch/lz4 )
+ ssl? (
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ )
+ system-zlib? ( sys-libs/zlib )
+ xattr? ( kernel_linux? ( sys-apps/attr ) )
+ xxhash? ( dev-libs/xxhash )
+ zstd? ( >=app-arch/zstd-1.4 )
+ >=dev-libs/popt-1.5
+ iconv? ( virtual/libiconv )"
+DEPEND="${RDEPEND}"
+
+if [[ "${PV}" == *9999 ]] ; then
+ BDEPEND="${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ dev-python/commonmark[${PYTHON_USEDEP}]
+ ')"
+fi
+
+# Only required for live ebuild
+python_check_deps() {
+ has_version "dev-python/commonmark[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ # Force enable IPv6 on musl - upstream bug https://bugzilla.samba.org/show_bug.cgi?id=10715
+ if use elibc_musl ; then
+ append-cflags -DINET6
+ fi
+}
+
+src_prepare() {
+ default
+ if [[ "${PV}" == *9999 ]] ; then
+ eaclocal -I m4
+ eautoconf -o configure.sh
+ eautoheader && touch config.h.in
+ fi
+}
+
+src_configure() {
+ local myeconfargs=(
+ --with-rsyncd-conf="${EPREFIX}"/etc/rsyncd.conf
+ --without-included-popt
+ $(use_enable acl acl-support)
+ $(use_enable iconv)
+ $(use_enable ipv6)
+ $(use_enable lz4)
+ $(use_enable ssl openssl)
+ $(use_with !system-zlib included-zlib)
+ $(use_enable xattr xattr-support)
+ $(use_enable xxhash)
+ $(use_enable zstd)
+ )
+
+ if use elibc_glibc && [[ "${ARCH}" == "amd64" ]] ; then
+ # SIMD is only available for x86_64 right now
+ # and only on glibc (#728868)
+ myeconfargs+=( $(use_enable cpu_flags_x86_sse2 simd) )
+ else
+ myeconfargs+=( --disable-simd )
+ fi
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ newconfd "${FILESDIR}"/rsyncd.conf.d rsyncd
+ newinitd "${FILESDIR}"/rsyncd.init.d-r1 rsyncd
+
+ dodoc NEWS.md README.md TODO tech_report.tex
+
+ insinto /etc
+ newins "${FILESDIR}"/rsyncd.conf-3.0.9-r1 rsyncd.conf
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/rsyncd.logrotate rsyncd
+
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}"/rsyncd.xinetd-3.0.9-r1 rsyncd
+
+ # Install stunnel helpers
+ if use stunnel ; then
+ emake DESTDIR="${D}" install-ssl-daemon
+ fi
+
+ # Install the useful contrib scripts
+ if use examples ; then
+ exeinto /usr/share/rsync
+ doexe support/*
+ rm -f "${ED}"/usr/share/rsync/{Makefile*,*.c}
+ fi
+
+ eprefixify "${ED}"/etc/{,xinetd.d}/rsyncd*
+
+ systemd_newunit "packaging/systemd/rsync.service" "rsyncd.service"
+}
+
+pkg_postinst() {
+ if egrep -qis '^[[:space:]]use chroot[[:space:]]*=[[:space:]]*(no|0|false)' \
+ "${EROOT}"/etc/rsyncd.conf "${EROOT}"/etc/rsync/rsyncd.conf ; then
+ ewarn "You have disabled chroot support in your rsyncd.conf. This"
+ ewarn "is a security risk which you should fix. Please check your"
+ ewarn "/etc/rsyncd.conf file and fix the setting 'use chroot'."
+ fi
+ if use stunnel ; then
+ einfo "Please install \">=net-misc/stunnel-4\" in order to use stunnel feature."
+ einfo
+ einfo "You maybe have to update the certificates configured in"
+ einfo "${EROOT}/etc/stunnel/rsync.conf"
+ fi
+ if use system-zlib ; then
+ ewarn "Using system-zlib is incompatible with <rsync-3.1.1 when"
+ ewarn "using the --compress option."
+ ewarn
+ ewarn "When syncing with >=rsync-3.1.1 built with bundled zlib,"
+ ewarn "and the --compress option, add --new-compress (-zz)."
+ ewarn
+ ewarn "For syncing the portage tree, add:"
+ ewarn "PORTAGE_RSYNC_EXTRA_OPTS=\"--new-compress\" to make.conf"
+ fi
+}
diff --git a/net-misc/rsync/rsync-9999.ebuild b/net-misc/rsync/rsync-9999.ebuild
new file mode 100644
index 0000000..7a2ca12
--- /dev/null
+++ b/net-misc/rsync/rsync-9999.ebuild
@@ -0,0 +1,156 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit flag-o-matic prefix systemd
+
+DESCRIPTION="File transfer program to keep remote files into sync"
+HOMEPAGE="https://rsync.samba.org/"
+if [[ "${PV}" == *9999 ]] ; then
+ PYTHON_COMPAT=( python3_{6,7,8} )
+ inherit autotools git-r3 python-any-r1
+ EGIT_REPO_URI="https://github.com/WayneD/rsync.git"
+else
+ if [[ "${PV}" == *_pre* ]] ; then
+ SRC_DIR="src-previews"
+ else
+ SRC_DIR="src"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+ fi
+ SRC_URI="https://rsync.samba.org/ftp/rsync/${SRC_DIR}/${P/_/}.tar.gz"
+ S="${WORKDIR}/${P/_/}"
+fi
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE_CPU_FLAGS_X86=" sse2"
+IUSE="acl examples iconv ipv6 libressl lz4 ssl stunnel system-zlib xattr xxhash zstd"
+IUSE+=" ${IUSE_CPU_FLAGS_X86// / cpu_flags_x86_}"
+
+RDEPEND="acl? ( virtual/acl )
+ lz4? ( app-arch/lz4 )
+ ssl? (
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ )
+ system-zlib? ( sys-libs/zlib )
+ xattr? ( kernel_linux? ( sys-apps/attr ) )
+ xxhash? ( dev-libs/xxhash )
+ zstd? ( >=app-arch/zstd-1.4 )
+ >=dev-libs/popt-1.5
+ iconv? ( virtual/libiconv )"
+DEPEND="${RDEPEND}"
+
+if [[ "${PV}" == *9999 ]] ; then
+ BDEPEND="${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ dev-python/commonmark[${PYTHON_USEDEP}]
+ ')"
+fi
+
+# Only required for live ebuild
+python_check_deps() {
+ has_version "dev-python/commonmark[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ # Force enable IPv6 on musl - upstream bug https://bugzilla.samba.org/show_bug.cgi?id=10715
+ if use elibc_musl ; then
+ append-cflags -DINET6
+ fi
+}
+
+src_prepare() {
+ default
+ if [[ "${PV}" == *9999 ]] ; then
+ eaclocal -I m4
+ eautoconf -o configure.sh
+ eautoheader && touch config.h.in
+ fi
+}
+
+src_configure() {
+ local myeconfargs=(
+ --with-rsyncd-conf="${EPREFIX}"/etc/rsyncd.conf
+ --without-included-popt
+ $(use_enable acl acl-support)
+ $(use_enable iconv)
+ $(use_enable ipv6)
+ $(use_enable lz4)
+ $(use_enable ssl openssl)
+ $(use_with !system-zlib included-zlib)
+ $(use_enable xattr xattr-support)
+ $(use_enable xxhash)
+ $(use_enable zstd)
+ )
+
+ if use elibc_glibc && [[ "${ARCH}" == "amd64" ]] ; then
+ # SIMD is only available for x86_64 right now
+ # and only on glibc (#728868)
+ myeconfargs+=( $(use_enable cpu_flags_x86_sse2 simd) )
+ else
+ myeconfargs+=( --disable-simd )
+ fi
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ newconfd "${FILESDIR}"/rsyncd.conf.d rsyncd
+ newinitd "${FILESDIR}"/rsyncd.init.d-r1 rsyncd
+
+ dodoc NEWS.md README.md TODO tech_report.tex
+
+ insinto /etc
+ newins "${FILESDIR}"/rsyncd.conf-3.0.9-r1 rsyncd.conf
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/rsyncd.logrotate rsyncd
+
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}"/rsyncd.xinetd-3.0.9-r1 rsyncd
+
+ # Install stunnel helpers
+ if use stunnel ; then
+ emake DESTDIR="${D}" install-ssl-daemon
+ fi
+
+ # Install the useful contrib scripts
+ if use examples ; then
+ exeinto /usr/share/rsync
+ doexe support/*
+ rm -f "${ED}"/usr/share/rsync/{Makefile*,*.c}
+ fi
+
+ eprefixify "${ED}"/etc/{,xinetd.d}/rsyncd*
+
+ systemd_newunit "packaging/systemd/rsync.service" "rsyncd.service"
+}
+
+pkg_postinst() {
+ if egrep -qis '^[[:space:]]use chroot[[:space:]]*=[[:space:]]*(no|0|false)' \
+ "${EROOT}"/etc/rsyncd.conf "${EROOT}"/etc/rsync/rsyncd.conf ; then
+ ewarn "You have disabled chroot support in your rsyncd.conf. This"
+ ewarn "is a security risk which you should fix. Please check your"
+ ewarn "/etc/rsyncd.conf file and fix the setting 'use chroot'."
+ fi
+ if use stunnel ; then
+ einfo "Please install \">=net-misc/stunnel-4\" in order to use stunnel feature."
+ einfo
+ einfo "You maybe have to update the certificates configured in"
+ einfo "${EROOT}/etc/stunnel/rsync.conf"
+ fi
+ if use system-zlib ; then
+ ewarn "Using system-zlib is incompatible with <rsync-3.1.1 when"
+ ewarn "using the --compress option."
+ ewarn
+ ewarn "When syncing with >=rsync-3.1.1 built with bundled zlib,"
+ ewarn "and the --compress option, add --new-compress (-zz)."
+ ewarn
+ ewarn "For syncing the portage tree, add:"
+ ewarn "PORTAGE_RSYNC_EXTRA_OPTS=\"--new-compress\" to make.conf"
+ fi
+}