Gentoo Archives: gentoo-commits

From: Sam James <sam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-misc/rsync/
Date: Tue, 02 Aug 2022 02:57:07
Message-Id: 1659408994.85155265903a3db773bb84edabf4a427836eb34a.sam@gentoo
1 commit: 85155265903a3db773bb84edabf4a427836eb34a
2 Author: Sam James <sam <AT> gentoo <DOT> org>
3 AuthorDate: Tue Aug 2 02:56:24 2022 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Tue Aug 2 02:56:34 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=85155265
7
8 net-misc/rsync: add 3.2.5_pre1 (unkeyworded)
9
10 Note that upstream are particularly interested in feedback
11 on the new security hardening and whether it breaks
12 any options, so please report any issues upstream
13 if you hit them.
14
15 Bug: https://bugs.gentoo.org/862876
16 Signed-off-by: Sam James <sam <AT> gentoo.org>
17
18 net-misc/rsync/Manifest | 2 +
19 net-misc/rsync/rsync-3.2.5_pre1.ebuild | 164 +++++++++++++++++++++++++++++++++
20 2 files changed, 166 insertions(+)
21
22 diff --git a/net-misc/rsync/Manifest b/net-misc/rsync/Manifest
23 index dd8526885384..36341f1776a5 100644
24 --- a/net-misc/rsync/Manifest
25 +++ b/net-misc/rsync/Manifest
26 @@ -1,2 +1,4 @@
27 DIST rsync-3.2.4.tar.gz 1114853 BLAKE2B a67fcb9619874f1c5346a876138e59f4bf508a90736f830fb2b4eaf180ab11f15a0a7db9b3b28c3b990b77c2b0973d8e668bf509e4134f464159ed3172f53d80 SHA512 96318e2754fbddf84d16df671c721e577766969dfa415925c4dc1be2e4e60a51246623747a8aec0c6e9c0824e6aa7335235ccd07f3d6fd901f8cf28e2d6e91b6
28 DIST rsync-3.2.4.tar.gz.asc 195 BLAKE2B 9bc2fbd59e5396a91de82f27a461367ad2a129820e2d1926c3b1e26dacf93c676a7231f186c341b6dec9c764a9619b504bc9b5f95925982e78de4607eddf6c65 SHA512 7e1bbebc777d5710345fdec1efd4c2ef1079d6c0ec90272a1a4a51a59ae3cb619b9d1c0ae2f337ecdd06827bb3536b969b6f21f9108f8d21114713aa1750012b
29 +DIST rsync-3.2.5pre1.tar.gz 1126641 BLAKE2B 14ffa62305d3e842a89992d9d47e79a8efec5744b297a16dbe6d3440c26b10ac200927ca0f4b6fd1d83e705b56fb6ee9cdedc048dd7e8d6ccf92932e462e9159 SHA512 fe3126ba617b1e4dfb0de845dc1438be8aff07d51d70c0b232e6f0d1efba808d0fb42a30ed39fdb3303c489ef85e0761e188d4ed5fa9d6145cb749c7d11b3fb5
30 +DIST rsync-3.2.5pre1.tar.gz.asc 195 BLAKE2B 714eed7026f17131a8cbc13fa3f79e0fba52087b23ef84dbe45a5d84a23610d365ac9cd1e7494287a863b7c1bf8ee296fb80b4d4d592ec79d22376666cc005e4 SHA512 9ddfa092155f6c07e9617000ba55c36a2521cc9a9f30f376e89dde2de7bc25270fa348c0622a2a27c68f69bbdae20c75d99d8a75ce446ff490acb236bf5f9b58
31
32 diff --git a/net-misc/rsync/rsync-3.2.5_pre1.ebuild b/net-misc/rsync/rsync-3.2.5_pre1.ebuild
33 new file mode 100644
34 index 000000000000..f5a0cad3ef74
35 --- /dev/null
36 +++ b/net-misc/rsync/rsync-3.2.5_pre1.ebuild
37 @@ -0,0 +1,164 @@
38 +# Copyright 1999-2022 Gentoo Authors
39 +# Distributed under the terms of the GNU General Public License v2
40 +
41 +EAPI=8
42 +
43 +PYTHON_COMPAT=( python3_{8..10} )
44 +inherit flag-o-matic prefix python-single-r1 systemd
45 +
46 +DESCRIPTION="File transfer program to keep remote files into sync"
47 +HOMEPAGE="https://rsync.samba.org/"
48 +if [[ ${PV} == *9999 ]] ; then
49 + EGIT_REPO_URI="https://github.com/WayneD/rsync.git"
50 + inherit autotools git-r3
51 +
52 + REQUIRED_USE="${PYTHON_REQUIRED_USE}"
53 +else
54 + VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/waynedavison.asc
55 + inherit verify-sig
56 +
57 + if [[ ${PV} == *_pre* ]] ; then
58 + SRC_DIR="src-previews"
59 + else
60 + SRC_DIR="src"
61 + 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"
62 + fi
63 +
64 + SRC_URI="https://rsync.samba.org/ftp/rsync/${SRC_DIR}/${P/_/}.tar.gz
65 + verify-sig? ( https://rsync.samba.org/ftp/rsync/${SRC_DIR}/${P/_/}.tar.gz.asc )"
66 + S="${WORKDIR}"/${P/_/}
67 +fi
68 +
69 +LICENSE="GPL-3"
70 +SLOT="0"
71 +IUSE="acl examples iconv ipv6 lz4 ssl stunnel system-zlib xattr xxhash zstd"
72 +REQUIRED_USE+=" examples? ( ${PYTHON_REQUIRED_USE} )"
73 +
74 +RDEPEND="acl? ( virtual/acl )
75 + examples? (
76 + ${PYTHON_DEPS}
77 + dev-lang/perl
78 + )
79 + lz4? ( app-arch/lz4 )
80 + ssl? ( dev-libs/openssl:0= )
81 + system-zlib? ( sys-libs/zlib )
82 + xattr? ( kernel_linux? ( sys-apps/attr ) )
83 + xxhash? ( dev-libs/xxhash )
84 + zstd? ( >=app-arch/zstd-1.4 )
85 + >=dev-libs/popt-1.5
86 + iconv? ( virtual/libiconv )"
87 +DEPEND="${RDEPEND}"
88 +BDEPEND="examples? ( ${PYTHON_DEPS} )"
89 +
90 +if [[ ${PV} == *9999 ]] ; then
91 + BDEPEND+=" ${PYTHON_DEPS}
92 + $(python_gen_cond_dep '
93 + dev-python/commonmark[${PYTHON_USEDEP}]
94 + ')"
95 +else
96 + BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-waynedavison )"
97 +fi
98 +
99 +pkg_setup() {
100 + # - USE=examples needs Python itself at runtime, but nothing else
101 + # - 9999 needs commonmark at build time
102 + if [[ ${PV} == *9999 ]] || use examples ; then
103 + python-single-r1_pkg_setup
104 + fi
105 +}
106 +
107 +src_prepare() {
108 + default
109 +
110 + if [[ ${PV} == *9999 ]] ; then
111 + eaclocal -I m4
112 + eautoconf -o configure.sh
113 + eautoheader && touch config.h.in
114 + fi
115 +}
116 +
117 +src_configure() {
118 + # Force enable IPv6 on musl - upstream bug:
119 + # https://bugzilla.samba.org/show_bug.cgi?id=10715
120 + use elibc_musl && use ipv6 && append-cppflags -DINET6
121 +
122 + local myeconfargs=(
123 + --with-rsyncd-conf="${EPREFIX}"/etc/rsyncd.conf
124 + --without-included-popt
125 + $(use_enable acl acl-support)
126 + $(use_enable iconv)
127 + $(use_enable ipv6)
128 + $(use_enable lz4)
129 + $(use_enable ssl openssl)
130 + $(use_with !system-zlib included-zlib)
131 + $(use_enable xattr xattr-support)
132 + $(use_enable xxhash)
133 + $(use_enable zstd)
134 + )
135 +
136 + econf "${myeconfargs[@]}"
137 +}
138 +
139 +src_install() {
140 + emake DESTDIR="${D}" install
141 +
142 + newconfd "${FILESDIR}"/rsyncd.conf.d rsyncd
143 + newinitd "${FILESDIR}"/rsyncd.init.d-r1 rsyncd
144 +
145 + dodoc NEWS.md README.md TODO tech_report.tex
146 +
147 + insinto /etc
148 + newins "${FILESDIR}"/rsyncd.conf-3.0.9-r1 rsyncd.conf
149 +
150 + insinto /etc/logrotate.d
151 + newins "${FILESDIR}"/rsyncd.logrotate rsyncd
152 +
153 + insinto /etc/xinetd.d
154 + newins "${FILESDIR}"/rsyncd.xinetd-3.0.9-r1 rsyncd
155 +
156 + # Install stunnel helpers
157 + if use stunnel ; then
158 + emake DESTDIR="${D}" install-ssl-daemon
159 + fi
160 +
161 + # Install the useful contrib scripts
162 + if use examples ; then
163 + python_fix_shebang support/
164 +
165 + exeinto /usr/share/rsync
166 + doexe support/*
167 +
168 + rm -f "${ED}"/usr/share/rsync/{Makefile*,*.c}
169 + fi
170 +
171 + eprefixify "${ED}"/etc/{,xinetd.d}/rsyncd*
172 +
173 + systemd_newunit packaging/systemd/rsync.service rsyncd.service
174 +}
175 +
176 +pkg_postinst() {
177 + if grep -Eqis '^[[:space:]]use chroot[[:space:]]*=[[:space:]]*(no|0|false)' \
178 + "${EROOT}"/etc/rsyncd.conf "${EROOT}"/etc/rsync/rsyncd.conf ; then
179 + ewarn "You have disabled chroot support in your rsyncd.conf. This"
180 + ewarn "is a security risk which you should fix. Please check your"
181 + ewarn "/etc/rsyncd.conf file and fix the setting 'use chroot'."
182 + fi
183 +
184 + if use stunnel ; then
185 + einfo "Please install \">=net-misc/stunnel-4\" in order to use stunnel feature."
186 + einfo
187 + einfo "You maybe have to update the certificates configured in"
188 + einfo "${EROOT}/etc/stunnel/rsync.conf"
189 + fi
190 +
191 + if use system-zlib ; then
192 + ewarn "Using system-zlib is incompatible with <rsync-3.1.1 when"
193 + ewarn "using the --compress option."
194 + ewarn
195 + ewarn "When syncing with >=rsync-3.1.1 built with bundled zlib,"
196 + ewarn "and the --compress option, add --new-compress (-zz)."
197 + ewarn
198 + ewarn "For syncing the portage tree, add:"
199 + ewarn "PORTAGE_RSYNC_EXTRA_OPTS=\"--new-compress\" to make.conf"
200 + fi
201 +}