+#
+# Conditional build:
+%bcond_without xfs # without (possible) support for xfsdump
+%bcond_without samba # without smbclient support
+%bcond_without client # without client package
+%bcond_without server # without server package
+#
Summary: A network-capable tape backup solution
-Summary(pl): Sieciowo zorientowany system tworzenia kopii zapasowych
+Summary(pl.UTF-8): Sieciowo zorientowany system tworzenia kopii zapasowych
Name: amanda
-Version: 2.4.2p2
-Release: 4
+Version: 2.5.1p2
+Release: 0.9
License: BSD
Group: Networking/Utilities
-Group(de): Netzwerkwesen/Werkzeuge
-Group(pl): Sieciowe/Narzêdzia
-Source0: ftp://ftp.amanda.org/pub/amanda/%{name}-%{version}.tar.gz
+Source0: http://dl.sourceforge.net/amanda/%{name}-%{version}.tar.gz
+# Source0-md5: 6811f8a296650a6c0f64766b6e6abbe1
Source1: %{name}-srv.crontab
Source2: %{name}.inetd
Source3: %{name}idx.inetd
Source4: amidxtape.inetd
Source5: %{name}.conf
Patch0: %{name}-no_libnsl.patch
-Patch1: %{name}-am_fixes.patch
-Patch2: %{name}-bug18322.patch
-Patch3: %{name}-build_tapetype.patch
-Patch4: %{name}-no_private_libtool.m4.patch
-BuildRequires: autoconf
+Patch1: %{name}-ac25x.patch
+Patch2: %{name}-chg-zd-mtx-sh.patch
+Patch3: %{name}-tar.patch
+URL: http://www.amanda.org/
+BuildRequires: autoconf >= 2.53
BuildRequires: automake
-BuildRequires: cpio
BuildRequires: dump
BuildRequires: flex
-BuildRequires: gnuplot
+BuildRequires: libxslt-progs
BuildRequires: libtool
BuildRequires: readline-devel >= 4.2
-BuildRequires: tar
-Prereq: /sbin/ldconfig
-URL: http://www.amanda.org/
+BuildRequires: rpmbuild(macros) >= 1.268
+%{?with_samba:BuildRequires: samba-client}
+%{?with_xfs:BuildRequires: xfsdump}
+Conflicts: shadow < 1:4.0.4.1-4
+Conflicts: pwdutils < 3.1.2-2
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%define _sysconfdir /etc
-%define _localstatedir /var
+%define _localstatedir /var/lib
%define _libexecdir %{_libdir}/amanda
-%description
+%description
AMANDA, the Advanced Maryland Automatic Network Disk Archiver, is a
backup system that allows the administrator of a LAN to set up a
single master backup server to back up multiple hosts to a single
will have to install the amanda-client and amanda-server packages as
well.
-%description -l pl
+%description -l pl.UTF-8
AMANDA jest sieciowo zorientowanym systemem tworzenia kopii
-zapasowych. Umo¿liwia administratorowi sieci tworzenie kopii z kilku
-hostów na jednej maszynie wyposa¿onej w pojemny dysk lub streamer.
-Nowsze wersje programu umo¿liwiaj± zabezpieczanie zasobów Microsoft
-Windows 95/98/NT/2000 przy u¿yciu protoko³u Samba. Ten pakiet zawiera
-podstawowe pliki programu i powinien byæ zainstalowany zarówno na
-serwerze jak i na kliencie. Pamiêtaj tak¿e o instalacji pakietów
+zapasowych. Umożliwia administratorowi sieci tworzenie kopii z kilku
+hostów na jednej maszynie wyposażonej w pojemny dysk lub streamer.
+Nowsze wersje programu umożliwiają zabezpieczanie zasobów Microsoft
+Windows 95/98/NT/2000 przy użyciu protokołu Samba. Ten pakiet zawiera
+podstawowe pliki programu i powinien być zainstalowany zarówno na
+serwerze jak i na kliencie. Pamiętaj także o instalacji pakietów
amanda-client i amanda-server!
%package libs
Summary: Amanda shared libraries
-Summary(pl): Biblioteki wspó³dzielone pakietu amanda
+Summary(pl.UTF-8): Biblioteki współdzielone pakietu amanda
Group: Networking/Utilities
-Group(de): Netzwerkwesen/Werkzeuge
-Group(pl): Sieciowe/Narzêdzia
+Requires(postun): /sbin/ldconfig
+Requires(postun): /usr/sbin/groupdel
+Requires(postun): /usr/sbin/userdel
+Requires(pre): /bin/id
+Requires(pre): /usr/bin/chsh
+Requires(pre): /usr/bin/getgid
+Requires(pre): /usr/sbin/groupadd
+Requires(pre): /usr/sbin/useradd
+Provides: group(amanda)
+Provides: user(amanda)
%description libs
Amanda shared libraries.
-%description -l pl libs
-Biblioteki wspó³dzielone pakietu amanda.
+%description libs -l pl.UTF-8
+Biblioteki współdzielone pakietu amanda.
%package client
Summary: The client side of Amanda
-Summary(pl): Klient Amandy
+Summary(pl.UTF-8): Klient Amandy
Group: Networking/Utilities
-Group(de): Netzwerkwesen/Werkzeuge
-Group(pl): Sieciowe/Narzêdzia
-Prereq: /sbin/ldconfig
-Prereq: %{name}-libs = %{version}
+Requires(post,postun): /sbin/ldconfig
+Requires: %{name}-libs = %{version}-%{release}
+Requires: rc-inetd
+Conflicts: tar < 1.13
%description client
The Amanda-client package should be installed on any machine that will
be backed up by AMANDA (including the server if it also needs to be
backed up). You will also need to install the amanda package to each
-AMANDA client.
+AMANDA client. It requires at least one of dump and GNU tar installed.
-%description -l pl client
-Ten pakiet powinien byæ zainstalowany ma maszynach, z których
-zawarto¶ci bêd± tworzone kopie zapasowe.
+%description client -l pl.UTF-8
+Ten pakiet powinien być zainstalowany ma maszynach, z których
+zawartości będą tworzone kopie zapasowe. Wymaga zainstalowanego co
+najmniej jednego z pakietów dump i GNU tar.
%package server
Summary: The server side of Amanda
-Summary(pl): Serwer Amandy
+Summary(pl.UTF-8): Serwer Amandy
Group: Networking/Utilities
-Group(de): Netzwerkwesen/Werkzeuge
-Group(pl): Sieciowe/Narzêdzia
-Prereq: rc-inetd
-Prereq: /sbin/ldconfig
-Requires: gnuplot
-Requires: tar
-Requires: cpio
-Requires: dump
-Requires: crondaemon
+Requires(post,postun): /sbin/ldconfig
+Requires: %{name}-libs = %{version}-%{release}
Requires: /etc/cron.d
-Prereq: %{name}-libs = %{version}
+Requires: crondaemon
+Requires: gnuplot
+Requires: mt-st
+Requires: mtx
+Requires: rc-inetd
+Obsoletes: amanda
%description server
The amanda-server package should be installed on the AMANDA server,
package to the AMANDA server. And, if the server is also to be backed
up, the server also needs to have the amanda-client package installed.
-%description -l pl server
-Ten pakiet powinien byæ zainstalowanych na maszynach, na których bêd±
-magazynowane kopie zapasowe (lub do których podpiête s± urz±dzenia
+%description server -l pl.UTF-8
+Ten pakiet powinien być zainstalowany na maszynach, na których będą
+magazynowane kopie zapasowe (lub do których podpięte są urządzenia
typu streamer).
%prep
%patch1 -p1
%patch2 -p1
%patch3 -p1
-%patch4 -p1
+
+# kill libtool.m4 copy
+head -n 1147 acinclude.m4 > acinc.tmp
+mv -f acinc.tmp acinclude.m4
%build
-libtoolize --copy --force
-aclocal
-autoconf
-touch COPYING
-rm -f missing
-automake -a -c
+%{__libtoolize}
+%{__aclocal}
+%{__autoconf}
+%{__automake}
%configure \
+ GNUPLOT=/usr/bin/gnuplot \
+ MAILER=/bin/mail \
+ PRINT=/usr/bin/lpr \
+ DUMP=/sbin/dump \
+ RESTORE=/sbin/restore \
+ %{?with_xfs:XFSDUMP=/sbin/xfsdump} \
+ %{?with_xfs:XFSRESTORE=/sbin/xfsrestore} \
--disable-static \
--enable-shared \
+ %{!?with_server:--without-server} \
+ %{!?with_client:--without-client} \
--with-index-server=localhost \
--with-user=amanda \
--with-group=amanda \
--with-ftape-rawdevice=/dev/null \
--with-changer-device=/dev/null \
--with-fqdn \
- --with-smbclient=%{_bindir}/smbclient \
+ %{?with_samba:--with-smbclient=%{_bindir}/smbclient} \
--with-bsd-security \
+ --with-ssh-security \
--with-buffered-dump \
--with-amandahosts \
- --with-debugging=%{_localstatedir}/lib/amanda/debug
+ --with-debugging=%{_localstatedir}/amanda/debug \
+ --with-gnutar-listdir=%{_localstatedir}/amanda/gnutar-lists \
+ --with-tmpdir=/var/tmp
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT%{_sysconfdir}/{amanda,cron.d,sysconfig/rc-inetd} \
- $RPM_BUILD_ROOT%{_localstatedir}/lib/amanda
+ $RPM_BUILD_ROOT%{_localstatedir}/amanda/gnutar-lists \
+ $RPM_BUILD_ROOT%{_mandir}/man1
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT \
SETUID_GROUP=`id -g`
install %{SOURCE1} $RPM_BUILD_ROOT/etc/cron.d/amanda-srv
-install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/amanda
-install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/amandaidx
-install %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/amidxtape
+sed -e 's|/usr/lib|%{_libdir}|' %{SOURCE2} >$RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/amanda
+sed -e 's|/usr/lib|%{_libdir}|' %{SOURCE3} >$RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/amandaidx
+sed -e 's|/usr/lib|%{_libdir}|' %{SOURCE4} >$RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/amidxtape
install %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/amanda
-install example/*.ps $RPM_BUILD_ROOT%{_localstatedir}/lib/amanda
+install example/*.ps $RPM_BUILD_ROOT%{_localstatedir}/amanda
+touch $RPM_BUILD_ROOT%{_localstatedir}/amanda/.amandahosts
-gzip -9nf docs/*
+> $RPM_BUILD_ROOT%{_sysconfdir}/amandates
%clean
rm -rf $RPM_BUILD_ROOT
-%triggerpostun -- amanda-libs < 2.4.2p2-3
-/usr/sbin/chsh -s /bin/sh amanda
+%triggerpostun libs -- %{name}-libs < 2.5.1p2-1
+echo "Adding amanda to disk and backup groups"
+/usr/sbin/usermod -G disk,backup amanda
+echo "Setting amanda shell to /bin/sh"
+/usr/bin/chsh -s /bin/sh amanda
+if [ -f %{_localstatedir}/amanda/.amandahosts ]; then
+ echo "Fixing permissions of %{_localstatedir}/amanda/.amandahosts file"
+ chown amanda:amanda %{_localstatedir}/amanda/.amandahosts
+ chmod 600 %{_localstatedir}/amanda/.amandahosts
+fi
%pre libs
-/usr/sbin/groupadd -g 80 -r -f amanda
-/usr/sbin/useradd -u 80 -r -d /var/lib/amanda -s /bin/sh -c "Amanda Backup user" -g amanda amanda
+%groupadd -P %{name}-libs -g 80 amanda
+%useradd -P %{name}-libs -u 80 -G disk,backup -d /var/lib/amanda -s /bin/sh -c "Amanda Backup user" -g amanda amanda
-%post libs -p /sbin/ldconfig
+%post libs -p /sbin/ldconfig
-%preun libs
+%postun libs
/sbin/ldconfig
if [ "$1" = "0" ]; then
- /usr/sbin/groupdel amanda
- /usr/sbin/userdel amanda
+ %userremove amanda
+ %groupremove amanda
fi
%post client
/sbin/ldconfig
-if [ -f /var/lock/subsys/rc-inetd ]; then
- /etc/rc.d/init.d/rc-inetd restart 1>&2
-else
- echo "Type \"/etc/rc.d/init.d/rc-inetd start\" to start inet server" 1>&2
-fi
+%service -q rc-inetd reload
%postun client
/sbin/ldconfig
-if [ -f /var/lock/subsys/rc-inetd ]; then
- /etc/rc.d/init.d/rc-inetd restart
+if [ "$1" = 0 ]; then
+ %service -q rc-inetd reload
fi
%post server
/sbin/ldconfig
-if [ -f /var/lock/subsys/rc-inetd ]; then
- /etc/rc.d/init.d/rc-inetd restart 1>&2
-else
- echo "Type \"/etc/rc.d/init.d/rc-inetd start\" to start inet server" 1>&2
+%service -q rc-inetd reload
+if [ "$1" = "1" ]; then
+ echo "Don't forget to edit /etc/cron.d/amanda-srv." 1>&2
fi
%postun server
/sbin/ldconfig
-if [ -f /var/lock/subsys/rc-inetd ]; then
- /etc/rc.d/init.d/rc-inetd restart
+if [ "$1" = 0 ]; then
+ %service -q rc-inetd reload
fi
%files libs
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libamanda*.so
-%attr(755,root,root) %{_libdir}/libamtape*.so
-%attr(770,root,amanda) %dir %{_libexecdir}
+%dir %{_libexecdir}
+%attr(770,root,amanda) %dir %{_localstatedir}/amanda
+%attr(600,amanda,amanda) %config(noreplace) %verify(not md5 mtime size) %{_localstatedir}/amanda/.amandahosts
+%if %{with server}
%files server
%defattr(644,root,root,755)
-%doc docs/*.gz
-%config(noreplace) /etc/sysconfig/rc-inetd/amidxtape
-%config(noreplace) /etc/sysconfig/rc-inetd/amandaidx
+%doc docs/*
+%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/amidxtape
+%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/amandaidx
%attr(750,root,amanda) %dir %{_sysconfdir}/amanda
-%attr(640,root,amanda) %{_sysconfdir}/amanda/*
+%config(noreplace) %verify(not md5 mtime size) %attr(640,root,amanda) %{_sysconfdir}/amanda/*
-%attr(660,amanda,amanda) %dir %{_localstatedir}/lib/amanda
-%attr(664,amanda,amanda) %{_localstatedir}/lib/amanda/*
+%attr(664,root,amanda) %{_localstatedir}/amanda/*.ps
-%attr(640,root,root) /etc/cron.d/amanda-srv
+%config(noreplace) %attr(640,root,root) /etc/cron.d/amanda-srv
%attr(755,root,root) %{_libdir}/libamserver*.so
-%attr(755,root,root) %{_libexecdir}/amindexd
-%attr(755,root,root) %{_libexecdir}/amtrmidx
-%attr(755,root,root) %{_libexecdir}/driver
-%attr(4754,root,amanda) %{_libexecdir}/dumper
-%attr(4754,root,amanda) %{_libexecdir}/planner
+%attr(755,root,root) %{_libdir}/libamtape*.so
+%attr(755,root,root) %{_libdir}/librestore*.so
+
%attr(755,root,root) %{_libexecdir}/amcat.awk
%attr(755,root,root) %{_libexecdir}/amcleanupdisk
%attr(755,root,root) %{_libexecdir}/amidxtaped
+%attr(755,root,root) %{_libexecdir}/amindexd
%attr(755,root,root) %{_libexecdir}/amlogroll
%attr(755,root,root) %{_libexecdir}/amplot.awk
%attr(755,root,root) %{_libexecdir}/amplot.g
%attr(755,root,root) %{_libexecdir}/amplot.gp
+%attr(755,root,root) %{_libexecdir}/amtrmidx
%attr(755,root,root) %{_libexecdir}/amtrmlog
%attr(755,root,root) %{_libexecdir}/chg-chio
%attr(755,root,root) %{_libexecdir}/chg-chs
+%attr(755,root,root) %{_libexecdir}/chg-disk
+%attr(755,root,root) %{_libexecdir}/chg-iomega
+%attr(755,root,root) %{_libexecdir}/chg-juke
%attr(755,root,root) %{_libexecdir}/chg-manual
+%attr(755,root,root) %{_libexecdir}/chg-mcutil
%attr(755,root,root) %{_libexecdir}/chg-mtx
%attr(755,root,root) %{_libexecdir}/chg-multi
+%attr(755,root,root) %{_libexecdir}/chg-null
+%attr(755,root,root) %{_libexecdir}/chg-rait
%attr(755,root,root) %{_libexecdir}/chg-rth
%attr(755,root,root) %{_libexecdir}/chg-scsi
%attr(755,root,root) %{_libexecdir}/chg-zd-mtx
-%attr(755,root,root) %{_libexecdir}/selfcheck
+%attr(755,root,root) %{_libexecdir}/chunker
+%attr(755,root,root) %{_libexecdir}/driver
+%attr(4754,root,amanda) %{_libexecdir}/dumper
+%attr(4754,root,amanda) %{_libexecdir}/planner
%attr(755,root,root) %{_libexecdir}/taper
+
%attr(755,root,root) %{_sbindir}/amadmin
+%attr(755,root,root) %{_sbindir}/amaespipe
%attr(4754,root,amanda) %{_sbindir}/amcheck
%attr(755,root,root) %{_sbindir}/amcheckdb
%attr(755,root,root) %{_sbindir}/amcleanup
+%attr(755,root,root) %{_sbindir}/amcrypt*
+%attr(755,root,root) %{_sbindir}/amdd
%attr(755,root,root) %{_sbindir}/amdump
+%attr(755,root,root) %{_sbindir}/amfetchdump
%attr(755,root,root) %{_sbindir}/amflush
%attr(755,root,root) %{_sbindir}/amgetconf
%attr(755,root,root) %{_sbindir}/amlabel
+%attr(755,root,root) %{_sbindir}/ammt
%attr(755,root,root) %{_sbindir}/amoverview
%attr(755,root,root) %{_sbindir}/amplot
-%attr(755,root,root) %{_sbindir}/amrmtape
%attr(755,root,root) %{_sbindir}/amreport
+%attr(755,root,root) %{_sbindir}/amrestore
+%attr(755,root,root) %{_sbindir}/amrmtape
%attr(755,root,root) %{_sbindir}/amstatus
%attr(755,root,root) %{_sbindir}/amtape
+%attr(755,root,root) %{_sbindir}/amtapetype
%attr(755,root,root) %{_sbindir}/amtoc
%attr(755,root,root) %{_sbindir}/amverify
-%attr(755,root,root) %{_sbindir}/tapetype
+%attr(755,root,root) %{_sbindir}/amverifyrun
+%{_mandir}/man5/amanda.conf.5*
%{_mandir}/man8/amadmin.8*
-%{_mandir}/man8/amrmtape.8*
-%{_mandir}/man8/amtape.8*
-%{_mandir}/man8/amtoc.8*
+%{_mandir}/man8/amaespipe.8*
%{_mandir}/man8/amanda.8*
%{_mandir}/man8/amcheck.8*
+%{_mandir}/man8/amcheckdb.8*
%{_mandir}/man8/amcleanup.8*
+%{_mandir}/man8/amcrypt*.8*
+%{_mandir}/man8/amdd.8*
%{_mandir}/man8/amdump.8*
+%{_mandir}/man8/amfetchdump.8*
%{_mandir}/man8/amflush.8*
+%{_mandir}/man8/amgetconf.8*
%{_mandir}/man8/amlabel.8*
+%{_mandir}/man8/ammt.8*
+%{_mandir}/man8/amoverview.8*
%{_mandir}/man8/amplot.8*
%{_mandir}/man8/amreport.8*
+%{_mandir}/man8/amrestore.8*
+%{_mandir}/man8/amrmtape.8*
%{_mandir}/man8/amstatus.8*
+%{_mandir}/man8/amtape.8*
+%{_mandir}/man8/amtapetype.8*
+%{_mandir}/man8/amtoc.8*
+%{_mandir}/man8/amverify.8*
+%{_mandir}/man8/amverifyrun.8*
+%endif
+%if %{with client}
%files client
%defattr(644,root,root,755)
-%config(noreplace) /etc/sysconfig/rc-inetd/amanda
-
+%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/amanda
+%attr(664,root,amanda) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/amandates
%attr(755,root,root) %{_libdir}/libamclient*.so
-%attr(755,root,root) %{_libexecdir}/versionsuffix
%attr(755,root,root) %{_libexecdir}/amandad
+%attr(755,root,root) %{_libexecdir}/noop
+%attr(755,root,root) %{_libexecdir}/patch-system
+%attr(755,root,root) %{_libexecdir}/sendbackup
+%attr(755,root,root) %{_libexecdir}/sendsize
+%attr(755,root,root) %{_libexecdir}/versionsuffix
%attr(4754,root,amanda) %{_libexecdir}/calcsize
+%attr(4754,root,amanda) %{_libexecdir}/killpgrp
%attr(4754,root,amanda) %{_libexecdir}/rundump
%attr(4754,root,amanda) %{_libexecdir}/runtar
%attr(4754,root,amanda) %{_libexecdir}/selfcheck
-%attr(755,root,root) %{_libexecdir}/sendbackup
-%attr(755,root,root) %{_libexecdir}/sendsize
-%attr(755,root,root) %{_libexecdir}/patch-system
-%attr(4754,root,amanda) %{_libexecdir}/killpgrp
+%attr(755,root,root) %{_sbindir}/amoldrecover
%attr(755,root,root) %{_sbindir}/amrecover
-%attr(755,root,root) %{_sbindir}/amrestore
+%attr(770,root,amanda) %dir %{_localstatedir}/amanda/gnutar-lists
+%{_mandir}/man5/amanda-client.conf.5*
%{_mandir}/man8/amrecover.8*
-%{_mandir}/man8/amrestore.8*
+%endif