File rsnapshot.spec of Package rsnapshot
# $Id: rsnapshot.spec,v 1.58 2008/06/28 02:10:25 djk20 Exp $
%define _default_patch_fuzz 3
Name: rsnapshot
Summary: Local and remote filesystem snapshot utility
Version: 1.4.2
Release: 10
BuildArch: noarch
License: GPL
URL: http://www.rsnapshot.org/
Group: Productivity/Archiving/Backup
Source: http://www.rsnapshot.org/downloads/rsnapshot-%{version}.tar.bz2
Patch0: rsnapshot.patch
Patch1: rsnapshot-include_dir.patch
Patch2: rsnapshot-configure_check-lvm-cmds_1.4.2.patch
#Patch3: rsnapshot-kpartx-lvm_1.4.2.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
Requires: perl rsync lvm2
BuildRequires: rsync openssh perl coreutils util-linux-systemd lvm2 autoconf automake
%if 0%{?suse_version} <= 1020 && 0%{?suse_version} > 0
Requires: multipath-tools
BuildRequires: multipath-tools
%else
Requires: kpartx
BuildRequires: kpartx
%endif
%if 0%{?centos_version} || 0%{?fedora_version} || 0%{?rhel_version} || 0%{?sl_version}
BuildRequires: openssh-clients
%endif
AutoReqProv: no
%description
This is a remote backup program that uses rsync to take backup snapshots of
filesystems. It uses hard links to save space on disk.
For more details see http://www.rsnapshot.org/.
%prep
%setup
%patch0
%patch1
%patch2
##patch3
%build
[ -f configure ] && rm configure
autoreconf -fi
%configure \
--with-perl="%{__perl}" \
--with-rsync="%{_bindir}/rsync" \
--with-ssh="%{_bindir}/ssh" \
%if 0%{?suse_version}
--with-logger=%{_bindir}/logger \
%endif
%if 0%{?fedora_version} || 0%{?rhel_version} || 0%{?centos_version} || 0%{?redhat_version} || 0%{?sl_version}
--with-logger=%{_bindir}/logger \
%endif
%if 0%{?centos_version} <= 5 && 0%{?centos_version} > 0
--with-lvcreate="%{_sbindir}/lvcreate" \
--with-lvremove="%{_sbindir}/lvremove" \
%else
%if 0%{?rhel_version} == 505
--with-lvcreate="%{_sbindir}/lvcreate" \
--with-lvremove="%{_sbindir}/lvremove" \
%else
--with-lvcreate=/sbin/lvcreate \
--with-lvremove=/sbin/lvremove \
%endif
%endif
--with-kpartx=/sbin/kpartx \
--with-mount=/bin/mount \
--with-umount=/bin/mount \
--with-du="%{_bindir}/du"
%install
install -d $RPM_BUILD_ROOT/%{_bindir}
install -m 755 rsnapshot $RPM_BUILD_ROOT/usr/bin/rsnapshot
install -m 755 rsnapshot-diff $RPM_BUILD_ROOT/usr/bin/rsnapshot-diff
install -m 755 utils/rsnapreport.pl $RPM_BUILD_ROOT/usr/bin/rsnapreport.pl
#install -d $RPM_BUILD_ROOT/%{_mandir}/man1
#install -m 644 rsnapshot*.1* $RPM_BUILD_ROOT/usr/share/man/man1/
install -d $RPM_BUILD_ROOT/%{_sysconfdir}
install -m 644 rsnapshot.conf.default $RPM_BUILD_ROOT/etc/rsnapshot.conf.default
install -m 600 rsnapshot.conf.default $RPM_BUILD_ROOT/etc/rsnapshot.conf
install -d $RPM_BUILD_ROOT/%{_sysconfdir}/rsnapshot.conf.d
install -d $RPM_BUILD_ROOT/opt/backups/lvm-snapshot
%post
#
# upgrade rsnapshot config file
#
RSNAPSHOT_CONFIG_VERSION=`%{_bindir}/rsnapshot check-config-version`
if test $? != 0; then
echo "Error upgrading %{_sysconfdir}/rsnapshot.conf"
fi
if test "$RSNAPSHOT_CONFIG_VERSION" = "1.2"; then
# already latest version
exit 0
fi
if test "$RSNAPSHOT_CONFIG_VERSION" = "unknown"; then
%{_bindir}/rsnapshot upgrade-config-file
RETVAL=$?
exit $RETVAL
fi
if [ -f /etc/rsnapshot.conf ] ; then
sed -i -r s@"^linux_lvm_cmd_kpartx"@"#linux_lvm_cmd_kpartx"@g /etc/rsnapshot.conf
fi
echo "Error upgrading %{_sysconfdir}/rsnapshot.conf. Config format unknown!"
exit 1
%clean
rm -rf $RPM_BUILD_ROOT
rm -rf $RPM_BUILD_DIR/%{name}-%{version}/
%files
%defattr(-,root,root)
%doc AUTHORS COPYING ChangeLog README.md
%doc docs/Upgrading_from_1.1 docs/HOWTOs/rsnapshot-HOWTO.en.html
# rsnapshot.conf.default is replaceable - user is not supposed to edit it
%config %{_sysconfdir}/rsnapshot.conf.default
%config(noreplace) %verify(user group mode) %{_sysconfdir}/rsnapshot.conf
%dir %{_sysconfdir}/rsnapshot.conf.d
%dir /opt/backups
%dir /opt/backups/lvm-snapshot
%{_bindir}/rsnapshot
%{_bindir}/rsnapshot-diff
%{_bindir}/rsnapreport.pl
## {_mandir}/man1/rsnapshot*.1*
%changelog
* Mon Apr 28 2008 David Keegel <djk@cybersource.com.au> - 1.3.1-1
- Add "BuildRequires: rsync" as sugggested by Erik Logtenberg 28 Feb 2008.
* Sat Oct 28 2006 David Keegel <djk@cybersource.com.au> - 1.3.0-2
- Include rsnapshot-diff.1, by using rsnapshot*.1* for man page files.
* Tue Oct 10 2006 David Keegel <djk@cybersource.com.au> - 1.3.0-1
- Add docs: Upgrading_from_1.1 rsnapshot-HOWTO.en.html
- Add rsnapreport.pl to files and install.
* Sun Sep 24 2006 David Keegel <djk@cybersource.com.au> - 1.3.0-1
- Update version number to 1.3.0
* Thu Jun 22 2006 David Keegel <djk@cybersource.com.au> - 1.3.0-0
- Change BuildRoot to format recommended in Fedora Packaging Guidelines
- Reformat description to fit in 80 columns, and add URL.
- Add URL (www.rsnapshot.org)
- Remove %verify on %files (except rsnapshot.conf).
- Change rsnapshot.conf to %config(noreplace).
- Add version numbers to my ChangeLog entries.
* Thu May 18 2006 David Keegel <djk@cybersource.com.au> - 1.2.9-1
- Update version number to 1.2.9
* Sun Feb 5 2006 David Keegel <djk@cybersource.com.au> - 1.2.4-1
- Added rsnapshot-diff to %files
- Update version number to 1.2.4
* Sat Apr 2 2005 Nathan Rosenquist <nathan@rsnapshot.org>
- Added rsnapshot-diff to install
* Sun Jan 29 2005 Nathan Rosenquist <nathan@rsnapshot.org>
- Added upgrade script
* Sat Jan 22 2005 Nathan Rosenquist <nathan@rsnapshot.org>
- Added --with-du option
* Thu Jan 15 2004 Nathan Rosenquist <nathan@rsnapshot.org>
- Added "AutoReqProv: no" for SuSE compatibility
* Fri Dec 26 2003 Nathan Rosenquist <nathan@rsnapshot.org>
- Added util-linux dependency, and --with-logger= option
* Fri Dec 19 2003 Nathan Rosenquist <nathan@rsnapshot.org>
- now fully support autoconf
* Tue Dec 16 2003 Nathan Rosenquist <nathan@rsnapshot.org>
- changed rsnapshot.conf to rsnapshot.conf.default from the source tree
* Wed Nov 05 2003 Nathan Rosenquist <nathan@rsnapshot.org>
- Removed fileutils dependency, added verification info
* Tue Nov 04 2003 Nathan Rosenquist <nathan@rsnapshot.org>
- fixed anonymous rsync error
* Thu Oct 30 2003 Nathan Rosenquist <nathan@rsnapshot.org>
- update to 1.0.3
* Tue Oct 28 2003 Carl Wilhelm Soderstrom <chrome@real-time.com>
- created spec file