input/rsync.spec
raw · 5.5 KiB
%global _hardened_build 1
Name: rsync
Version: 3.4.3
Release: 1%{?dist}
Summary: File synchronization program
Summary(ru): Программа для синхронизации файлов и директорий
License: GPL-3.0-or-later
URL: https://rsync.samba.org/
Source0: https://github.com/RsyncProject/rsync/releases/download/v%{version}/rsync-%{version}.tar.gz
Source2: rsyncd.socket
Source3: rsyncd.service
Source4: rsyncd.conf
Source5: rsyncd.sysconfig
Source6: rsyncd@.service
Packager: NICE SOFT GROUP LLC (ООО "НАЙС СОФТ ГРУПП") 5024245440 <niceos@ncsgp.ru>
Vendor: NiceSOFT
Distribution: NiceOS.Core
BugURL: https://bugs.niceos.ru/
VCS: https://specs.niceos.ru/rpms/%{name}
BuildRequires: attr-devel
BuildRequires: autoconf
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: libacl-devel
BuildRequires: lz4-devel
BuildRequires: make
BuildRequires: openssl-devel
BuildRequires: popt-devel
BuildRequires: systemd
BuildRequires: zstd-devel
BuildRequires: xxhash-devel
BuildRequires: doxygen
BuildRequires: python3-cmarkgfm
%description
rsync is a fast and versatile file synchronization tool for copying and updating
files between local and remote systems. It minimizes network usage by transferring
only the changed parts of files. rsync can operate over SSH, rsh, or via the
rsync daemon.
Features include:
- Delta transfers (send only changes)
- Operation via ssh, rsh, or rsyncd
- Support for ACLs, xattrs, zstd, lz4, and OpenSSL
%description -l ru
rsync — утилита для синхронизации файлов и директорий между локальными и удалёнными
системами. Она позволяет эффективно копировать и обновлять данные, уменьшая объём
трафика за счёт передачи только изменённых частей файлов. rsync поддерживает работу
по SSH, rsh и через демон rsyncd.
Особенности:
- Передача только изменений
- Работа через ssh, rsh, rsyncd
- Поддержка ACL, xattr, zstd, lz4 и OpenSSL
%package daemon
Summary: Rsync daemon for file synchronization
Summary(ru): Демон rsync для синхронизации файлов
BuildArch: noarch
Requires: %{name} = %{version}-%{release}
%{?systemd_requires}
%description -n %{name}-daemon
This subpackage provides the rsync daemon service (rsyncd) for synchronizing
files and directories over the network.
%description -l ru -n %{name}-daemon
Этот подпакет содержит службу демона rsync (rsyncd) для синхронизации файлов и
директорий по сети.
%package rrsync
Summary: Restricted rsync wrapper (rrsync)
Summary(ru): Ограниченная оболочка rsync (rrsync)
BuildArch: noarch
Requires: %{name} = %{version}-%{release}
Requires: python3
%description -n %{name}-rrsync
The rrsync script provides a restricted wrapper for rsync, intended for use in
environments where users must be limited to a safe subset of rsync operations.
%description -l ru -n %{name}-rrsync
Скрипт rrsync предоставляет ограниченную оболочку для rsync и предназначен для
сценариев, когда пользователям нужно разрешить синхронизацию данных, но ограничить
набор допустимых операций rsync.
%prep
%autosetup -p1
%build
%configure \
--enable-openssl \
--enable-zstd \
--enable-lz4 \
--enable-ipv6 \
--with-rrsync \
--without-included-zlib
%{make_build}
%check
sed -i '/typedef/d' wildtest.c
sed -i '/#include <popt.h>/a #include <stdbool.h>' wildtest.c
make check
%install
%{make_install} INSTALLCMD='install -p' INSTALLMAN='install -p'
install -D -m 0644 %{SOURCE3} %{buildroot}%{_unitdir}/rsyncd.service
install -D -m 0644 %{SOURCE2} %{buildroot}%{_unitdir}/rsyncd.socket
install -D -m 0644 %{SOURCE4} %{buildroot}%{_sysconfdir}/rsyncd.conf
install -D -m 0644 %{SOURCE5} %{buildroot}%{_sysconfdir}/sysconfig/rsyncd
install -D -m 0644 %{SOURCE6} %{buildroot}%{_unitdir}/rsyncd@.service
%files
%license COPYING
%doc support/ tech_report.tex
%{_bindir}/rsync
%{_bindir}/rsync-ssl
%{_mandir}/man1/rsync.1*
%{_mandir}/man1/rsync-ssl.1*
%{_mandir}/man5/rsyncd.conf.5*
%config(noreplace) %{_sysconfdir}/rsyncd.conf
%files -n %{name}-daemon
%config(noreplace) %{_sysconfdir}/sysconfig/rsyncd
%{_unitdir}/rsyncd.service
%{_unitdir}/rsyncd.socket
%{_unitdir}/rsyncd@.service
%files -n %{name}-rrsync
%{_bindir}/rrsync
%{_mandir}/man1/rrsync.1*
%post -n %{name}-daemon
%systemd_post rsyncd.service
%preun -n %{name}-daemon
%systemd_preun rsyncd.service
%postun -n %{name}-daemon
%systemd_postun_with_restart rsyncd.service
%changelog
* Mon May 25 2026 NiceOS Team <support@niceos.ru> - 3.4.3-1
- EN: - Update rsync to 3.4.3: fix six upstream CVEs and a --copy-dirlinks regression.
- RU: - Обновление rsync до 3.4.3: исправлены шесть уязвимостей upstream и регрессия в --copy-dirlinks.
- CVE-2026-43617, CVE-2026-43618, CVE-2026-43619, CVE-2026-43620, CVE-2026-45232, CVE-2026-29518
* Sat Jan 10 2026 NiceOS Team <niceos@ncsgp.ru> - 3.4.1-1
- Initial build for NiceOS (Первая сборка для НАЙС.ОС)