Blob Blame History Raw
%define __spec_install_post exit 0
%define	_libexecdir	%{_prefix}/lib/amanda

# XXX append lib to current _localstatedir setting
%{expand: %%define	_localstatedir	%{_localstatedir}/lib}

Summary: A network-capable tape backup solution.
Name: amanda
Version: 2.4.1p1
Release: 18
Source: ftp://ftp.amanda.org/pub/amanda/amanda-2.4.1p1.tar.gz
Source1: amanda.crontab
Source2: __README_QUICKSETUP__
Source3: amanda.conf
Source4: disklist
Source5: amanda-xinetd
Source6: amandaidx-xinetd
Source7: amidxtape-xinetd
Patch0: amanda-glibc21.patch
Patch1: amanda-glibc22.patch
Copyright: distributable
Group: Applications/System
URL: http://www.amanda.org
Prereq: fileutils grep initscripts
BuildRequires: gnuplot, dump
BuildRoot: %{_tmppath}/%{name}-root

%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 large capacity
tape drive.  AMANDA uses native dump and/or GNU tar facilities and can
back up a large number of workstations running multiple versions of Unix.
Newer versions of AMANDA (including this version) can use SAMBA to back
up Microsoft(TM) Windows95/NT hosts.  The amanda package contains the
core AMANDA programs and will need to be installed on both AMANDA clients
and AMANDA servers.  Note that you will have to install the amanda-client
and amanda-server packages as well.

%package client
Summary: The client component of the AMANDA tape backup system.
Group: Applications/System
Prereq: fileutils grep /sbin/service xinetd
Requires: amanda = %{version}

%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.

%package server
Summary: The server side of the AMANDA tape backup system.
Group: Applications/System
Requires: gnuplot
Prereq: fileutils grep /sbin/service xinetd
Requires: amanda = %{version}

%description server
The amanda-server package should be installed on the AMANDA server,
the machine attached to the device (such as a tape drive) where backups
will be written. You will also need to install the amanda 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.

%prep
%setup -q
%patch0 -p1 -b .tim
%patch1 -p1 -b .tim1

%build
#fixes build issues on some newer arch's
#libtoolize --copy --force
#CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=%{_prefix} --bindir=%{_sbindir} \
#	--mandir=%{_mandir} --libexecdir=%{_libexecdir} \
#	--sysconfdir=%{_sysconfdir} \
#	--localstatedir=%{_localstatedir} --with-index-server=localhost \
#	--with-gnutar-listdir=%{_localstatedir}/amanda/gnutar-lists \
#	--with-smbclient=%{_bindir}/smbclient --with-amandahosts \
#	--with-user=operator --with-group=disk --with-gnutar=/bin/tar

%configure \
	--with-index-server=localhost \
	--with-gnutar-listdir=%{_localstatedir}/amanda/gnutar-lists \
	--with-smbclient=%{_bindir}/smbclient \
	--with-amandahosts \
	--with-user=operator \
	--with-group=disk \
	--with-gnutar=/bin/tar
	
make
(cd common-src; make security)

%install
rm -rf ${RPM_BUILD_ROOT}
#make \
#    prefix=${RPM_BUILD_ROOT}%{_prefix} \
#    mandir=${RPM_BUILD_ROOT}%{_mandir} \
#    bindir=${RPM_BUILD_ROOT}%{_sbindir} \
#    libexecdir=${RPM_BUILD_ROOT}%{_libexecdir} \
#	install

%makeinstall BINARY_OWNER=%(id -un) SETUID_GROUP=%(id -gn)

mkdir -p $RPM_BUILD_ROOT/etc/xinetd.d
install -m 644 %SOURCE5 $RPM_BUILD_ROOT/etc/xinetd.d/amanda
install -m 644 %SOURCE6 $RPM_BUILD_ROOT/etc/xinetd.d/amandaidx
install -m 644 %SOURCE7 $RPM_BUILD_ROOT/etc/xinetd.d/amidxtape

