commit:     85155265903a3db773bb84edabf4a427836eb34a
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Aug  2 02:56:24 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Aug  2 02:56:34 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=85155265

net-misc/rsync: add 3.2.5_pre1 (unkeyworded)

Note that upstream are particularly interested in feedback
on the new security hardening and whether it breaks
any options, so please report any issues upstream
if you hit them.

Bug: https://bugs.gentoo.org/862876
Signed-off-by: Sam James <sam <AT> gentoo.org>

 net-misc/rsync/Manifest                |   2 +
 net-misc/rsync/rsync-3.2.5_pre1.ebuild | 164 +++++++++++++++++++++++++++++++++
 2 files changed, 166 insertions(+)

diff --git a/net-misc/rsync/Manifest b/net-misc/rsync/Manifest
index dd8526885384..36341f1776a5 100644
--- a/net-misc/rsync/Manifest
+++ b/net-misc/rsync/Manifest
@@ -1,2 +1,4 @@
 DIST rsync-3.2.4.tar.gz 1114853 BLAKE2B 
a67fcb9619874f1c5346a876138e59f4bf508a90736f830fb2b4eaf180ab11f15a0a7db9b3b28c3b990b77c2b0973d8e668bf509e4134f464159ed3172f53d80
 SHA512 
96318e2754fbddf84d16df671c721e577766969dfa415925c4dc1be2e4e60a51246623747a8aec0c6e9c0824e6aa7335235ccd07f3d6fd901f8cf28e2d6e91b6
 DIST rsync-3.2.4.tar.gz.asc 195 BLAKE2B 
9bc2fbd59e5396a91de82f27a461367ad2a129820e2d1926c3b1e26dacf93c676a7231f186c341b6dec9c764a9619b504bc9b5f95925982e78de4607eddf6c65
 SHA512 
7e1bbebc777d5710345fdec1efd4c2ef1079d6c0ec90272a1a4a51a59ae3cb619b9d1c0ae2f337ecdd06827bb3536b969b6f21f9108f8d21114713aa1750012b
+DIST rsync-3.2.5pre1.tar.gz 1126641 BLAKE2B 
14ffa62305d3e842a89992d9d47e79a8efec5744b297a16dbe6d3440c26b10ac200927ca0f4b6fd1d83e705b56fb6ee9cdedc048dd7e8d6ccf92932e462e9159
 SHA512 
fe3126ba617b1e4dfb0de845dc1438be8aff07d51d70c0b232e6f0d1efba808d0fb42a30ed39fdb3303c489ef85e0761e188d4ed5fa9d6145cb749c7d11b3fb5
+DIST rsync-3.2.5pre1.tar.gz.asc 195 BLAKE2B 
714eed7026f17131a8cbc13fa3f79e0fba52087b23ef84dbe45a5d84a23610d365ac9cd1e7494287a863b7c1bf8ee296fb80b4d4d592ec79d22376666cc005e4
 SHA512 
9ddfa092155f6c07e9617000ba55c36a2521cc9a9f30f376e89dde2de7bc25270fa348c0622a2a27c68f69bbdae20c75d99d8a75ce446ff490acb236bf5f9b58

diff --git a/net-misc/rsync/rsync-3.2.5_pre1.ebuild 
b/net-misc/rsync/rsync-3.2.5_pre1.ebuild
new file mode 100644
index 000000000000..f5a0cad3ef74
--- /dev/null
+++ b/net-misc/rsync/rsync-3.2.5_pre1.ebuild
@@ -0,0 +1,164 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..10} )
+inherit flag-o-matic prefix python-single-r1 systemd
+
+DESCRIPTION="File transfer program to keep remote files into sync"
+HOMEPAGE="https://rsync.samba.org/";
+if [[ ${PV} == *9999 ]] ; then
+       EGIT_REPO_URI="https://github.com/WayneD/rsync.git";
+       inherit autotools git-r3
+
+       REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+else
+       
VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/waynedavison.asc
+       inherit verify-sig
+
+       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
+               verify-sig? ( 
https://rsync.samba.org/ftp/rsync/${SRC_DIR}/${P/_/}.tar.gz.asc )"
+       S="${WORKDIR}"/${P/_/}
+fi
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="acl examples iconv ipv6 lz4 ssl stunnel system-zlib xattr xxhash zstd"
+REQUIRED_USE+=" examples? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="acl? ( virtual/acl )
+       examples? (
+               ${PYTHON_DEPS}
+               dev-lang/perl
+       )
+       lz4? ( app-arch/lz4 )
+       ssl? ( dev-libs/openssl: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}"
+BDEPEND="examples? ( ${PYTHON_DEPS} )"
+
+if [[ ${PV} == *9999 ]] ; then
+       BDEPEND+=" ${PYTHON_DEPS}
+               $(python_gen_cond_dep '
+                       dev-python/commonmark[${PYTHON_USEDEP}]
+               ')"
+else
+       BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-waynedavison )"
+fi
+
+pkg_setup() {
+       # - USE=examples needs Python itself at runtime, but nothing else
+       # - 9999 needs commonmark at build time
+       if [[ ${PV} == *9999 ]] || use examples ; then
+               python-single-r1_pkg_setup
+       fi
+}
+
+src_prepare() {
+       default
+
+       if [[ ${PV} == *9999 ]] ; then
+               eaclocal -I m4
+               eautoconf -o configure.sh
+               eautoheader && touch config.h.in
+       fi
+}
+
+src_configure() {
+       # Force enable IPv6 on musl - upstream bug:
+       # https://bugzilla.samba.org/show_bug.cgi?id=10715
+       use elibc_musl && use ipv6 && append-cppflags -DINET6
+
+       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)
+       )
+
+       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
+               python_fix_shebang support/
+
+               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 grep -Eqis '^[[: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
+}

Reply via email to