############################################################################### # IPFire.org - An Open Source Firewall Solution # # Copyright (C) - IPFire Development Team # ############################################################################### name = rsync version = 3.2.1 release = 1 groups = Applications/Internet url = http://rsync.samba.org/ license = GPLv3+ summary = A program for synchronizing files over a network. description Rsync uses a reliable algorithm to bring remote and host files into sync very quickly. Rsync is fast because it just sends the differences in the files over the network instead of sending the complete files. Rsync is often used as a very powerful mirroring process or just as a more capable replacement for the rcp command. A technical report which describes the rsync algorithm is included in this package. end source_dl = http://rsync.samba.org/ftp/rsync/ sources += %{name}-patches-%{version}.tar.gz build requires autoconf libacl-devel libattr-devel lz4-devel openssl-devel popt-devel zlib-devel zstd-devel # Testsuite. %{bindir}/setfacl end configure_options += \ --without-included-popt \ --without-included-zlib \ --enable-openssl \ --enable-zstd \ --disable-xxhash prepare_cmds # Fix permission issure. cd %{DIR_APP} && chmod -x support/* # Apply upstream patches. patch -Np1 -i patches/acls.diff patch -Np1 -i patches/xattrs.diff patch -Np1 -i patches/copy-devices.diff # Remove cache. rm -fr autum4te.cache # Regenerate build environment. autoconf autoheader end make_build_targets = proto all test # Fix permissions of testsuite helper script. # # Otherwise some tests of the testsuite will fail, # because the script is not allowed to be executed. chmod +x ./support/lsh.sh make check end make_install_targets += \ INSTALLCMD="install -p" \ INSTALLMAN="install -p" install_cmds # Install config file. mkdir -pv %{BUILDROOT}%{sysconfdir} install -m 0644 %{DIR_SOURCE}/rsyncd.conf \ %{BUILDROOT}%{sysconfdir}/ # Create directory for pidfile. mkdir -pv %{BUILDROOT}/run/rsyncd # Replace shebanh in rsync-ssl sed -i -e "s@^#!.*@#!/bin/bash@" \ %{BUILDROOT}%{bindir}/rsync-ssl end end packages package %{name} configfiles %{sysconfdir}/rsyncd.conf end requires # For rsync-ssl %{bindir}/openssl end script postin systemctl daemon-reload >/dev/null 2>&1 || : end script preun systemctl --no-reload disable rsyncd.service >/dev/null 2>&1 || : systemctl --no-reload disable rsyncd.socket >/dev/null 2>&1 || : systemctl stop rsyncd.service >/dev/null 2>&1 || : systemctl stop rsyncd.socket >/dev/null 2>&1 || : systemctl stop rsyncd@.service >/dev/null 2>&1 || : end script postun systemctl daemon-reload >/dev/null 2>&1 || : end script postup systemctl daemon-reload >/dev/null 2>&1 || : systemctl try-restart rsyncd.service >/dev/null 2>&1 || : end end package %{name}-debuginfo template DEBUGINFO end end