mkdir -p examples
cp example/* examples
rm -f examples/Makefile*
rm -f examples/config.site

cp common-src/security ${RPM_BUILD_ROOT}%{_sbindir}

cp ${RPM_SOURCE_DIR}/__README_QUICKSETUP__ docs/

{ cd ${RPM_BUILD_ROOT}
  mkdir -p .%{_sysconfdir}/amanda/DailySet1
  cp ${RPM_SOURCE_DIR}/amanda.crontab .%{_sysconfdir}/amanda/crontab.sample
  cp ${RPM_SOURCE_DIR}/amanda.conf .%{_sysconfdir}/amanda/DailySet1
  cp ${RPM_SOURCE_DIR}/disklist .%{_sysconfdir}/amanda/DailySet1
  touch .%{_sysconfdir}/amandates

  mkdir -p .%{_localstatedir}/amanda/gnutar-lists
  mkdir -p .%{_localstatedir}/amanda/DailySet1/index

  chmod 755 .%{_libdir}/libam*
  strip .%{_sbindir}/* || :
  strip --strip-debug .%{_libexecdir}/* || :
}

#compress man pages
[ -x /usr/lib/rpm/brp-compress ] && /usr/lib/rpm/brp-compress

%clean 
rm -rf ${RPM_BUILD_ROOT}

%post -p /sbin/ldconfig

%post client
/sbin/ldconfig
[ -f /var/lock/subsys/xinetd ] && /sbin/service xinetd reload > /dev/null 2>&1 || :

# make sure there is an .amandahosts file, allow localhost by default
if [ ! -f ~operator/.amandahosts ]; then
  echo "localhost operator" > ~operator/.amandahosts
	echo "localhost.localdomain operator" > ~operator/.amandahosts
fi
# make sure user operator has an .amandahosts file
touch ~operator/.amandahosts
chown operator.disk ~operator/.amandahosts
chmod 660 ~operator/.amandahosts

%post server
/sbin/ldconfig
[ -f /var/lock/subsys/xinetd ] && /sbin/service xinetd reload > /dev/null 2>&1 || :

%postun -p /sbin/ldconfig

%postun client
/sbin/ldconfig
[ -f /var/lock/subsys/xinetd ] && /sbin/service xinetd reload > /dev/null 2>&1 || :

%postun server
/sbin/ldconfig
[ -f /var/lock/subsys/xinetd ] && /sbin/service xinetd reload > /dev/null 2>&1 || :

%files
%defattr(-,root,root)
%doc examples docs/*
%config(noreplace) /etc/xinetd.d/amandaidx
%dir %{_sysconfdir}/amanda
%{_libdir}/libamanda*
%{_libdir}/libamtape*
%attr(-,operator,disk)	%{_libexecdir}/amidxtaped
%attr(-,operator,disk)	%{_sbindir}/amrestore
%{_mandir}/man8/amrestore.8*

%attr(-,operator,disk)	%{_sysconfdir}/amandates

%files server
%defattr(-,root,root)
%{_libdir}/libamserver*
%config(noreplace) /etc/xinetd.d/amandaidx
%config(noreplace) /etc/xinetd.d/amidxtape
%attr(-,operator,disk)	%{_libexecdir}/amindexd
%attr(-,operator,disk)	%{_libexecdir}/amtrmidx
%attr(-,operator,disk)	%{_libexecdir}/driver
%attr(4750,root,disk)	%{_libexecdir}/dumper
%attr(-,operator,disk)	%{_libexecdir}/getconf
%attr(4750,root,disk)	%{_libexecdir}/planner
%attr(-,operator,disk)	%{_libexecdir}/taper

%attr(-,operator,disk)	%{_sbindir}/amadmin
%attr(4750,root,disk)	%{_sbindir}/amcheck
%attr(-,operator,disk)	%{_sbindir}/amcheckdb
%attr(-,operator,disk)	%{_sbindir}/amcleanup
%attr(-,operator,disk)	%{_sbindir}/amdump
%attr(-,operator,disk)	%{_sbindir}/amflush
%attr(-,operator,disk)	%{_sbindir}/amlabel
%attr(-,operator,disk)	%{_sbindir}/amoverview
%attr(-,operator,disk)	%{_sbindir}/amplot
%attr(-,operator,disk)	%{_sbindir}/amreport
%attr(-,operator,disk)	%{_sbindir}/amrmtape
%attr(-,operator,disk)	%{_sbindir}/amstatus
%attr(-,operator,disk)	%{_sbindir}/amtape
%attr(-,operator,disk)	%{_sbindir}/amtoc
%attr(-,operator,disk)	%{_sbindir}/amverify

%attr(-,operator,disk)	%{_libexecdir}/amcat.awk
%attr(-,operator,disk)	%{_libexecdir}/amplot.awk
%attr(-,operator,disk)	%{_libexecdir}/amplot.g
%attr(-,operator,disk)	%{_libexecdir}/amplot.gp
%{_mandir}/man8/amadmin.8*
%{_mandir}/man8/amrmtape.8*
%{_mandir}/man8/amtape.8*
%{_mandir}/man8/amtoc.8*
%{_mandir}/man8/amanda.8*
%{_mandir}/man8/amcheck.8*
%{_mandir}/man8/amcleanup.8*
%{_mandir}/man8/amdump.8*
%{_mandir}/man8/amflush.8*
%{_mandir}/man8/amlabel.8*
%{_mandir}/man8/amplot.8*
%{_mandir}/man8/amreport.8*
%{_mandir}/man8/amstatus.8*
%config	%{_sysconfdir}/amanda/crontab.sample
%{_localstatedir}/amanda/gnutar-lists

%files client
%defattr(-,root,root)
%{_libdir}/libamclient*
%attr(-,operator,disk)	%{_libexecdir}/amandad
%attr(4750,root,disk)	%{_libexecdir}/calcsize
%attr(-,operator,disk)	%{_libexecdir}/chg-chio
%attr(-,operator,disk)	%{_libexecdir}/chg-chs
%attr(-,operator,disk)	%{_libexecdir}/chg-manual
%attr(-,operator,disk)	%{_libexecdir}/chg-mtx
%attr(-,operator,disk)	%{_libexecdir}/chg-multi
%attr(-,operator,disk)	%{_libexecdir}/chg-rth
%attr(-,operator,disk)	%{_libexecdir}/chg-zd-mtx
%attr(4750,root,disk)	%{_libexecdir}/killpgrp
%attr(-,operator,disk)	%{_libexecdir}/patch-system
%attr(4750,root,disk)	%{_libexecdir}/rundump
%attr(4750,root,disk)	%{_libexecdir}/runtar
%attr(-,operator,disk)	%{_libexecdir}/selfcheck
%attr(-,operator,disk)	%{_libexecdir}/sendbackup
%attr(-,operator,disk)	%{_libexecdir}/sendsize
%attr(-,operator,disk)	%{_libexecdir}/versionsuffix
%attr(-,operator,disk)	%{_sbindir}/amrecover
%attr(-,operator,disk)	%{_sbindir}/security

%{_mandir}/man8/amrecover.8*
%attr(-,operator,disk)	%dir %{_sysconfdir}/amanda/DailySet1
%attr(-,operator,disk)	%{_sysconfdir}/amanda/DailySet1/amanda.conf
%attr(-,operator,disk)	%{_sysconfdir}/amanda/DailySet1/disklist
%attr(-,operator,disk)	%dir %{_localstatedir}/amanda/DailySet1/

%changelog
* Mon Aug 21 2000 Trond Eivind Glomsrød <teg@redhat.com>
- only do reload of xinetd if xinetd is running (#16653)
- don't show output of reload command to STDOUT (#16653)
- don't use /usr/sbin/tcpd in amidx, xinetd is linked
  with tcp_wrappers
- prereq initscripts (fixes #14572 and duplicates)

* Tue Aug  1 2000 Bill Nottingham <notting@redhat.com>
- turn off amandaidx by default (#14937)
- fix some binary permissions (#14938)

* Tue Aug  1 2000 Matt Wilson <msw@redhat.com>
- added Prereq: /sbin/service xinetd to client and server subpackages

* Tue Jul 18 2000 Trond Eivind Glomsrød <teg@redhat.com>
- xinetd support

* Wed Jul 12 2000 Prospector <bugzilla@redhat.com>
- automatic rebuild

* Sun Jun 18 2000 Jeff Johnson <jbj@redhat.com>
- add prereqs for scriptlets, requires for common package.

* Sat Jun 10 2000 Jeff Johnson <jbj@redhat.com>
- FHS packaging.
- move to 7.0 distro.

* Tue May 23 2000 Tim Powers <timp@redhat.com>
- built for 7.0
- man pages in /usr/share/man

* Thu Apr 27 2000 Tim Powers <timp@redhat.com>
- added usr/lib/amanda/chg-zd-mtx to the client RPM to fix bug #8282

* Wed Mar 8 2000 Tim Powers <timp@redhat.com>
- fixed files/dirs ending up in the wrong packages.
- last time it wasn't built with dump (doh!), this time it is. Now has a
	BuildRequires for dump.

* Thu Feb 10 2000 Tim Powers <timp@redhat.com>
- strip binaries

* Fri Jan 21 2000 TIm Powers <timp@redhat.com>
- added chown lines to post section

* Tue Jan 11 2000 Tim Powers <timp@redhat.com>
- make sure the man pages are gzipped in each subpackage, overriding the build
	system spec_install_post macro.
- using mega spec file changes from Marc Merlin <merlin_bts@valinux.com> since
	the package we were shipping in the past had some major issues (not in
	Marc's words ;)
- using Marc's added README and modified config files.
- adapted patches written by Alexandre Oliva <oliva@dcc.unicamp.br> from Marc
	Merlin's package so that the patch matches the source version (the patches
	are the glibc2.1 and glibc2.2 patches)

* Mon Jan 3 2000 Tim Powers <timp@redhat.com>
- fix so configure doesn't crap out (libtoolize --force)
- gzip man pages, strip binaries
- rebuilt for 6.2

* Thu Aug 5 1999 Tim Powers <timp@redhat.com>
- applied patch so that it reports the available holding disk space correctly

* Thu Jul 8 1999 Tim Powers <timp@redhat.com>
- added %defattr lines
- rebuilt for 6.1

* Wed May 05 1999 Bill Nottingham <notting@redhat.com>
- update to 2.4.1p1

* Tue Oct 27 1998 Cristian Gafton <gafton@redhat.com>
- version 2.4.1

* Tue May 19 1998 Cristian Gafton <gafton@redhat.com>
- upgraded to full 2.4.0 release

* Thu Feb 19 1998 Otto Hammersmith <otto@redhat.com>
- fixed group for -client and -server packages (Network->Networking)

* Wed Feb 11 1998 Otto Hammersmith <otto@redhat.com>
- updated to 2.4.0b6, fixes security hole among other things
  (as well as finally got the glibc patch in the main source.)
 
* Tue Jan 27 1998 Otto Hammersmith <otto@redhat.com>
- moved versionsuffix to client package to remove dependency of amanda on amanda-client

* Mon Jan 26 1998 Otto Hammersmith <otto@redhat.com>
- fixed libexec garbage.

* Wed Jan 21 1998 Otto Hammersmith <otto@redhat.com>
- split into three packages amanda, amanda-client, and amanda-server

* Fri Jan  9 1998 Otto Hammersmith <otto@redhat.com>
- updated to latest beta... builds much cleaner now.

* Thu Jan  8 1998 Otto Hammersmith <otto@redhat.com>
- created the package