X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=packaging%2Frpm%2Famanda.spec.orig;fp=packaging%2Frpm%2Famanda.spec.orig;h=b71eb0cf5be2f7e176969b32086f95d9a9c9d2dd;hb=a6127998ee6dcab6bb034f6ca985b07804a86f9a;hp=0000000000000000000000000000000000000000;hpb=94a044f90357edefa6f4ae9f0b1d5885b0e34aee;p=debian%2Famanda diff --git a/packaging/rpm/amanda.spec.orig b/packaging/rpm/amanda.spec.orig new file mode 100644 index 0000000..b71eb0c --- /dev/null +++ b/packaging/rpm/amanda.spec.orig @@ -0,0 +1,1788 @@ +# +# Copyright (C) 2005 Zmanda Incorporated. +# All Rights Reserved. +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 as published +# by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# Contact information: Zmanda Inc, 505 N Mathlida Ave, Suite 120 +# Sunnyvale, CA 94085, USA, or: http://www.zmanda.com +# + + +%define build_srpm 0 +%{?srpm_only: %define build_srpm 1} + +# Pkg-config sometimes needs its own path set, and we need to allow users to +# override our guess during detection. This macro takes care of that. +# If no --define PKG_CONFIG_PATH was passed and env var $PKG_CONFIG_PATH is +# set then use the env var. +%{!?PKG_CONFIG_PATH: %{expand:%(echo ${PKG_CONFIG_PATH:+"%%define PKG_CONFIG_PATH $PKG_CONFIG_PATH"})}} + +%{?PKG_CONFIG_PATH:%{echo:PKG_CONFIG_PATH = %{PKG_CONFIG_PATH}}} + +# Define which Distribution we are building: +# Try to detect the distribution we are building: +%if %{_vendor} == redhat + # Fedora symlinks /etc/fedora-release to /etc/redhat-release for at least + # fc3-7. So RHEL and Fedora look at the same file. The awk trickery here + # forces the field to be numeric so that the spec comparison works + %if %(awk '{print $1}' /etc/redhat-release) == "Fedora" && %(awk '{print $4+0}' /etc/redhat-release) == 3 + %define dist fedora + %define disttag fc + %define distver 3 + %endif + %if %(awk '{print $1}' /etc/redhat-release) == "Fedora" && %(awk '{print$4+0}' /etc/redhat-release) == 4 + %define dist fedora + %define disttag fc + %define distver 4 + %endif + %if %(awk '{print $1}' /etc/redhat-release) == "Fedora" && %(awk '{print $4+0}' /etc/redhat-release) == 5 + %define dist fedora + %define disttag fc + %define distver 5 + %endif + %if %(awk '{print $1}' /etc/redhat-release) == "Fedora" && %(awk '{print $4+0}' /etc/redhat-release) == 6 + %define dist fedora + %define disttag fc + %define distver 6 + %endif + %if %(awk '{print $1}' /etc/redhat-release) == "Fedora" && %(awk '{print $3+0}' /etc/redhat-release) == 7 + %define dist fedora + %define disttag fc + %define distver 7 + %endif + %if %(awk '{print $1}' /etc/redhat-release) == "Fedora" && %(awk '{print $3+0}' /etc/redhat-release) == 8 + %define dist fedora + %define disttag fc + %define distver 8 + # TODO: generalize this so that any platform can cross compile + %if %{_host_cpu} == x86_64 && %{_target_cpu} == i686 + # Do nothing if PKG_CONFIG_PATH was set by the user above. + %{!?PKG_CONFIG_PATH: %define PKG_CONFIG_PATH /usr/lib/pkgconfig} + %endif + %endif + %if %(awk '{print $1}' /etc/redhat-release) == "Red" && %(awk '{print $7+0}' /etc/redhat-release) == 3 + %define dist redhat + %define disttag rhel + %define distver 3 + %endif + %if %(awk '{print $1}' /etc/redhat-release) == "Red" && %(awk '{print $7+0}' /etc/redhat-release) == 4 + %define dist redhat + %define disttag rhel + %define distver 4 + %endif + %if %(awk '{print $1}' /etc/redhat-release) == "Red" && %(awk '{print $7+0}' /etc/redhat-release) == 5 + %define dist redhat + %define disttag rhel + %define distver 5 + %endif +%endif +# Detect Suse variants. Suse gives us some nice macros in their rpms +%if %{_vendor} == "suse" + %if %{suse_version} == 910 + %define dist SuSE + %define disttag sles + %define distver 9 + %endif + %if %{suse_version} == 1010 + %define dist SuSE + %define disttag sles + %define distver 10 + %endif + %if %{suse_version} == 1000 + %define dist SuSE + %define disttag suse + %define distver 10 + %endif +%endif + +# Set options per distribution +%if %{dist} == redhat || %{dist} == fedora + %define rpm_group Applications/Archiving + %define xinetd_reload restart +%endif +%if %{dist} == SuSE + %define rpm_group Productivity/Archiving/Backup + %define xinetd_reload restart +%endif + +%define packer %(%{__id_u} -n) + +# --- Definitions --- + +# Define amanda_version if it is not already defined. +%{!?amanda_version: %define amanda_version 2.6.0p1} +%{!?amanda_release: %define amanda_release 1} +%define amanda_version_info "Amanda Community Edition - version %{amanda_version}" +%define amanda_user amandabackup +%define amanda_group disk +%define udpportrange "700,740" +%define tcpportrange "11000,11040" +%define low_tcpportrange "700,710" + +Summary: The Amanda Backup and Archiving System +Name: amanda +Version: %{amanda_version} +%define rpm_release %{amanda_release}.%{disttag}%{distver} +%if %{build_srpm} +%define rpm_release %{amanda_release} +%endif +Release: %{rpm_release} +Source: %{name}-%{version}.tar.gz +License: http://wiki.zmanda.com/index.php/Amanda_Copyright +Vendor: Zmanda, Inc. +Packager: www.zmanda.com +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-%{packer}-buildroot +Group: %{rpm_group} +# TODO - Need required versions for these: +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: binutils +BuildRequires: bison +BuildRequires: flex +BuildRequires: gcc +BuildRequires: glibc >= 2.2.0 +BuildRequires: readline +BuildRequires: curl >= 7.10.0 +Requires: /bin/awk +Requires: /bin/date +Requires: /usr/bin/id +Requires: /sbin/ldconfig +Requires: /bin/sh +Requires: /usr/sbin/useradd +Requires: /usr/sbin/usermod +Requires: fileutils +Requires: grep +Requires: gnuplot +Requires: libc.so.6 +Requires: libm.so.6 +Requires: libnsl.so.1 +Requires: curl >= 7.10.0 +Requires: xinetd +Requires: perl >= 5.6.0 +Requires: tar >= 1.15 +%if %{dist} == redhat || %{dist}== fedora +Requires: libtermcap.so.2 +Requires: initscripts +%endif +Provides: amanda-backup_client = %{amanda_version}, amanda-backup_server = %{amanda_version} + +%package backup_client +Summary: The Amanda Backup and Archiving Client +Group: %{rpm_group} +Requires: /bin/awk +Requires: fileutils +Requires: grep +%if %{dist} == redhat || %{dist}== fedora +Requires: libtermcap.so.2 +Requires: initscripts +%endif +Requires: xinetd +Requires: libc.so.6 +Requires: libm.so.6 +Requires: libnsl.so.1 +Requires: perl >= 5.6.0 +Requires: tar >= 1.15 +Provides: amanda-backup_client = %{amanda_version} +Provides: libamclient-%{version}.so = %{amanda_version} +Provides: libamanda-%{version}.so = %{amanda_version} +Conflicts: amanda-backup_server + +%package backup_server +Summary: The Amanda Backup and Archiving Server +Group: %{rpm_group} +Requires: /bin/awk +Requires: fileutils +Requires: grep +Requires: libc.so.6 +Requires: libm.so.6 +Requires: libnsl.so.1 +%if %{dist} == redhat || %{dist}== fedora +Requires: libtermcap.so.2 +Requires: initscripts +%endif +Requires: xinetd +Requires: perl >= 5.6.0 +Requires: tar >= 1.15 +Provides: amanda-backup_server = %{amanda_version} +Provides: libamclient-%{version}.so = %{amanda_version} +Provides: libamanda-%{version}.so = %{amanda_version} +Provides: libamserver-%{version}.so = %{amanda_version} +Provides: librestore-%{version}.so = %{amanda_version} +Provides: libamtape-%{version}.so = %{amanda_version} +Provides: libamdevice-%{version}.so = %{amanda_version} + +# --- Package descriptions --- + +%description +Amanda is the leading Open-Source Backup and Archiving software. + +The amanda-backup_server package should be installed on the Amanda server, i.e. +the machine attached to backup media (such as a tape drive or disk +drives) where backups will be written. The amanda-backup_server package +includes Amanda client. The amanda-backup_client package needs +to be installed on every system that is being backed up. + +Amanda Forums is located at: http://forums.zmanda.com/ +Amanda Documentation is available at: http://wiki.zmanda.com/ + + + +%description backup_server +Amanda is the leading Open-Source Backup and Archiving software. + +This package contains the Amanda server. The amanda-backup_server package +should be installed on the Amanda server, i.e. the machine attached +to backup media (such as a tape drive or disk drives) where backups +will be written. The amanda-backup_server package includes Amanda client. + +Amanda Forums is located at: http://forums.zmanda.com/ +Amanda Documentation is available at: http://wiki.zmanda.com/ + + + +%description backup_client +Amanda is the leading Open-Source Backup and Archiving software. + +This package contains the Amanda client. The amanda-backup_client package +needs to be installed on every system that is being backed up. + +Amanda Forums is located at: http://forums.zmanda.com/ +Amanda Documentation is available at: http://wiki.zmanda.com/ + +# --- Directory setup --- + +# Configure directories: +%define PREFIX /usr +%define EPREFIX %{PREFIX} +%define BINDIR %{EPREFIX}/bin +%define SBINDIR %{EPREFIX}/sbin +%define LIBEXECDIR %{EPREFIX}/libexec +%define AMLIBEXECDIR %{LIBEXECDIR}/amanda +%define DATADIR %{PREFIX}/share +%define SYSCONFDIR /etc +%define LOCALSTATEDIR /var +%define AMANDAHOMEDIR %{LOCALSTATEDIR}/lib/amanda +%ifarch x86_64 +%define LIBDIR %{EPREFIX}/lib64 +%else +%define LIBDIR %{EPREFIX}/lib +%endif +%define AMLIBDIR %{LIBDIR}/amanda +%define INCLUDEDIR %{PREFIX}/include +%define MANDIR %{DATADIR}/man +%define LOGDIR /var/log/amanda +%define PERLSITELIB %(eval "`perl -V:installsitelib`"; echo $installsitelib) + +# Installation directories: +%define ROOT_SBINDIR %{buildroot}/%{SBINDIR} +%define ROOT_LIBEXECDIR %{buildroot}/%{LIBEXECDIR} +%define ROOT_DATADIR %{buildroot}/%{DATADIR} +%define ROOT_LOCALSTATEDIR %{buildroot}/%{LOCALSTATEDIR} +%define ROOT_SYSCONFDIR %{buildroot}/%{SYSCONFDIR} +%define ROOT_AMANDAHOMEDIR %{buildroot}/%{AMANDAHOMEDIR} +%define ROOT_LIBDIR %{buildroot}/%{LIBDIR} +%define ROOT_MANDIR %{buildroot}/%{MANDIR} +%define ROOT_LOGDIR %{buildroot}/%{LOGDIR} + +# --- Unpack --- + +%prep +%setup -q +# --- Configure and compile --- + +%build +%define config_user %{amanda_user} +%define config_group %{amanda_group} + +%if %{disttag} == rhel && %{distver} == 3 +./configure \ + CFLAGS="%{optflags} -g" CXXFLAGS="%{optflags}" \ + --quiet \ + --prefix=%{PREFIX} \ + --sysconfdir=%{SYSCONFDIR} \ + --sharedstatedir=%{LOCALSTATEDIR} \ + --localstatedir=%{LOCALSTATEDIR} \ + --libdir=%{LIBDIR} \ + --includedir=%{INCLUDEDIR} \ + --with-gnuplot=/usr/bin/gnuplot \ + --with-gnutar=/bin/tar \ + --with-gnutar-listdir=%{AMANDAHOMEDIR}/gnutar-lists \ + --with-index-server=localhost \ + --with-tape-server=localhost \ + --with-user=%{config_user} \ + --with-group=%{config_group} \ + --with-owner=%{packer} \ + --with-fqdn \ + --with-bsd-security \ + --with-bsdtcp-security \ + --with-bsdudp-security \ + --with-ssh-security \ + --with-udpportrange=%{udpportrange} \ + --with-tcpportrange=%{tcpportrange} \ + --with-low-tcpportrange=%{low_tcpportrange} \ + --with-debugging=%{LOGDIR} \ + --with-assertions \ + --disable-installperms \ + --without-ipv6 +%else +# This confusing macro results in PKG_CONFIG_PATH=some/path if some/path +# was set on the command line, or by the platform detection bits. +./configure \ + %{?PKG_CONFIG_PATH: PKG_CONFIG_PATH=%PKG_CONFIG_PATH} \ + CFLAGS="%{optflags} -g" CXXFLAGS="%{optflags}" \ + --quiet \ + --prefix=%{PREFIX} \ + --sysconfdir=%{SYSCONFDIR} \ + --sharedstatedir=%{LOCALSTATEDIR} \ + --localstatedir=%{LOCALSTATEDIR} \ + --libdir=%{LIBDIR} \ + --includedir=%{INCLUDEDIR} \ + --with-star=/usr/bin/star \ + --with-gnuplot=/usr/bin/gnuplot \ + --with-gnutar=/bin/tar \ + --with-gnutar-listdir=%{AMANDAHOMEDIR}/gnutar-lists \ + --with-index-server=localhost \ + --with-tape-server=localhost \ + --with-user=%{config_user} \ + --with-group=%{config_group} \ + --with-owner=%{packer} \ + --with-fqdn \ + --with-bsd-security \ + --with-bsdtcp-security \ + --with-bsdudp-security \ + --with-ssh-security \ + --with-udpportrange=%{udpportrange} \ + --with-tcpportrange=%{tcpportrange} \ + --with-low-tcpportrange=%{low_tcpportrange} \ + --with-debugging=%{LOGDIR} \ + --with-assertions \ + --disable-installperms +%endif + +make + +# --- Install to buildroot --- + +%install +if [ "%{buildroot}" != "/" ]; then + if [ -d "%{buildroot}" ] ; then + rm -rf %{buildroot} + fi +else + echo "BuildRoot was somehow set to / !" + exit -1 +fi + +make -j1 DESTDIR=%{buildroot} install + +rm -rf %{ROOT_DATADIR}/amanda +rm -f %{ROOT_AMANDAHOMEDIR}/example/inetd.conf.amandaclient +mkdir %{buildroot}/{etc,var/log} +mkdir %{ROOT_LOCALSTATEDIR}/amanda +mkdir %{ROOT_SYSCONFDIR}/amanda +mkdir %{ROOT_AMANDAHOMEDIR}/gnutar-lists +mkdir %{ROOT_LOGDIR} + +echo "%{amanda_version_info}" >%{ROOT_AMANDAHOMEDIR}/amanda-release + +# --- Clean up buildroot --- + +%clean +if [ "%{buildroot}" != "/" ]; then + if [ -d "%{buildroot}" ] ; then + rm -rf %{buildroot} + fi +else + echo "BuildRoot was somehow set to / !" + exit -1 +fi + +# --- Pre/post (un)installation scripts --- + +%pre +TMPFILE=`mktemp /tmp/rpm-amanda.XXXXXXXXXXX` +if [ $? -ne 0 ]; then + echo "Unable to mktemp!" 1>&2 + exit 1 +fi +LOGDIR="%{LOGDIR}" +INSTALL_LOG="${LOGDIR}/install.log" +INSTALL_ERR="${LOGDIR}/install.err" + +echo "`date +'%b %e %Y %T'`: Preparing to install: %{amanda_version_info}" >${TMPFILE} + +# Check for the 'amanda' user +echo "`date +'%b %e %Y %T'`: Checking for '%{amanda_user}' user..." >>${TMPFILE} +if [ "`id -u %{amanda_user} > /dev/null 2>&1 && echo 0 || echo 1`" != "0" ] ; then + useradd -c "Amanda" -M -g %{amanda_group} -d %{AMANDAHOMEDIR} -s /bin/sh %{amanda_user} + if [ %{dist} = "SuSE" ]; then + PASSWD_EXIT=$? + else + # Lock the amanda account until admin sets password + passwd -l %{amanda_user} >>/dev/null + PASSWD_EXIT=$? + fi + if [ ${PASSWD_EXIT} -eq 0 ] ; then + echo "`date +'%b %e %Y %T'`:" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: The '%{amanda_user}; user account has been successfully created." >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: Furthermore, the account has been automatically locked for you" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: for security purposes. Once a password for the '%{amanda_user}'" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: account has been set, the user can be unlocked by issuing" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: the following command as root.:" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`:" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: # passwd -u %{amanda_user}" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`:" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: If this is not a new installation of Amanda and you have" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: pre-existing Amanda configurations in %{SYSCONFDIR}/amanda" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: you should ensure that 'dumpuser' is set to '%{amanda_user}'" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: in those configurations. Additionally, you should ensure" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: that %{AMANDAHOMEDIR}/.amandahosts on your client systems" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: is properly configured to allow connections for the user" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: '%{amanda_user}'." >>${TMPFILE} + echo "`date +'%b %e %Y %T'`:" >>${TMPFILE} + PASSWD_OK=0 + else + echo "`date +'%b %e %Y %T'`: !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! The '%{amanda_user}' user account for this system has been !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! created, however the user has no password set. For !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! security purposes this account is normally locked !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! after creation. Unfortunately, when locking this !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! account an error occurred. To ensure the security !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! of your system you should set a password for the !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! user account '%{amanda_user}' immediately! To set such a !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! password, please issue the following command.: !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! # passwd %{amanda_user} !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE} + PASSWD_OK=1 + fi +else + # log information about 'amanda' user parameters + echo "`date +'%b %e %Y %T'`:" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: The Amanda backup software is configured to operate as the" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: user '%{amanda_user}'. This user exists on your system and has not" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: been modified. To ensure that Amanda functions properly," >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: please see that the following parameters are set for that" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: user.:" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`:" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: SHELL: /bin/sh" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: HOME: %{AMANDAHOMEDIR}" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: Default group: %{amanda_group}" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: Verifying %{amanda_user} parameters :" >>${TMPFILE} + + if [ "`id -gn %{amanda_user}`" != "disk" ] ; then + echo "`date +'%b %e %Y %T'`: !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! user 'amandabackup' is not part of the disk group,Pl !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! make sure it is corrected before start using amanda !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE} + else + echo "`date +'%b %e %Y %T'`: Verified group name of user 'amandabackup'" >>${TMPFILE} + fi + + if [ "`grep ^%{amanda_user} /etc/passwd|cut -d: -f7`" != "/bin/sh" ] ; then + echo "`date +'%b %e %Y %T'`: !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! user 'amandabackup' default shell should be set to !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! /bin/sh, pl correct before start using Amanda !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE} + else + echo "`date +'%b %e %Y %T'`: Verified Default shell for user 'amandabackup'" >>${TMPFILE} + fi + + if [ "`grep ^%{amanda_user} /etc/passwd|cut -d: -f6`" != "%{AMANDAHOMEDIR}" ] ; then + echo "`date +'%b %e %Y %T'`: !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! user 'amandabackup' home directory should be set to !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! %{AMANDAHOMEDIR} Pl correct before using Amanda !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE} + else + echo "`date +'%b %e %Y %T'`: Verified Default home directory for user amandabackup" >>${TMPFILE} + fi + echo "`date +'%b %e %Y %T'`:" >>${TMPFILE} + PASSWD_OK=0 +fi +if [ -d %{AMANDAHOMEDIR} ] ; then + echo -n "`date +'%b %e %Y %T'`: Checking ownership of '%{AMANDAHOMEDIR}'... " >>${TMPFILE} + if [ "`ls -dl %{AMANDAHOMEDIR} | awk '//{split($_,x); print x[3]}'`" = "%{amanda_user}" ] && \ + [ "`ls -dl %{AMANDAHOMEDIR} | awk '//{split($_,x); print x[4]}'`" = "%{amanda_group}" ] ; then + echo "correct." >>${TMPFILE} + VARLIB_OK=0 + else + echo "incorrect!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: Please ensure that the directory '%{AMANDAHOMEDIR}' is owned by" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: the user '%{amanda_user}' and group '%{amanda_group}'." >>${TMPFILE} + VARLIB_OK=1 + fi +else + VARLIB_OK=0 +fi +echo "`date +'%b %e %Y %T'`:" >>${TMPFILE} +if [ ! -e ${LOGDIR} ] ; then + # create log directory + mkdir -m 0750 ${LOGDIR} >>${TMPFILE} 2>&1 + chown %{amanda_user}:%{amanda_group} ${LOGDIR} >>${TMPFILE} 2>&1 +elif [ ! -d ${LOGDIR} ] ; then + mv ${LOGDIR} ${LOGDIR}.rpmsave >>${TMPFILE} 2>&1 + mkdir -m 0750 ${LOGDIR} >>${TMPFILE} 2>&1 + chown %{amanda_user}:%{amanda_group} ${LOGDIR} >>${TMPFILE} 2>&1 + mv ${LOGDIR}.rpmsave ${LOGDIR}/ >>${TMPFILE} 2>&1 +fi + +if [ ${PASSWD_OK} -eq 1 ] || [ ${VARLIB_OK} -eq 1 ] ; then + cat ${TMPFILE} + cat ${TMPFILE} >>${INSTALL_ERR} + echo "Please review '${INSTALL_ERR}' to correct errors which have prevented the Amanda installaton." >&2 + echo "Amanda installation log can be found in '${INSTALL_LOG}' and errors (if any) in '${INSTALL_ERR}'." + exit 1 +else + cat ${TMPFILE} + cat ${TMPFILE} >>${INSTALL_LOG} +fi + +echo "`date +'%b %e %Y %T'`: === Amanda installation started. ===" >${TMPFILE} + +cat ${TMPFILE} +cat ${TMPFILE} >>${INSTALL_LOG} +if [ -f "${TMPFILE}" ]; then + rm -f "${TMPFILE}" +fi + +%post +TMPFILE=`mktemp /tmp/rpm-amanda.XXXXXXXXXXX +if [ $? -ne 0 ]; then + echo "Unable to mktemp!" 1>&2 + exit 1 +fi +LOGDIR="%{LOGDIR}" +INSTALL_LOG="${LOGDIR}/install.log" +INSTALL_ERR="${LOGDIR}/install.err" + +echo -n "`date +'%b %e %Y %T'`: Updating library cache..." >${TMPFILE} +/sbin/ldconfig >>${TMPFILE} 2>&1 +echo "done." >>${TMPFILE} +cat ${TMPFILE} +cat ${TMPFILE} >>${INSTALL_LOG} + +if [ -e /etc/xinetd.d ] && [ -d /etc/xinetd.d ] ; then + if [ ! -f /etc/xinetd.d/amandaserver ] ; then + cp %{AMANDAHOMEDIR}/example/xinetd.amandaserver /etc/xinetd.d/amandaserver + chmod 0644 /etc/xinetd.d/amandaserver >>${TMPFILE} 2>&1 + if [ -f /etc/xinetd.d/amandaclient ] ; then + rm /etc/xinetd.d/amandaclient + fi + echo -n "`date +'%b %e %Y %T'`: Reloading xinetd configuration..." >${TMPFILE} + if [ "%{xinetd_reload}" == "reload" ] ; then + /etc/init.d/xinetd %{xinetd_reload} >>${TMPFILE} 2>&1 + ret_val=$? + if [ ${ret_val} -ne 0 ] ; then + echo -n "reload failed. Attempting restart..." >>${TMPFILE} + /etc/init.d/xinetd restart >>${TMPFILE} 2>&1 + ret_val=$? + fi + else + /etc/init.d/xinetd %{xinetd_reload} >>${TMPFILE} 2>&1 + ret_val=$? + fi + if [ ${ret_val} -eq 0 ] ; then + echo "success." >>${TMPFILE} + cat ${TMPFILE} + cat ${TMPFILE} >>${INSTALL_LOG} + else + echo "failed. Please check your system logs." >>${TMPFILE} + cat ${TMPFILE} 1>&2 + cat ${TMPFILE} >>${INSTALL_ERR} + fi + fi +fi + +echo "`date +'%b %e %Y %T'`: Installing '%{LOCALSTATEDIR}/amanda/amandates'." >${TMPFILE} +ret_val=0 +if [ ! -f %{LOCALSTATEDIR}/amanda/amandates ] ; then + touch %{LOCALSTATEDIR}/amanda/amandates >>${TMPFILE} 2>&1 + ret_val=$? + if [ ${ret_val} -eq 0 ]; then + echo "`date +'%b %e %Y %T'`: The file '%{LOCALSTATEDIR}/amanda/amandates' has been created." >>${TMPFILE} + fi +fi +if [ ${ret_val} -eq 0 ]; then + echo "`date +'%b %e %Y %T'`: Ensuring correct permissions for '%{LOCALSTATEDIR}/amanda/amandates'." >>${TMPFILE} + chown %{amanda_user}:%{amanda_group} %{LOCALSTATEDIR}/amanda/amandates >>${TMPFILE} 2>&1 + chmod 0640 %{LOCALSTATEDIR}/amanda/amandates >>${TMPFILE} 2>&1 + if [ -x /sbin/restorecon ] ; then + /sbin/restorecon %{LOCALSTATEDIR}/amanda/amandates >>${TMPFILE} 2>&1 + fi +fi +if [ ${ret_val} -eq 0 ]; then + echo "`date +'%b %e %Y %T'`: '%{LOCALSTATEDIR}/amanda/amandates' Installation successful." >>${TMPFILE} + cat ${TMPFILE} + cat ${TMPFILE} >>${INSTALL_LOG} +else + echo "`date +'%b %e %Y %T'`: '%{LOCALSTATEDIR}/amanda/amandates' Installation failed." >>${TMPFILE} + cat ${TMPFILE} + cat ${TMPFILE} >>${INSTALL_ERR} +fi + + +# Install .gnupg directory +echo "`date +'%b %e %Y %T'`: Installing '%{AMANDAHOMEDIR}/.gnupg'." >${TMPFILE} +ret_val=0 +if [ ! -d %{AMANDAHOMEDIR}/.gnupg ] ; then + echo "`date +'%b %e %Y %T'`: '%{AMANDAHOMEDIR}/.gnupg' will be created." >>${TMPFILE} + mkdir %{AMANDAHOMEDIR}/.gnupg >>${TMPFILE} 2>&1 + ret_val=$? + if [ ${ret_val} -eq 0 ]; then + echo "`date +'%b %e %Y %T'`: The directory '%{AMANDAHOMEDIR}/.gnupg' created successfully." >>${TMPFILE} + else + echo "`date +'%b %e %Y %T'`: The directory '%{AMANDAHOMEDIR}/.gnupg' creation failed." >>${TMPFILE} + fi +fi +if [ ${ret_val} -eq 0 ]; then + echo "`date +'%b %e %Y %T'`: Ensuring correct permissions for '%{SYSCONFDIR}/.gnupg'." >>${TMPFILE} + chown %{amanda_user}:%{amanda_group} %{AMANDAHOMEDIR}/.gnupg >>${TMPFILE} 2>&1 + ret_val=$? + if [ ${ret_val} -eq 0 ]; then + chmod 700 %{AMANDAHOMEDIR}/.gnupg >>${TMPFILE} 2>&1 + ret_val=$? + fi +fi +if [ ${ret_val} -eq 0 ]; then + echo "`date +'%b %e %Y %T'`: '%{AMANDAHOMEDIR}/.gnupg' Installation successful." >>${TMPFILE} + cat ${TMPFILE} + cat ${TMPFILE} >>${INSTALL_LOG} +else + echo "`date +'%b %e %Y %T'`: '%{AMANDAHOMEDIR}/.gnupg' Installation failed." >>${TMPFILE} + cat ${TMPFILE} + cat ${TMPFILE} >>${INSTALL_ERR} +fi + +# Install .amandahosts +echo "`date +'%b %e %Y %T'`: Checking '%{AMANDAHOMEDIR}/.amandahosts' file." >${TMPFILE} +if [ ! -f %{AMANDAHOMEDIR}/.amandahosts ] ; then + touch %{AMANDAHOMEDIR}/.amandahosts >>${TMPFILE} 2>&1 +fi +for host in localhost localhost.localdomain ; do + if [ -z "`grep \"^${host}[[:blank:]]\+root[[:blank:]]\+amindexd[[:blank:]]\+amidxtaped\" %{AMANDAHOMEDIR}/.amandahosts`" ] ; then + echo "${host} root amindexd amidxtaped" >>%{AMANDAHOMEDIR}/.amandahosts + fi + if [ -z "`grep \"^${host}[[:blank:]]\+%{amanda_user}[[:blank:]]\+amdump\" %{AMANDAHOMEDIR}/.amandahosts`" ] ; then + echo "${host} %{amanda_user} amdump" >>%{AMANDAHOMEDIR}/.amandahosts + fi +done +chown %{amanda_user}:%{amanda_group} %{AMANDAHOMEDIR}/.amandahosts >>${TMPFILE} 2>&1 +chmod 0600 %{AMANDAHOMEDIR}/.amandahosts >>${TMPFILE} 2>&1 +cat ${TMPFILE} +cat ${TMPFILE} >>${INSTALL_LOG} + +# SSH RSA key generation for amdump +KEYDIR="%{AMANDAHOMEDIR}/.ssh" +KEYFILE="id_rsa_amdump" +COMMENT="%{amanda_user}@server" +if [ ! -d ${KEYDIR} ] ; then + if [ -f ${KEYDIR} ] ; then + echo "`date +'%b %e %Y %T'`: Directory '${KEYDIR}' exists as a file. Renaming to '${KEYDIR}.rpmsave'." >${TMPFILE} + mv ${KEYDIR} ${KEYDIR}.rpmsave + cat ${TMPFILE} + cat ${TMPFILE} >>${INSTALL_LOG} + fi + echo "`date +'%b %e %Y %T'`: Creating directory '${KEYDIR}'." >${TMPFILE} + mkdir ${KEYDIR} >>${TMPFILE} 2>&1 + cat ${TMPFILE} + cat ${TMPFILE} >>${INSTALL_LOG} +fi +if [ ! -f ${KEYDIR}/${KEYFILE} ] ; then + echo "`date +'%b %e %Y %T'`: Creating ssh RSA key in '${KEYDIR}/${KEYFILE}'" >${TMPFILE} + cat ${TMPFILE} + cat ${TMPFILE} >>${INSTALL_LOG} + ssh-keygen -q -C $COMMENT -t rsa -f ${KEYDIR}/${KEYFILE} -N '' >>${TMPFILE} 2>&1 + cat ${TMPFILE} + cat ${TMPFILE} >>${INSTALL_LOG} +fi +echo "`date +'%b %e %Y %T'`: Setting ownership and permissions for '${KEYDIR}' and '${KEYDIR}/${KEYFILE}*'" >${TMPFILE} +chown %{amanda_user}:%{amanda_group} ${KEYDIR} ${KEYDIR}/${KEYFILE}* >>${TMPFILE} 2>&1 +chmod 0750 ${KEYDIR} >>${TMPFILE} 2>&1 +chmod 0600 ${KEYDIR}/${KEYFILE}* >>${TMPFILE} 2>&1 +cat ${TMPFILE} +cat ${TMPFILE} >>${INSTALL_LOG} + +# SSH RSA key generation on client for amrecover +KEYDIR="%{AMANDAHOMEDIR}/.ssh" +KEYFILE="id_rsa_amrecover" +COMMENT="root@client" +if [ ! -d ${KEYDIR} ] ; then + if [ -f ${KEYDIR} ] ; then + echo "`date +'%b %e %Y %T'`: Directory '${KEYDIR}' exists as a file. Renaming to '${KEYDIR}.rpmsave'." >${TMPFILE} + mv ${KEYDIR} ${KEYDIR}.rpmsave >>${TMPFILE} 2>&1 + cat ${TMPFILE} + cat ${TMPFILE} >>${INSTALL_LOG} + fi + echo "`date +'%b %e %Y %T'`: Creating directory '${KEYDIR}'." >${TMPFILE} + mkdir ${KEYDIR} >>${TMPFILE} 2>&1 + cat ${TMPFILE} + cat ${TMPFILE} >>${INSTALL_LOG} +fi +if [ ! -f ${KEYDIR}/${KEYFILE} ] ; then + echo "`date +'%b %e %Y %T'`: Creating ssh RSA key in '${KEYDIR}/${KEYFILE}'" >${TMPFILE} + ssh-keygen -q -C $COMMENT -t rsa -f ${KEYDIR}/${KEYFILE} -N '' >>${TMPFILE} 2>&1 + cat ${TMPFILE} + cat ${TMPFILE} >>${INSTALL_LOG} +fi +echo "`date +'%b %e %Y %T'`: Setting permissions for '${KEYDIR}'" >${TMPFILE} +chown %{amanda_user}:%{amanda_group} ${KEYDIR} >>${TMPFILE} 2>&1 +chmod 0750 ${KEYDIR} >>${TMPFILE} 2>&1 +chmod 0600 ${KEYDIR}/${KEYFILE}* >>${TMPFILE} 2>&1 +cat ${TMPFILE} +cat ${TMPFILE} >>${INSTALL_LOG} + +# environment variables (~amandabackup/.profile) +echo "`date +'%b %e %Y %T'`: Checking for '%{AMANDAHOMEDIR}/.profile' and ensuring correct environment." >${TMPFILE} +if [ ! -f %{AMANDAHOMEDIR}/.profile ] ; then + touch %{AMANDAHOMEDIR}/.profile >>${TMPFILE} 2>&1 +fi +if [ -z "`grep PATH %{AMANDAHOMEDIR}/.profile | grep '%{SBINDIR}'`" ] ; then + echo "export PATH=\"\$PATH:%{SBINDIR}\"" >>%{AMANDAHOMEDIR}/.profile 2>>${TMPFILE} +fi +echo "`date +'%b %e %Y %T'`: Setting ownership and permissions for '%{AMANDAHOMEDIR}/.profile'" >>${TMPFILE} +chown %{amanda_user}:%{amanda_group} %{AMANDAHOMEDIR}/.profile >>${TMPFILE} 2>&1 +chmod 0640 %{AMANDAHOMEDIR}/.profile >>${TMPFILE} 2>&1 +cat ${TMPFILE} +cat ${TMPFILE} >>${INSTALL_LOG} + +echo "`date +'%b %e %Y %T'`: Sending anonymous distribution and version information to Zmanda" >> ${INSTALL_LOG} +if [ -x /usr/bin/wget ]; then + /usr/bin/wget -q -o /dev/null -O - --timeout=5 http://www.zmanda.com/amanda-tips.php\?version=%{amanda_version}\&os=%{disttag}%{distver}\&type=server +fi + +echo "`date +'%b %e %Y %T'`: === Amanda installation complete. ===" >${TMPFILE} + +cat ${TMPFILE} +cat ${TMPFILE} >>${INSTALL_LOG} +if [ -f "${TMPFILE}" ]; then + rm -f "${TMPFILE}" +fi + +echo "Amanda installation log can be found in '${INSTALL_LOG}' and errors (if any) in '${INSTALL_ERR}'." +%postun +/sbin/ldconfig +%pre backup_server +TMPFILE=`mktemp /tmp/rpm-amanda.XXXXXXXXXXX` +if [ $? -ne 0 ]; then + echo "Unable to mktemp!" 1>&2 + exit 1 +fi + +LOGDIR="%{LOGDIR}" +INSTALL_LOG="${LOGDIR}/install.log" +INSTALL_ERR="${LOGDIR}/install.err" + +echo "`date +'%b %e %Y %T'`: Preparing to install: %{amanda_version_info}" >${TMPFILE} + +# Check for the 'amanda' user +echo "`date +'%b %e %Y %T'`: Checking for '%{amanda_user}' user..." >>${TMPFILE} +if [ "`id -u %{amanda_user} > /dev/null 2>&1 && echo 0 || echo 1`" != "0" ] ; then + useradd -c "Amanda" -M -g %{amanda_group} -d %{AMANDAHOMEDIR} -s /bin/sh %{amanda_user} + if [ %{dist} = "SuSE" ]; then + PASSWD_EXIT=$? + else + # Lock the amanda account until admin sets password + passwd -l %{amanda_user} >>/dev/null + PASSWD_EXIT=$? + fi + if [ ${PASSWD_EXIT} -eq 0 ] ; then + echo "`date +'%b %e %Y %T'`:" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: The '%{amanda_user}; user account has been successfully created." >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: Furthermore, the account has been automatically locked for you" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: for security purposes. Once a password for the '%{amanda_user}'" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: account has been set, the user can be unlocked by issuing" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: the following command as root.:" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`:" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: # passwd -u %{amanda_user}" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`:" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: If this is not a new installation of Amanda and you have" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: pre-existing Amanda configurations in %{SYSCONFDIR}/amanda" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: you should ensure that 'dumpuser' is set to '%{amanda_user}'" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: in those configurations. Additionally, you should ensure" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: that %{AMANDAHOMEDIR}/.amandahosts on your client systems" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: is properly configured to allow connections for the user" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: '%{amanda_user}'." >>${TMPFILE} + echo "`date +'%b %e %Y %T'`:" >>${TMPFILE} + PASSWD_OK=0 + else + echo "`date +'%b %e %Y %T'`: !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! The '%{amanda_user}' user account for this system has been !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! created, however the user has no password set. For !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! security purposes this account is normally locked !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! after creation. Unfortunately, when locking this !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! account an error occurred. To ensure the security !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! of your system you should set a password for the !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! user account '%{amanda_user}' immediately! To set such a !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! password, please issue the following command.: !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! # passwd %{amanda_user} !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE} + PASSWD_OK=1 + fi +else + # log information about 'amanda' user parameters + echo "`date +'%b %e %Y %T'`:" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: The Amanda backup software is configured to operate as the" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: user '%{amanda_user}'. This user exists on your system and has not" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: been modified. To ensure that Amanda functions properly," >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: please see that the following parameters are set for that" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: user.:" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`:" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: SHELL: /bin/sh" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: HOME: %{AMANDAHOMEDIR}" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: Default group: %{amanda_group}" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: Verifying %{amanda_user} parameters :" >>${TMPFILE} + + if [ "`id -gn %{amanda_user}`" != "disk" ] ; then + echo "`date +'%b %e %Y %T'`: !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! user 'amandabackup' is not part of the disk group,Pl !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! make sure it is corrected before start using Amanda !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE} + else + echo "`date +'%b %e %Y %T'`: Verified group name of user 'amandabackup'" >>${TMPFILE} + fi + + if [ "`grep ^%{amanda_user} /etc/passwd|cut -d: -f7`" != "/bin/sh" ] ; then + echo "`date +'%b %e %Y %T'`: !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! user 'amandabackup' default shell should be set to !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! /bin/sh, pl correct before start using Amanda !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE} + else + echo "`date +'%b %e %Y %T'`: Verified Default shell for user 'amandabackup'" >>${TMPFILE} + fi + + if [ "`grep ^%{amanda_user} /etc/passwd|cut -d: -f6`" != "%{AMANDAHOMEDIR}" ] ; then + echo "`date +'%b %e %Y %T'`: !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! user 'amandabackup' home directory should be set to !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! %{AMANDAHOMEDIR} Pl correct before using Amanda !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE} + else + echo "`date +'%b %e %Y %T'`: Verified Default home directory for user amandabackup" >>${TMPFILE} + fi + echo "`date +'%b %e %Y %T'`:" >>${TMPFILE} + PASSWD_OK=0 +fi +if [ -d %{AMANDAHOMEDIR} ] ; then + echo -n "`date +'%b %e %Y %T'`: Checking ownership of '%{AMANDAHOMEDIR}'... " >>${TMPFILE} + if [ "`ls -dl %{AMANDAHOMEDIR} | awk '//{split($_,x); print x[3]}'`" = "%{amanda_user}" ] && \ + [ "`ls -dl %{AMANDAHOMEDIR} | awk '//{split($_,x); print x[4]}'`" = "%{amanda_group}" ] ; then + echo "correct." >>${TMPFILE} + VARLIB_OK=0 + else + echo "incorrect!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: Please ensure that the directory '%{AMANDAHOMEDIR}' is owned by" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: the user '%{amanda_user}' and group '%{amanda_group}'." >>${TMPFILE} + VARLIB_OK=1 + fi +else + VARLIB_OK=0 +fi +echo "`date +'%b %e %Y %T'`:" >>${TMPFILE} + +if [ ! -e ${LOGDIR} ] ; then + # create log directory + mkdir -m 0750 ${LOGDIR} >>${TMPFILE} 2>&1 + chown %{amanda_user}:%{amanda_group} ${LOGDIR} >>${TMPFILE} 2>&1 +elif [ ! -d ${LOGDIR} ] ; then + mv ${LOGDIR} ${LOGDIR}.rpmsave >>${TMPFILE} 2>&1 + mkdir -m 0750 ${LOGDIR} >>${TMPFILE} 2>&1 + chown %{amanda_user}:%{amanda_group} ${LOGDIR} >>${TMPFILE} 2>&1 + mv ${LOGDIR}.rpmsave ${LOGDIR}/ >>${TMPFILE} 2>&1 +fi +if [ ${PASSWD_OK} -eq 1 ] || [ ${VARLIB_OK} -eq 1 ] ; then + cat ${TMPFILE} + cat ${TMPFILE} >>${INSTALL_ERR} + echo "Please review '${INSTALL_ERR}' to correct errors which have prevented the Amanda installaton." >&2 + echo "Amanda installation log can be found in '${INSTALL_LOG}' and errors (if any) in '${INSTALL_ERR}'." + exit 1 +else + cat ${TMPFILE} + cat ${TMPFILE} >>${INSTALL_LOG} +fi + +echo "`date +'%b %e %Y %T'`: === Amanda backup server installation started. ===" >${TMPFILE} + +cat ${TMPFILE} +cat ${TMPFILE} >>${INSTALL_LOG} +if [ -f "${TMPFILE}" ]; then + rm -f "${TMPFILE}" +fi +%post backup_server +TMPFILE=`mktemp /tmp/rpm-amanda.XXXXXXXXXXX` +if [ $? -ne 0 ]; then + echo "Unable to mktemp!" 1>&2 + exit 1 +fi +LOGDIR="%{LOGDIR}" +INSTALL_LOG="${LOGDIR}/install.log" +INSTALL_ERR="${LOGDIR}/install.err" + +echo -n "`date +'%b %e %Y %T'`: Updating system library cache..." >${TMPFILE} +/sbin/ldconfig +echo "done." >>${TMPFILE} +cat ${TMPFILE} +cat ${TMPFILE} >>${INSTALL_LOG} + +if [ -e /etc/xinetd.d ] && [ -d /etc/xinetd.d ] ; then + if [ ! -f /etc/xinetd.d/amandaserver ] ; then + cp %{AMANDAHOMEDIR}/example/xinetd.amandaserver /etc/xinetd.d/amandaserver + chmod 0644 /etc/xinetd.d/amandaserver >>${TMPFILE} 2>&1 + if [ -f /etc/xinetd.d/amandaclient ] ; then + rm /etc/xinetd.d/amandaclient + fi + + echo -n "`date +'%b %e %Y %T'`: Reloading xinetd configuration..." >${TMPFILE} + if [ "%{xinetd_reload}" == "reload" ] ; then + /etc/init.d/xinetd %{xinetd_reload} >>${TMPFILE} 2>&1 + ret_val=$? + if [ ${ret_val} -ne 0 ] ; then + echo -n "reload failed. Attempting restart..." >>${TMPFILE} + /etc/init.d/xinetd restart >>${TMPFILE} 2>&1 + ret_val=$? + fi + else + /etc/init.d/xinetd %{xinetd_reload} >>${TMPFILE} 2>&1 + ret_val=$? + fi + if [ ${ret_val} -eq 0 ] ; then + echo "success." >>${TMPFILE} + cat ${TMPFILE} + cat ${TMPFILE} >>${INSTALL_LOG} + else + echo "failed. Please check your system logs." >>${TMPFILE} + cat ${TMPFILE} 1>&2 + cat ${TMPFILE} >>${INSTALL_ERR} + fi + fi +fi + +echo "`date +'%b %e %Y %T'`: Installing '%{LOCALSTATEDIR}/amanda/amandates'." >${TMPFILE} +ret_val=0 +if [ ! -f %{LOCALSTATEDIR}/amanda/amandates ] ; then + touch %{LOCALSTATEDIR}/amanda/amandates >>${TMPFILE} 2>&1 + ret_val=$? + if [ ${ret_val} -eq 0 ]; then + echo "`date +'%b %e %Y %T'`: The file '%{LOCALSTATEDIR}/amanda/amandates' has been created." >>${TMPFILE} + fi +fi +if [ ${ret_val} -eq 0 ]; then + echo "`date +'%b %e %Y %T'`: Ensuring correct permissions for '%{LOCALSTATEDIR}/amanda/amandates'." >>${TMPFILE} + chown %{amanda_user}:%{amanda_group} %{LOCALSTATEDIR}/amanda/amandates >>${TMPFILE} 2>&1 + chmod 0640 %{LOCALSTATEDIR}/amanda/amandates >>${TMPFILE} 2>&1 +fi +if [ ${ret_val} -eq 0 ]; then + echo "`date +'%b %e %Y %T'`: '%{LOCALSTATEDIR}/amanda/amandates' Installation successful." >>${TMPFILE} + cat ${TMPFILE} + cat ${TMPFILE} >>${INSTALL_LOG} +else + echo "`date +'%b %e %Y %T'`: '%{LOCALSTATEDIR}/amanda/amandates' Installation failed." >>${TMPFILE} + cat ${TMPFILE} + cat ${TMPFILE} >>${INSTALL_ERR} +fi + +# Install .amandahosts to server +echo "`date +'%b %e %Y %T'`: Checking '%{AMANDAHOMEDIR}/.amandahosts' file." >${TMPFILE} +if [ ! -f %{AMANDAHOMEDIR}/.amandahosts ] ; then + touch %{AMANDAHOMEDIR}/.amandahosts >>${TMPFILE} 2>&1 +fi +for host in localhost localhost.localdomain ; do + if [ -z "`grep \"^${host}[[:blank:]]\+root[[:blank:]]\+amindexd[[:blank:]]\+amidxtaped\" %{AMANDAHOMEDIR}/.amandahosts`" ] ; then + echo "${host} root amindexd amidxtaped" >>%{AMANDAHOMEDIR}/.amandahosts + fi + if [ -z "`grep \"^${host}[[:blank:]]\+%{amanda_user}[[:blank:]]\+amdump\" %{AMANDAHOMEDIR}/.amandahosts`" ] ; then + echo "${host} %{amanda_user} amdump" >>%{AMANDAHOMEDIR}/.amandahosts + fi +done +chown %{amanda_user}:%{amanda_group} %{AMANDAHOMEDIR}/.amandahosts >>${TMPFILE} 2>&1 +chmod 0600 %{AMANDAHOMEDIR}/.amandahosts >>${TMPFILE} 2>&1 +cat ${TMPFILE} +cat ${TMPFILE} >>${INSTALL_LOG} + +# Install amanda client configuration file +echo "`date +'%b %e %Y %T'`: Checking '%{SYSCONFDIR}/amanda/amanda-client.conf' file." >${TMPFILE} +if [ ! -f %{SYSCONFDIR}/amanda/amanda-client.conf ] ; then + cp %{AMANDAHOMEDIR}/example/amanda-client.conf %{SYSCONFDIR}/amanda/amanda-client.conf >>${TMPFILE} 2>&1 +fi +chown %{amanda_user}:%{amanda_group} %{SYSCONFDIR}/amanda/amanda-client.conf >>${TMPFILE} 2>&1 +chmod 0600 %{SYSCONFDIR}/amanda/amanda-client.conf >>${TMPFILE} 2>&1 +cat ${TMPFILE} +cat ${TMPFILE} >>${INSTALL_LOG} + +# install am_passphrase file to server +echo "`date +'%b %e %Y %T'`: Checking '%{AMANDAHOMEDIR}/.am_passphrase' file." >${TMPFILE} +if [ ! -f %{AMANDAHOMEDIR}/.am_passphrase ] ; then + echo "`date +'%b %e %Y %T'`: Create '%{AMANDAHOMEDIR}/.am_passphrase' file." >${TMPFILE} + touch %{AMANDAHOMEDIR}/.am_passphrase >>${TMPFILE} 2>&1 + phrase=`echo "amandabackup" | md5sum | awk '{print $1}'` + echo ${phrase} >>%{AMANDAHOMEDIR}/.am_passphrase + + chown %{amanda_user}:%{amanda_group} %{AMANDAHOMEDIR}/.am_passphrase >>${TMPFILE} 2>&1 + chmod 0700 %{AMANDAHOMEDIR}/.am_passphrase >>${TMPFILE} 2>&1 +fi +cat ${TMPFILE} +cat ${TMPFILE} >>${INSTALL_LOG} + +# Install .gnupg directory +echo "`date +'%b %e %Y %T'`: Installing '%{AMANDAHOMEDIR}/.gnupg'." >${TMPFILE} +ret_val=0 +if [ ! -d %{AMANDAHOMEDIR}/.gnupg ] ; then + echo "`date +'%b %e %Y %T'`: '%{AMANDAHOMEDIR}/.gnupg' will be created." >>${TMPFILE} + mkdir %{AMANDAHOMEDIR}/.gnupg >>${TMPFILE} 2>&1 + ret_val=$? + if [ ${ret_val} -eq 0 ]; then + echo "`date +'%b %e %Y %T'`: The directory '%{AMANDAHOMEDIR}/.gnupg' created successfully." >>${TMPFILE} + else + echo "`date +'%b %e %Y %T'`: The directory '%{AMANDAHOMEDIR}/.gnupg' creation failed." >>${TMPFILE} + fi +fi +if [ ${ret_val} -eq 0 ]; then + echo "`date +'%b %e %Y %T'`: Ensuring correct permissions for '%{SYSCONFDIR}/.gnupg'." >>${TMPFILE} + chown %{amanda_user}:%{amanda_group} %{AMANDAHOMEDIR}/.gnupg >>${TMPFILE} 2>&1 + ret_val=$? + if [ ${ret_val} -eq 0 ]; then + chmod 700 %{AMANDAHOMEDIR}/.gnupg >>${TMPFILE} 2>&1 + ret_val=$? + fi +fi +if [ ${ret_val} -eq 0 ]; then + echo "`date +'%b %e %Y %T'`: '%{AMANDAHOMEDIR}/.gnupg' Installation successful." >>${TMPFILE} + cat ${TMPFILE} + cat ${TMPFILE} >>${INSTALL_LOG} +else + echo "`date +'%b %e %Y %T'`: '%{AMANDAHOMEDIR}/.gnupg' Installation failed." >>${TMPFILE} + cat ${TMPFILE} + cat ${TMPFILE} >>${INSTALL_ERR} +fi + +# SSH RSA key generation on server for amdump +KEYDIR="%{AMANDAHOMEDIR}/.ssh" +KEYFILE="id_rsa_amdump" +COMMENT="%{amanda_user}@server" +if [ ! -d ${KEYDIR} ] ; then + if [ -f ${KEYDIR} ] ; then + echo "`date +'%b %e %Y %T'`: Directory '${KEYDIR}' exists as a file. Renaming to '${KEYDIR}.rpmsave'." >${TMPFILE} + mv ${KEYDIR} ${KEYDIR}.rpmsave >>${TMPFILE} 2>&1 + cat ${TMPFILE} + cat ${TMPFILE} >>${INSTALL_LOG} + fi + echo "`date +'%b %e %Y %T'`: Creating directory '${KEYDIR}'." >${TMPFILE} + mkdir ${KEYDIR} >>${TMPFILE} 2>&1 + cat ${TMPFILE} + cat ${TMPFILE} >>${INSTALL_LOG} +fi +if [ ! -f ${KEYDIR}/${KEYFILE} ] ; then + echo "`date +'%b %e %Y %T'`: Creating ssh RSA key in '${KEYDIR}/${KEYFILE}'" >${TMPFILE} + ssh-keygen -q -C $COMMENT -t rsa -f ${KEYDIR}/${KEYFILE} -N '' >>${TMPFILE} 2>&1 + cat ${TMPFILE} + cat ${TMPFILE} >>${INSTALL_LOG} +fi +echo "`date +'%b %e %Y %T'`: Setting ownership and permissions for '${KEYDIR}' and '${KEYDIR}/${KEYFILE}*'" >${TMPFILE} +chown %{amanda_user}:%{amanda_group} ${KEYDIR} ${KEYDIR}/${KEYFILE}* >>${TMPFILE} 2>&1 +chmod 0750 ${KEYDIR} >>${TMPFILE} 2>&1 +chmod 0600 ${KEYDIR}/${KEYFILE}* >>${TMPFILE} 2>&1 +cat ${TMPFILE} +cat ${TMPFILE} >>${INSTALL_LOG} + +# SSH RSA key generation on client for amrecover +KEYDIR="%{AMANDAHOMEDIR}/.ssh" +KEYFILE="id_rsa_amrecover" +COMMENT="root@client" +if [ ! -d ${KEYDIR} ] ; then + if [ -f ${KEYDIR} ] ; then + echo "`date +'%b %e %Y %T'`: Directory '${KEYDIR}' exists as a file. Renaming to '${KEYDIR}.rpmsave'." >${TMPFILE} + mv ${KEYDIR} ${KEYDIR}.rpmsave >>${TMPFILE} 2>&1 + cat ${TMPFILE} + cat ${TMPFILE} >>${INSTALL_LOG} + fi + echo "`date +'%b %e %Y %T'`: Creating directory '${KEYDIR}'." >${TMPFILE} + mkdir ${KEYDIR} >>${TMPFILE} 2>&1 + cat ${TMPFILE} + cat ${TMPFILE} >>${INSTALL_LOG} +fi +if [ ! -f ${KEYDIR}/${KEYFILE} ] ; then + echo "`date +'%b %e %Y %T'`: Creating ssh RSA key in '${KEYDIR}/${KEYFILE}'" >${TMPFILE} + ssh-keygen -q -C $COMMENT -t rsa -f ${KEYDIR}/${KEYFILE} -N '' >>${TMPFILE} 2>&1 + cat ${TMPFILE} + cat ${TMPFILE} >>${INSTALL_LOG} +fi +echo "`date +'%b %e %Y %T'`: Setting ownership and permissions for '${KEYDIR}'" >${TMPFILE} +chown %{amanda_user}:%{amanda_group} ${KEYDIR} >>${TMPFILE} 2>&1 +chmod 0750 ${KEYDIR} >>${TMPFILE} 2>&1 +chmod 0600 ${KEYDIR}/${KEYFILE}* >>${TMPFILE} 2>&1 +cat ${TMPFILE} +cat ${TMPFILE} >>${INSTALL_LOG} + +# environment variables (~amandabackup/.profile) +echo "`date +'%b %e %Y %T'`: Checking for '%{AMANDAHOMEDIR}/.profile' and ensuring correct environment." >${TMPFILE} +if [ ! -f %{AMANDAHOMEDIR}/.profile ] ; then + touch %{AMANDAHOMEDIR}/.profile >>${TMPFILE} 2>&1 +fi +if [ -z "`grep PATH %{AMANDAHOMEDIR}/.profile | grep '%{SBINDIR}'`" ] ; then + echo "export PATH=\"\$PATH:%{SBINDIR}\"" >>%{AMANDAHOMEDIR}/.profile 2>>${TMPFILE} +fi +cat ${TMPFILE} +cat ${TMPFILE} >>${INSTALL_LOG} + +echo "`date +'%b %e %Y %T'`: Setting ownership and permissions for '%{AMANDAHOMEDIR}/.profile'" >${TMPFILE} +chown %{amanda_user}:%{amanda_group} %{AMANDAHOMEDIR}/.profile >>${TMPFILE} 2>&1 +chmod 0640 %{AMANDAHOMEDIR}/.profile >>${TMPFILE} 2>&1 +cat ${TMPFILE} +cat ${TMPFILE} >>${INSTALL_LOG} + +echo "`date +'%b %e %Y %T'`: Sending anonymous distribution and version information to Zmanda" >> ${INSTALL_LOG} +if [ -x /usr/bin/wget ]; then + /usr/bin/wget -q -o /dev/null -O - --timeout=5 http://www.zmanda.com/amanda-tips.php\?version=%{amanda_version}\&os=%{disttag}%{distver}\&type=server +fi + +echo "`date +'%b %e %Y %T'`: === Amanda backup server installation complete. ===" >${TMPFILE} + +cat ${TMPFILE} +cat ${TMPFILE} >>${INSTALL_LOG} + +if [ -f "${TMPFILE}" ]; then + rm -f "${TMPFILE}" >>${TMPFILE} 2>&1 +fi + +echo "Amanda installation log can be found in '${INSTALL_LOG}' and errors (if any) in '${INSTALL_ERR}'." +%postun backup_server +/sbin/ldconfig +%pre backup_client +TMPFILE=`mktemp /tmp/rpm-amanda.XXXXXXXXXXX` +if [ $? -ne 0 ]; then + echo "Unable to mktemp!" 1>&2 + exit 1 +fi +LOGDIR="%{LOGDIR}" +INSTALL_LOG="${LOGDIR}/install.log" +INSTALL_ERR="${LOGDIR}/install.err" + +echo "`date +'%b %e %Y %T'`: Preparing to install: %{amanda_version_info}" >${TMPFILE} + +# Check for the 'amanda' user +echo "`date +'%b %e %Y %T'`: Checking for '%{amanda_user}' user..." >>${TMPFILE} +if [ "`id -u %{amanda_user} > /dev/null 2>&1 && echo 0 || echo 1`" != "0" ] ; then + useradd -c "Amanda" -M -g %{amanda_group} -d %{AMANDAHOMEDIR} -s /bin/sh %{amanda_user} >>${TMPFILE} 2>&1 + if [ %{dist} = "SuSE" ]; then + PASSWD_EXIT=$? + else + # Lock the amanda account until admin sets password + passwd -l %{amanda_user} >>/dev/null + PASSWD_EXIT=$? + fi + if [ ${PASSWD_EXIT} -eq 0 ] ; then + echo "`date +'%b %e %Y %T'`:" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: The '%{amanda_user}; user account has been successfully created." >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: Furthermore, the account has been automatically locked for you" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: for security purposes. Once a password for the '%{amanda_user}'" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: account has been set, the user can be unlocked by issuing" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: the following command as root.:" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`:" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: # passwd -u %{amanda_user}" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`:" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: If this is not a new installation of Amanda and you have" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: pre-existing Amanda configurations in %{SYSCONFDIR}/amanda" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: you should ensure that 'dumpuser' is set to '%{amanda_user}'" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: in those configurations. Additionally, you should ensure" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: that %{AMANDAHOMEDIR}/.amandahosts on your client systems" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: is properly configured to allow connections for the user" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: '%{amanda_user}'." >>${TMPFILE} + echo "`date +'%b %e %Y %T'`:" >>${TMPFILE} + PASSWD_OK=0 + else + echo "`date +'%b %e %Y %T'`: !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! The '%{amanda_user}' user account for this system has been !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! created, however the user has no password set. For !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! security purposes this account is normally locked !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! after creation. Unfortunately, when locking this !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! account an error occurred. To ensure the security !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! of your system you should set a password for the !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! user account '%{amanda_user}' immediately! To set such a !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! password, please issue the following command.: !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! # passwd %{amanda_user} !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE} + PASSWD_OK=1 + fi +else + # log information about 'amanda' user parameters + echo "`date +'%b %e %Y %T'`:" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: The Amanda backup software is configured to operate as the" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: user '%{amanda_user}'. This user exists on your system and has not" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: been modified. To ensure that Amanda functions properly," >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: please see that the following parameters are set for that" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: user.:" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`:" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: SHELL: /bin/sh" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: HOME: %{AMANDAHOMEDIR}" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: Default group: %{amanda_group}" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: Verifying %{amanda_user} parameters :" >>${TMPFILE} + + if [ "`id -gn %{amanda_user}`" != "disk" ] ; then + echo "`date +'%b %e %Y %T'`: !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! user 'amandabackup' is not part of the disk group,Pl !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! make sure it is corrected before start using Amanda !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE} + else + echo "`date +'%b %e %Y %T'`: Verified group name of user 'amandabackup'" >>${TMPFILE} + fi + + if [ "`grep ^%{amanda_user} /etc/passwd|cut -d: -f7`" != "/bin/sh" ] ; then + echo "`date +'%b %e %Y %T'`: !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! user 'amandabackup' default shell should be set to !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! /bin/sh, pl correct before start using Amanda !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE} + else + echo "`date +'%b %e %Y %T'`: Verified Default shell for user 'amandabackup'" >>${TMPFILE} + fi + + if [ "`grep ^%{amanda_user} /etc/passwd|cut -d: -f6`" != "%{AMANDAHOMEDIR}" ] ; then + echo "`date +'%b %e %Y %T'`: !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! user 'amandabackup' home directory should be set to !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! %{AMANDAHOMEDIR} Pl correct before using Amanda !!!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE} + else + echo "`date +'%b %e %Y %T'`: Verified Default home directory for user amandabackup" >>${TMPFILE} + fi + echo "`date +'%b %e %Y %T'`:" >>${TMPFILE} + PASSWD_OK=0 +fi +if [ -d %{AMANDAHOMEDIR} ] ; then + echo -n "`date +'%b %e %Y %T'`: Checking ownership of '%{AMANDAHOMEDIR}'... " >>${TMPFILE} + if [ "`ls -dl %{AMANDAHOMEDIR} | awk '//{split($_,x); print x[3]}'`" = "%{amanda_user}" ] && \ + [ "`ls -dl %{AMANDAHOMEDIR} | awk '//{split($_,x); print x[4]}'`" = "%{amanda_group}" ] ; then + echo "correct." >>${TMPFILE} + VARLIB_OK=0 + else + echo "incorrect!" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: Please ensure that the directory '%{AMANDAHOMEDIR}' is owned by" >>${TMPFILE} + echo "`date +'%b %e %Y %T'`: the user '%{amanda_user}' and group '%{amanda_group}'." >>${TMPFILE} + VARLIB_OK=1 + fi +else + VARLIB_OK=0 +fi +echo "`date +'%b %e %Y %T'`:" >>${TMPFILE} + +if [ ! -e ${LOGDIR} ] ; then + # create log directory + mkdir -m 0750 ${LOGDIR} >>${TMPFILE} 2>&1 + chown %{amanda_user}:%{amanda_group} ${LOGDIR} >>${TMPFILE} 2>&1 +elif [ ! -d ${LOGDIR} ] ; then + mv ${LOGDIR} ${LOGDIR}.rpmsave >>${TMPFILE} 2>&1 + mkdir -m 0750 ${LOGDIR} >>${TMPFILE} 2>&1 + chown %{amanda_user}:%{amanda_group} ${LOGDIR} >>${TMPFILE} 2>&1 + mv ${LOGDIR}.rpmsave ${LOGDIR}/ >>${TMPFILE} 2>&1 +fi +if [ ${PASSWD_OK} -eq 1 ] || [ ${VARLIB_OK} -eq 1 ] ; then + cat ${TMPFILE} + cat ${TMPFILE} >>${INSTALL_ERR} + echo "Please review '${INSTALL_ERR}' to correct errors which have prevented the Amanda installaton." >&2 + echo "Amanda installation log can be found in '${INSTALL_LOG}' and errors (if any) in '${INSTALL_ERR}'." + exit 1 +else + cat ${TMPFILE} + cat ${TMPFILE} >>${INSTALL_LOG} +fi + +echo "`date +'%b %e %Y %T'`: === Amanda backup client installation started. ===" >${TMPFILE} + +cat ${TMPFILE} +cat ${TMPFILE} >>${INSTALL_LOG} + +if [ -f "${TMPFILE}" ]; then + rm -f "${TMPFILE}" +fi + +%post backup_client +TMPFILE=`mktemp /tmp/rpm-amanda.XXXXXXXXXXX` +if [ $? -ne 0 ]; then + echo "Unable to mktemp!" 1>&2 + exit 1 +fi +LOGDIR="%{LOGDIR}" +INSTALL_LOG="${LOGDIR}/install.log" +INSTALL_ERR="${LOGDIR}/install.err" + +echo -n "`date +'%b %e %Y %T'`: Updating system library cache..." >${TMPFILE} +/sbin/ldconfig +echo "done." >>${TMPFILE} +cat ${TMPFILE} +cat ${TMPFILE} >>${INSTALL_LOG} + +if [ -e /etc/xinetd.d ] && [ -d /etc/xinetd.d ] ; then + if [ ! -f /etc/xinetd.d/amandaclient ] ; then + cp %{AMANDAHOMEDIR}/example/xinetd.amandaclient /etc/xinetd.d/amandaclient + + echo -n "`date +'%b %e %Y %T'`: Reloading xinetd configuration..." >${TMPFILE} + if [ "%{xinetd_reload}" == "reload" ] ; then + /etc/init.d/xinetd %{xinetd_reload} >>${TMPFILE} 2>&1 + ret_val=$? + if [ ${ret_val} -ne 0 ] ; then + echo -n "reload failed. Attempting restart..." >>${TMPFILE} + /etc/init.d/xinetd restart >>${TMPFILE} 2>&1 + ret_val=$? + fi + else + /etc/init.d/xinetd %{xinetd_reload} >>${TMPFILE} 2>&1 + ret_val=$? + fi + if [ ${ret_val} -eq 0 ] ; then + echo "success." >>${TMPFILE} + cat ${TMPFILE} + cat ${TMPFILE} >>${INSTALL_LOG} + else + echo "failed. Please check your system logs." >>${TMPFILE} + cat ${TMPFILE} + cat ${TMPFILE} >>${INSTALL_LOG} + fi + fi +fi + +echo "`date +'%b %e %Y %T'`: Installing '%{LOCALSTATEDIR}/amanda/amandates'." >${TMPFILE} +ret_val=0 +if [ ! -f %{LOCALSTATEDIR}/amanda/amandates ] ; then + touch %{LOCALSTATEDIR}/amanda/amandates >>${TMPFILE} 2>&1 + ret_val=$? + if [ ${ret_val} -eq 0 ]; then + echo "`date +'%b %e %Y %T'`: The file '%{LOCALSTATEDIR}/amanda/amandates' has been created." >>${TMPFILE} + fi +fi +if [ ${ret_val} -eq 0 ]; then + echo "`date +'%b %e %Y %T'`: Ensuring correct permissions for '%{LOCALSTATEDIR}/amanda/amandates'." >>${TMPFILE} + chown %{amanda_user}:%{amanda_group} %{LOCALSTATEDIR}/amanda/amandates >>${TMPFILE} 2>&1 + chmod 0640 %{LOCALSTATEDIR}/amanda/amandates >>${TMPFILE} 2>&1 +fi +if [ ${ret_val} -eq 0 ]; then + echo "`date +'%b %e %Y %T'`: '%{LOCALSTATEDIR}/amanda/amandates' Installation successful." >>${TMPFILE} + cat ${TMPFILE} + cat ${TMPFILE} >>${INSTALL_LOG} +else + echo "`date +'%b %e %Y %T'`: '%{LOCALSTATEDIR}/amanda/amandates' Installation failed." >>${TMPFILE} + cat ${TMPFILE} + cat ${TMPFILE} >>${INSTALL_ERR} +fi + +# Install .amandahosts to client +echo "`date +'%b %e %Y %T'`: Checking '%{AMANDAHOMEDIR}/.amandahosts' file." >${TMPFILE} +if [ ! -f %{AMANDAHOMEDIR}/.amandahosts ] ; then + touch %{AMANDAHOMEDIR}/.amandahosts >>${TMPFILE} 2>&1 +fi +for host in localhost localhost.localdomain ; do + if [ -z "`grep \"^${host}[[:blank:]]\+\" %{AMANDAHOMEDIR}/.amandahosts | grep \"[[:blank:]]\+%{amanda_user}[[:blank:]]\+amdump\"`" ] ; then + echo "${host} %{amanda_user} amdump" >>%{AMANDAHOMEDIR}/.amandahosts + fi +done +chown %{amanda_user}:%{amanda_group} %{AMANDAHOMEDIR}/.amandahosts >>${TMPFILE} 2>&1 +chmod 0600 %{AMANDAHOMEDIR}/.amandahosts >>${TMPFILE} 2>&1 +cat ${TMPFILE} +cat ${TMPFILE} >>${INSTALL_LOG} + +# Install amanda client configuration file +echo "`date +'%b %e %Y %T'`: Checking '%{SYSCONFDIR}/amanda/amanda-client.conf' file." >${TMPFILE} +if [ ! -f %{SYSCONFDIR}/amanda/amanda-client.conf ] ; then + cp %{AMANDAHOMEDIR}/example/amanda-client.conf %{SYSCONFDIR}/amanda/amanda-client.conf >>${TMPFILE} 2>&1 +fi +chown %{amanda_user}:%{amanda_group} %{SYSCONFDIR}/amanda/amanda-client.conf >>${TMPFILE} 2>&1 +chmod 0600 %{SYSCONFDIR}/amanda/amanda-client.conf >>${TMPFILE} 2>&1 +cat ${TMPFILE} +cat ${TMPFILE} >>${INSTALL_LOG} + +# Install .gnupg directory +echo "`date +'%b %e %Y %T'`: Installing '%{AMANDAHOMEDIR}/.gnupg'." >${TMPFILE} +ret_val=0 +if [ ! -d %{AMANDAHOMEDIR}/.gnupg ] ; then + echo "`date +'%b %e %Y %T'`: '%{AMANDAHOMEDIR}/.gnupg' will be created." >>${TMPFILE} + mkdir %{AMANDAHOMEDIR}/.gnupg >>${TMPFILE} 2>&1 + ret_val=$? + if [ ${ret_val} -eq 0 ]; then + echo "`date +'%b %e %Y %T'`: The directory '%{AMANDAHOMEDIR}/.gnupg' created successfully." >>${TMPFILE} + else + echo "`date +'%b %e %Y %T'`: The directory '%{AMANDAHOMEDIR}/.gnupg' creation failed." >>${TMPFILE} + fi +fi +if [ ${ret_val} -eq 0 ]; then + echo "`date +'%b %e %Y %T'`: Ensuring correct permissions for '%{SYSCONFDIR}/.gnupg'." >>${TMPFILE} + chown %{amanda_user}:%{amanda_group} %{AMANDAHOMEDIR}/.gnupg >>${TMPFILE} 2>&1 + ret_val=$? + if [ ${ret_val} -eq 0 ]; then + chmod 700 %{AMANDAHOMEDIR}/.gnupg >>${TMPFILE} 2>&1 + ret_val=$? + fi +fi +if [ ${ret_val} -eq 0 ]; then + echo "`date +'%b %e %Y %T'`: '%{AMANDAHOMEDIR}/.gnupg' Installation successful." >>${TMPFILE} + cat ${TMPFILE} + cat ${TMPFILE} >>${INSTALL_LOG} +else + echo "`date +'%b %e %Y %T'`: '%{AMANDAHOMEDIR}/.gnupg' Installation failed." >>${TMPFILE} + cat ${TMPFILE} + cat ${TMPFILE} >>${INSTALL_ERR} +fi + +# SSH RSA key generation on client for amrecover +KEYDIR="%{AMANDAHOMEDIR}/.ssh" +KEYFILE="id_rsa_amrecover" +COMMENT="root@client" +if [ ! -d ${KEYDIR} ] ; then + if [ -f ${KEYDIR} ] ; then + echo "`date +'%b %e %Y %T'`: Directory '${KEYDIR}' exists as a file. Renaming to '${KEYDIR}.rpmsave'." >${TMPFILE} + mv ${KEYDIR} ${KEYDIR}.rpmsave >>${TMPFILE} 2>&1 + cat ${TMPFILE} + cat ${TMPFILE} >>${INSTALL_LOG} + fi + echo "`date +'%b %e %Y %T'`: Creating directory '${KEYDIR}'." >${TMPFILE} + mkdir ${KEYDIR} >>${TMPFILE} 2>&1 + cat ${TMPFILE} + cat ${TMPFILE} >>${INSTALL_LOG} +fi +if [ ! -f ${KEYDIR}/${KEYFILE} ] ; then + echo "`date +'%b %e %Y %T'`: Creating ssh RSA key in '${KEYDIR}/${KEYFILE}'" >${TMPFILE} + ssh-keygen -q -C $COMMENT -t rsa -f ${KEYDIR}/${KEYFILE} -N '' >>${TMPFILE} 2>&1 + cat ${TMPFILE} + cat ${TMPFILE} >>${INSTALL_LOG} +fi +echo "`date +'%b %e %Y %T'`: Setting permissions for '${KEYDIR}' and '${KEYDIR}/${KEYFILE}*'" >${TMPFILE} +chown %{amanda_user}:%{amanda_group} ${KEYDIR} >>${TMPFILE} 2>&1 +chmod 0750 ${KEYDIR} >>${TMPFILE} 2>&1 +chmod 0600 ${KEYDIR}/${KEYFILE}* >>${TMPFILE} 2>&1 +cat ${TMPFILE} +cat ${TMPFILE} >>${INSTALL_LOG} + +# environment variables (~amandabackup/.profile) +echo "`date +'%b %e %Y %T'`: Checking for '%{AMANDAHOMEDIR}/.profile' and ensuring correct environment." >${TMPFILE} +if [ ! -f %{AMANDAHOMEDIR}/.profile ] ; then + touch %{AMANDAHOMEDIR}/.profile >>${TMPFILE} 2>&1 +fi +if [ -z "`grep PATH %{AMANDAHOMEDIR}/.profile | grep '%{SBINDIR}'`" ] ; then + echo "export PATH=\"\$PATH:%{SBINDIR}\"" >>%{AMANDAHOMEDIR}/.profile 2>>${TMPFILE} +fi +cat ${TMPFILE} +cat ${TMPFILE} >>${INSTALL_LOG} +echo "`date +'%b %e %Y %T'`: Setting ownership and permissions for '%{AMANDAHOMEDIR}/.profile'" >${TMPFILE} +chown %{amanda_user}:%{amanda_group} %{AMANDAHOMEDIR}/.profile >>${TMPFILE} 2>&1 +chmod 0640 %{AMANDAHOMEDIR}/.profile >>${TMPFILE} 2>&1 +cat ${TMPFILE} +cat ${TMPFILE} >>${INSTALL_LOG} + +echo "`date +'%b %e %Y %T'`: Sending anonymous distribution and version information to Zmanda" >> ${INSTALL_LOG} +if [ -x /usr/bin/wget ]; then + /usr/bin/wget -q -o /dev/null -O - --timeout=5 http://www.zmanda.com/amanda-tips.php\?version=%{amanda_version}\&os=%{disttag}%{distver}\&type=client +fi + +echo "`date +'%b %e %Y %T'`: === Amanda backup client installation complete. ===" >>${TMPFILE} +cat ${TMPFILE} +cat ${TMPFILE} >>${INSTALL_LOG} + +if [ -f "${TMPFILE}" ]; then + rm -f "${TMPFILE}" +fi + +echo "Amanda installation log can be found in '${INSTALL_LOG}' and errors (if any) in '${INSTALL_ERR}'." +%postun backup_client +/sbin/ldconfig + +# --- Files to install --- + +%files backup_client +%defattr(0755,%{amanda_user},%{amanda_group}) +%{SYSCONFDIR}/amanda +%{AMANDAHOMEDIR} +%{AMLIBEXECDIR} +%{AMLIBDIR} +%{AMLIBEXECDIR}/amanda-sh-lib.sh +%{LOCALSTATEDIR}/amanda +%defattr(4750,root,disk) +%{AMLIBEXECDIR}/calcsize +%{AMLIBEXECDIR}/killpgrp +%{AMLIBEXECDIR}/rundump +%{AMLIBEXECDIR}/runtar +%defattr(0750,%{amanda_user},%{amanda_group}) +%{LOGDIR} +%{SBINDIR}/amaespipe +%{SBINDIR}/amcryp* +%{SBINDIR}/amgpgcrypt +%{SBINDIR}/amoldrecover +%{SBINDIR}/amrecover +%defattr(0644,%{amanda_user},%{amanda_group}) +%docdir %{MANDIR} +%{MANDIR}/man5/amanda.conf.5.gz +%{MANDIR}/man5/amanda-client.conf.5.gz +%{MANDIR}/man8/amanda.8.gz +%{MANDIR}/man8/amcheckdump.8.gz +%{MANDIR}/man8/amrecover.8.gz +%{AMLIBEXECDIR}/amcat.awk +%{AMANDAHOMEDIR}/amanda-release +%{AMANDAHOMEDIR}/example/xinetd.amandaclient +%{AMANDAHOMEDIR}/example/amanda-client.conf + +%files backup_server +%defattr(0755,%{amanda_user},%{amanda_group}) +%{SYSCONFDIR}/amanda +%{AMLIBEXECDIR} +%{AMLIBDIR} +%{PERLSITELIB}/Amanda +%{PERLSITELIB}/auto/Amanda +%{AMANDAHOMEDIR} +%{LOCALSTATEDIR}/amanda +%{SBINDIR}/amaddclient +%{SBINDIR}/amadmin +%{SBINDIR}/amcheckdb +%{SBINDIR}/amcheckdump +%{SBINDIR}/amcleanup +%{SBINDIR}/amdd +%{SBINDIR}/amdevcheck +%{SBINDIR}/amdump +%{SBINDIR}/amfetchdump +%{SBINDIR}/amflush +%{SBINDIR}/amgetconf +%{SBINDIR}/amlabel +%{SBINDIR}/ammt +%{SBINDIR}/amoverview +%{SBINDIR}/amplot +%{SBINDIR}/amreport +%{SBINDIR}/amrestore +%{SBINDIR}/amrmtape +%{SBINDIR}/amserverconfig +%{SBINDIR}/amstatus +%{SBINDIR}/amtape +%{SBINDIR}/amtapetype +%{SBINDIR}/amtoc +%{SBINDIR}/amverify +%{SBINDIR}/amverifyrun +%{AMLIBEXECDIR}/amanda-sh-lib.sh +%defattr(4750,root,disk) +%{AMLIBEXECDIR}/calcsize +%{AMLIBEXECDIR}/killpgrp +%{AMLIBEXECDIR}/rundump +%{AMLIBEXECDIR}/runtar +%{AMLIBEXECDIR}/dumper +%{AMLIBEXECDIR}/planner +%{SBINDIR}/amcheck +%defattr(0750,%{amanda_user},%{amanda_group}) +%{LOGDIR} +%{SBINDIR}/amaespipe +%{SBINDIR}/amcrypt +%{SBINDIR}/amcrypt-ossl +%{SBINDIR}/amcrypt-ossl-asym +%{SBINDIR}/amcryptsimple +%{SBINDIR}/amgpgcrypt +%{SBINDIR}/amoldrecover +%{SBINDIR}/amrecover +%defattr(0644,%{amanda_user},%{amanda_group}) +%{AMLIBEXECDIR}/amcat.awk +%{AMLIBEXECDIR}/amplot.awk +%{AMLIBEXECDIR}/amplot.g +%{AMLIBEXECDIR}/amplot.gp +%docdir %{MANDIR} +%{MANDIR}/man5/amanda.conf.5.gz +%{MANDIR}/man5/amanda-client.conf.5.gz +%{MANDIR}/man8/amaddclient.8.gz +%{MANDIR}/man8/amadmin.8.gz +%{MANDIR}/man8/amanda.8.gz +%{MANDIR}/man8/amcheck.8.gz +%{MANDIR}/man8/amcheckdb.8.gz +%{MANDIR}/man8/amcheckdump.8.gz +%{MANDIR}/man8/amcleanup.8.gz +%{MANDIR}/man8/amdd.8.gz +%{MANDIR}/man8/amdump.8.gz +%{MANDIR}/man8/amfetchdump.8.gz +%{MANDIR}/man8/amflush.8.gz +%{MANDIR}/man8/amgetconf.8.gz +%{MANDIR}/man8/amlabel.8.gz +%{MANDIR}/man8/ammt.8.gz +%{MANDIR}/man8/amoverview.8.gz +%{MANDIR}/man8/amplot.8.gz +%{MANDIR}/man8/amrecover.8.gz +%{MANDIR}/man8/amreport.8.gz +%{MANDIR}/man8/amrestore.8.gz +%{MANDIR}/man8/amrmtape.8.gz +%{MANDIR}/man8/amserverconfig.8.gz +%{MANDIR}/man8/amstatus.8.gz +%{MANDIR}/man8/amtape.8.gz +%{MANDIR}/man8/amtapetype.8.gz +%{MANDIR}/man8/amtoc.8.gz +%{MANDIR}/man8/amverify.8.gz +%{MANDIR}/man8/amverifyrun.8.gz +%{MANDIR}/man8/amcrypt.8.gz +%{MANDIR}/man8/amcrypt-ossl.8.gz +%{MANDIR}/man8/amcrypt-ossl-asym.8.gz +%{MANDIR}/man8/amcryptsimple.8.gz +%{MANDIR}/man8/amgpgcrypt.8.gz +%{MANDIR}/man8/amaespipe.8.gz +%{MANDIR}/man8/amdevcheck.8.gz +%{AMANDAHOMEDIR}/amanda-release +%{AMANDAHOMEDIR}/example/amanda-client.conf +%{AMANDAHOMEDIR}/example/xinetd.amandaserver + +# --- ChangeLog + +%changelog +* Fri May 02 2008 Dan Locks +- Changed instances of ${ to %%{ where applicable +* Tue Mar 11 2008 Dan Locks +- fixed many rpmlint complaints +- added --quiet to configure statements +- moved PERLSITELIB to definitions section +* Wed Feb 13 2008 Dan Locks +- added an environment check for PKG_CONFIG_PATH +- added PKG_CONFIG_PATH conditional to handle cross comp on FC8 (environment + var is used if provided) +* Fri Feb 01 2008 Dan Locks +- Removed amplot executable and manpages from client installation +- Added amcheckdump.8 manpage +- Fixed %%{LOCALSTATEDIR}/amanda dir creation. +* Wed Jan 23 2008 Dan Locks +- Change %%{SYSCONFDIR}/amanda/amandates to %%{LOCALSTATEDIR}/amanda/amandates, + and added %%{LOCALSTATEDIR}/amanda to the files lists. +* Mon Jan 14 2008 Dan Locks +- Updates for perlified amanda, file location moves, gpg setup. +* Tue Nov 13 2007 Paddy Sreenivasan +- Added SYSCONFDIR to client rpm +- Set xinetd and amanda-client.conf configuration files as part of postinstall +* Thu Nov 8 2007 Dan Locks +- Added Linux distribution detection +* Wed Nov 7 2007 Paddy Sreenivasan +- Added amserverconfig, amaddclient, amgpgcrypt, amcryptsimple and libamdevice. +- Added amanda configuration template files +* Fri Sep 21 2007 Paddy Sreenivasan +- Remove libamserver, libamtape from client rpm +* Wed Sep 19 2007 Paddy Sreenivasan +- Added Fedora 7 +* Tue Jun 26 2007 Kevin Till +- set debug log to /var/log/amanda +* Fri Jan 12 2007 Paddy Sreenivasan +- Added label templates +* Thu Dec 07 2006 Paddy Sreenivasan +- Application API changes +* Fri Jun 16 2006 Kevin Till +- make install will install necessary example files. + No need to "cp" +* Wed Jun 07 2006 Paddy Sreenivasan - +- Added amoldrecover and amanda-client.conf man page. +* Thu Jun 01 2006 Kevin Till - +- Added amcrypt-ossl, amcrypt-ossl-asym by Ben Slusky. +* Thu May 18 2006 Paddy Sreenivasan - +- Added SLES10, RHEL3 build options. +* Tue May 09 2006 Chris Lee - +- Added amanda-release file to amandabackup home directory. +- Installation message logging cleanup. +* Thu Apr 27 2006 Paddy Sreenivasan - +- Removed dependency on tar version. +- Moved log directory creation after backup user creation. +* Wed Apr 19 2006 Chris Lee - +- Added informative message to note the location of pre- and post- +- install script logs files. +* Mon Apr 17 2006 Chris Lee - +- Reworked installation message logging and reporting. +* Fri Apr 14 2006 Chris Lee - +- Changed behavior for creating required localhost entries in the +- amandahosts file to check for these entries even when the file +- already exists. +* Wed Apr 12 2006 Chris Lee - +- Removed pre-install check for "disk" group. This group should exist +- by default on almost all modern distributions. +* Tue Apr 11 2006 Chris Lee - +- Added amandahosts entry for "localhost" without domain. +* Fri Apr 07 2006 Chris Lee - +- Changed default entries in .amandahosts to use "localdomain" instead +- of "localnet". +- Updated amanda_version and release. +* Mon Apr 03 2006 Chris Lee - +- Added example amanda.conf to files. +* Thu Mar 16 2006 Chris Lee - +- Corrected an issue with pre-install scripts wrt bug #218. +- Corrected an issue with post-install scripts and added testing .profile +- in amandabackup's home directory for setting environment variables wrt +- bug #220. +* Mon Mar 13 2006 Chris Lee - +- Corrected a syntactical error with setting ownership of amandates file +- wrt bug #216. +* Wed Mar 08 2006 Chris Lee - +- Added pre-install scripts to verify proper ownership of +- amandabackup home directory. +* Thu Feb 2 2006 Paddy Sreenivasan - +- Require xinetd. Require termcap and initscripts for Fedora and Redhat. +* Mon Jan 09 2006 Chris Lee - +- Pre/post install scripts updated: +- o Resolved an issue where an empty amandates file was installed +- even if the file already existed on the system. +- o If .amandahosts does not exist a default is now created. +- The Amanda user account has been changed to 'amandabackup' for +- additional security. +* Tue Jan 03 2006 Paddy Sreenivasan - +- Removed amandates from files list. +* Thu Dec 29 2005 Chris Lee - +- Corrected dependency for awk to "/bin/awk". +* Thu Dec 29 2005 Kevin Till - +- add man pages for amcrypt and amaespipe +* Thu Dec 29 2005 Chris Lee - +- Updated dependancy info to depend on tar >= 1.15. +- Included dependancies from top-level package in backup_client and +- backup_server packages. +- Reorganized files lists for readability (alphabetically). +- Updated backup_client files list to include some missing files per +- bug #129. +- Updated pre- and post-install to handle potential issue when +- /var/log/amanda exists and is a file rather than a directory. +- Corrected permissions for /var/log/amanda in pre-install scripts +- per bug #78 and 13 December change. +* Thu Dec 22 2005 Paddy Sreenivasan - +- Added amaespipe and amcrypt +- Added sles9 build definitions +* Tue Dec 13 2005 Chris Lee - +- Changed permissions for /var/log/amanda, removing set group id bit. +- Added /etc/amandates to backup_client package. +* Thu Dec 08 2005 Chris Lee - +- Corrected an issue with detection of existing 'amanda' user account. +- Corrected ownership of setuid executables per Bug #66. +- Moved the gnutar and noop files to the backup_client package (where +- they sould be). +- Removed amqde from files list. +- Added logging features to pre- and post-install scripts. +* Wed Dec 07 2005 Chris Lee - +- Changed a number of directory and file permissions from amanda:root +- to amanda:disk in response to Bug #57. +* Fri Dec 02 2005 Chris Lee - +- Corrected SYSCONFDIR path definition. Closes Bug #58. +* Mon Nov 28 2005 Chris Lee - +- Really fixed user creation preinstall scripts. +* Wed Nov 23 2005 Paddy Sreenivasan - +- Updated package description. +- Changed Group for packages. +* Tue Nov 22 2005 Chris Lee - +- Corrected dependancy packaging issue with amanda libraries. +- Fixed creation of amanda user on systems which it does not exist. +- Corrected Group definition for SuSE. +- Updated descriptions to include amanda-libs package. +- Updated release number to 2. +* Tue Nov 08 2005 Chris Lee - +- Permissions changes: now using user=amanda, group=disk +* Sun Oct 30 2005 Chris Lee - +- Parameters to configure options --with-user and --with-group changed +- such that when test_build is set to '1' the username of the user who +- runs rpmbuild is used for both values. If test_build is set to '0' +- then root is used for both values. +- The release field was also changed to automatically reflect the +- distribution and distribution release version for which the RPM was +- built. +* Tue Oct 18 2005 Chris Lee - +- Initial RPM SPEC file created. +