ipfire-3.x/rsync/rsync.nm

124 lines
2.8 KiB
Plaintext

###############################################################################
# IPFire.org - An Open Source Firewall Solution #
# Copyright (C) - IPFire Development Team <info@ipfire.org> #
###############################################################################
name = rsync
version = 3.1.2
release = 2
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
popt-devel
zlib-devel
# Testsuite.
%{bindir}/setfacl
end
configure_options += \
--without-included-popt \
--without-included-zlib
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
end
end
packages
package %{name}
configfiles
%{sysconfdir}/rsyncd.conf
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