Imported Upstream version 3.2.1
[debian/amanda] / packaging / rpm / amanda.spec.src
1 #
2 #                  Copyright (C) 2005 Zmanda Incorporated.
3 #                            All Rights Reserved.
4 #
5 #  This program is free software; you can redistribute it and/or modify it
6 #  under the terms of the GNU General Public License version 2 as published
7 #  by the Free Software Foundation.
8
9 #  This program is distributed in the hope that it will be useful, but
10 #  WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
11 #  or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
12 #  for more details.
13
14 #  You should have received a copy of the GNU General Public License along
15 #  with this program; if not, write to the Free Software Foundation, Inc.,
16 #  59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
17
18 #  Contact information: Zmanda Inc, 465 S. Mathilda Ave., Suite 300
19 #  Sunnyvale, CA 94086, USA, or: http://www.zmanda.com
20 #
21
22
23 %define build_srpm 0
24 %{?srpm_only: %define build_srpm 1}
25
26 # Pkg-config sometimes needs its own path set, and we need to allow users to
27 # override our guess during detection.  This macro takes care of that.
28 # If no --define PKG_CONFIG_PATH was passed and env var $PKG_CONFIG_PATH is 
29 # set then use the env var.
30 %{!?PKG_CONFIG_PATH: %{expand:%(echo ${PKG_CONFIG_PATH:+"%%define PKG_CONFIG_PATH $PKG_CONFIG_PATH"})}}
31
32 %{?PKG_CONFIG_PATH:%{echo:PKG_CONFIG_PATH = %{PKG_CONFIG_PATH}}}
33
34 # LDFLAGS: newer gnu linkers can use "-Wl,--as-needed", while older ones,
35 # like rhel3 and sles9 can't.
36 %define LDFLAGS -Wl,--as-needed
37
38 # Define which Distribution we are building:
39 # Try to detect the distribution we are building:
40 %if %{_vendor} == redhat 
41     # Fedora symlinks /etc/fedora-release to /etc/redhat-release for at least
42     # fc3-8.  So RHEL and Fedora look at the same file.  Different versions have
43     # different numbers of spaces; hence the use if $3 vs. $4..
44     %if %(awk '$1 == "Fedora" && $4 ~ /3.*/ { exit 1; }' /etc/redhat-release; echo $?)
45         %define dist fedora
46         %define disttag fc
47         %define distver 3
48         %define requires_libtermcap Requires: libtermcap.so.2
49         %define curl curl
50     %endif
51     %if %(awk '$1 == "Fedora" && $4 ~ /4.*/ { exit 1; }' /etc/redhat-release; echo $?)
52         %define dist fedora
53         %define disttag fc
54         %define distver 4
55         %define requires_libtermcap Requires: libtermcap.so.2
56         %define curl curl
57     %endif
58     %if %(awk '$1 == "Fedora" && $4 ~ /5.*/ { exit 1; }' /etc/redhat-release; echo $?)
59         %define dist fedora
60         %define disttag fc
61         %define distver 5
62         %define requires_libtermcap Requires: libtermcap.so.2
63         %define curl curl
64     %endif
65     %if %(awk '$1 == "Fedora" && $4 ~ /6.*/ { exit 1; }' /etc/redhat-release; echo $?)
66         %define dist fedora
67         %define disttag fc
68         %define distver 6
69         %define requires_libtermcap Requires: libtermcap.so.2
70         %define curl curl
71     %endif
72     %if %(awk '$1 == "Fedora" && $3 ~ /7.*/ { exit 1; }' /etc/redhat-release; echo $?)
73         %define dist fedora
74         %define disttag fc
75         %define distver 7
76         %define requires_libtermcap Requires: libtermcap.so.2
77         %define curl curl
78     %endif
79     # if macro cannot have an empty test and we're just testing the existance
80     %if %{?fedora:yes}%{!?fedora:no} == yes
81         %define dist fedora
82         %define disttag fc
83         %define distver %{fedora}
84         %if %{distver} <= 8
85             %define requires_libtermcap Requires: libtermcap.so.2
86             %define curl curl
87         %endif
88         %if %{distver} >= 9
89             %define curl libcurl
90         %endif
91         %if %{_host_cpu} == x86_64 && %{_target_cpu} == i686
92                 # Do nothing if PKG_CONFIG_PATH was set by the user above.
93                 %{!?PKG_CONFIG_PATH: %define PKG_CONFIG_PATH /usr/lib/pkgconfig}
94         %endif
95     %endif
96     %if %(awk '$1 == "Red" && $7 ~ /3.*/ { exit 1; }' /etc/redhat-release; echo $?)
97         %define dist redhat
98         %define disttag rhel
99         %define distver 3
100         %define tarver 1.14
101         %define requires_libtermcap Requires: libtermcap.so.2
102         %define curl curl
103         %define without_ipv6 --without-ipv6
104         %undefine LDFLAGS
105     %endif
106     %if %(awk '$1 == "Red" && $7 ~ /4.*/ { exit 1; }' /etc/redhat-release; echo $?)
107         %define dist redhat
108         %define disttag rhel
109         %define distver 4
110         %define tarver 1.14
111         %define requires_libtermcap Requires: libtermcap.so.2
112         %define curl curl
113     %endif
114     %if %(awk '$1 == "CentOS" && $3 ~ /4.*/ { exit 1; }' /etc/redhat-release; echo $?)
115         %define dist redhat
116         %define disttag rhel
117         %define distver 4
118         %define tarver 1.14
119         %define requires_libtermcap Requires: libtermcap.so.2
120         %define curl curl
121     %endif
122     %if %(awk '$1 == "Red" && $7 ~ /5.*/ { exit 1; }' /etc/redhat-release; echo $?)
123         %define dist redhat
124         %define disttag rhel
125         %define distver 5
126         %define curl curl
127     %endif
128     %if %(awk '$1 == "CentOS" && $3 ~ /5.*/ { exit 1; }' /etc/redhat-release; echo $?)
129         %define dist redhat
130         %define disttag rhel
131         %define distver 5
132         %define curl curl
133     %endif
134     %if %(awk '$1 == "Red" && $7 ~ /6.*/ { exit 1; }' /etc/redhat-release; echo $?)
135         %define dist redhat
136         %define disttag rhel
137         %define distver 6
138         %define curl libcurl
139     %endif
140     
141     # If dist is undefined, we didn't detect.
142     %{!?dist:%define dist unknown}
143 %endif
144 # Detect Suse variants. 
145 %if %{_vendor} == "suse"
146     %define dist SuSE
147     %if %(awk '$1 == "openSUSE" { exit 1; }' /etc/SuSE-release; echo $?)
148         %define disttag suse
149         %define distver %(awk '$1=="openSUSE" {print $2}' /etc/SuSE-release)
150     %endif
151     %if %(awk '$1 == "SUSE" { exit 1; }' /etc/SuSE-release; echo $?)
152         %define disttag %(awk '$1=="SUSE" {$3=="Enterprise" ? TAG="sles" : TAG="suse" ; print TAG}' /etc/SuSE-release)
153         %define distver %(awk '$1=="SUSE" {$3=="Enterprise" ? VER=$5 : VER=$3 ; print VER}' /etc/SuSE-release)
154         # Always use quotes in rpm comparisons if values could be interpreted
155         # as integers.
156         %define curl curl
157         %if "%{distver}" == "9"
158             %undefine LDFLAGS
159         %endif
160     %endif
161 %endif
162
163 # Set options per distribution
164 %if %{dist} == redhat || %{dist} == fedora
165     %define rpm_group Applications/Archiving
166     %define xinetd_reload restart
167     %define requires_initscripts Requires: initscripts
168 %endif
169 %if %{dist} == SuSE
170     %define rpm_group Productivity/Archiving/Backup
171     %define xinetd_reload restart
172 %endif
173
174 # Let's die if we haven't detected the distro. This might save some frustration.
175 # RPM does not provide a way to  exit gracefully, hence the tag_to_cause_exit. 
176 %{!?distver: %{error:"Your distribution and its version were not detected."}; %tag_to_cause_exit }
177 # Set minimum tar version if it wasn't set in the per-distro section
178 %{!?tarver: %define tarver 1.15}
179
180 %define packer %(%{__id_u} -n)
181
182 # --- Definitions ---
183
184 # Define amanda_version using the value determined by
185 # packaging/common/substitute.pl.
186 %{!?amanda_version: %define amanda_version %%VERSION%% }
187 %{!?amanda_release: %define amanda_release 1}
188 %define amanda_version_info "Amanda Community Edition - version %{amanda_version}"
189 %define amanda_user amandabackup
190 %define amanda_group disk
191
192 Summary: The Amanda Backup and Archiving System
193 Name: amanda
194 Version: %{amanda_version}
195 %define rpm_release %{amanda_release}.%{disttag}%{distver}
196 %if %{build_srpm}
197 %define rpm_release %{amanda_release}
198 %endif
199 Release: %{rpm_release}
200 Source: %{name}-%{version}.tar.gz
201 License: http://wiki.zmanda.com/index.php/Amanda_Copyright
202 Vendor: Zmanda, Inc.
203 Packager: www.zmanda.com
204 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-%{packer}-buildroot
205 Group: %{rpm_group}
206 # TODO - Need required versions for these:
207 BuildRequires: autoconf
208 BuildRequires: automake
209 BuildRequires: binutils
210 BuildRequires: bison
211 BuildRequires: flex
212 BuildRequires: gcc
213 BuildRequires: glib2 >= 2.2.0
214 BuildRequires: glib2-devel
215 BuildRequires: readline
216 # Note: newer distros have changed most *-devel to lib*-devel, and added a
217 # provides tag for backwards compat.
218 BuildRequires: readline-devel
219 BuildRequires: %{curl} >= 7.10.0
220 BuildRequires: %{curl}-devel >= 7.10.0
221 BuildRequires: openssl
222 BuildRequires: openssl-devel
223 BuildRequires: perl(ExtUtils::Embed)
224 Requires: /bin/awk
225 Requires: /bin/date
226 Requires: /usr/bin/id
227 Requires: /sbin/ldconfig
228 Requires: /bin/sh
229 Requires: /usr/sbin/useradd
230 Requires: /usr/sbin/usermod
231 Requires: fileutils
232 Requires: grep
233 Requires: gnuplot
234 Requires: %{curl} >= 7.10.0
235 Requires: openssl
236 Requires: xinetd
237 Requires: perl >= 5.6.0
238 Requires: tar >= %{tarver}
239 Requires: readline
240 %{?requires_libtermcap}
241 %{?requires_initscripts}
242
243 %package backup_client
244 Summary: The Amanda Backup and Archiving Client
245 Group: %{rpm_group}
246 Requires: /bin/awk
247 Requires: fileutils
248 Requires: grep
249 %{?requires_libtermcap}
250 %{?requires_initscripts}
251 Requires: xinetd
252 Requires: perl >= 5.6.0
253 Requires: tar >= %{tarver}
254 Requires: readline
255 Provides: amanda-backup_client = %{amanda_version}
256 Provides: libamclient-%{version}.so = %{amanda_version}
257 Provides: libamanda-%{version}.so = %{amanda_version}
258 Conflicts: amanda-backup_server
259 # Native package names
260 Obsoletes: amanda, amanda-client, amanda-server
261
262 %package backup_server
263 Summary: The Amanda Backup and Archiving Server
264 Group: %{rpm_group}
265 Requires: /bin/awk
266 Requires: fileutils
267 Requires: grep
268 %{?requires_libtermcap}
269 %{?requires_initscripts}
270 Requires: xinetd
271 Requires: perl >= 5.6.0
272 Requires: tar >= %{tarver}
273 Provides: amanda-backup_server = %{amanda_version}
274 Provides: libamclient-%{version}.so = %{amanda_version}
275 Provides: libamanda-%{version}.so = %{amanda_version}
276 Provides: libamserver-%{version}.so = %{amanda_version}
277 Provides: libamtape-%{version}.so = %{amanda_version}
278 Provides: libamdevice-%{version}.so = %{amanda_version}
279 Conflicts: amanda-backup_client
280 # Native package names
281 Obsoletes: amanda, amanda-client, amanda-server
282 # --- Package descriptions ---
283
284 %description
285 Amanda is the leading Open-Source Backup and Archiving software.
286
287 The amanda-backup_server package should be installed on the Amanda server, i.e. 
288 the machine attached to backup media (such as a tape drive or disk 
289 drives) where backups will be written. The amanda-backup_server package
290 includes Amanda client.  The amanda-backup_client package needs 
291 to be installed on every system that is being backed up.
292
293 Amanda Forums is located at: http://forums.zmanda.com/
294 Amanda Documentation is available at: http://wiki.zmanda.com/
295
296
297
298 %description backup_server
299 Amanda is the leading Open-Source Backup and Archiving software.
300
301 This package contains the Amanda server.  The amanda-backup_server package 
302 should be installed on the Amanda server, i.e. the machine attached 
303 to backup media (such as a tape drive or disk drives) where backups 
304 will be written.  The amanda-backup_server package includes Amanda client.
305
306 Amanda Forums is located at: http://forums.zmanda.com/
307 Amanda Documentation is available at: http://wiki.zmanda.com/
308
309
310
311 %description backup_client
312 Amanda is the leading Open-Source Backup and Archiving software.
313
314 This package contains the Amanda client.  The amanda-backup_client package  
315 needs to be installed on every system that is being backed up.
316
317 Amanda Forums is located at: http://forums.zmanda.com/
318 Amanda Documentation is available at: http://wiki.zmanda.com/
319
320 # --- Directory setup ---
321
322 # Configure directories:
323 %define PREFIX          /usr
324 %define EPREFIX         %{PREFIX}
325 %define BINDIR          %{EPREFIX}/bin
326 %define SBINDIR         %{EPREFIX}/sbin
327 %define LIBEXECDIR      %{EPREFIX}/libexec
328 %define AMLIBEXECDIR    %{LIBEXECDIR}/amanda
329 %define DATADIR         %{PREFIX}/share
330 %define SYSCONFDIR      /etc
331 %define LOCALSTATEDIR   /var
332 %define AMANDATES       %{AMANDAHOMEDIR}/amandates
333 %define AMANDAHOMEDIR   %{LOCALSTATEDIR}/lib/amanda
334 %ifarch x86_64
335 %define LIBDIR          %{EPREFIX}/lib64
336 %else
337 %define LIBDIR          %{EPREFIX}/lib
338 %endif
339 %define AMLIBDIR        %{LIBDIR}/amanda
340 %define INCLUDEDIR      %{PREFIX}/include
341 %define MANDIR          %{DATADIR}/man
342 %define LOGDIR          /var/log/amanda
343 %define PERLSITELIB     %(eval "`perl -V:installsitelib`"; echo $installsitelib)
344 %define AMDATADIR       /var/lib/amanda
345
346 # Installation directories:
347 %define ROOT_SBINDIR            %{buildroot}/%{SBINDIR}
348 %define ROOT_LIBEXECDIR         %{buildroot}/%{LIBEXECDIR}
349 %define ROOT_DATADIR            %{buildroot}/%{DATADIR}
350 %define ROOT_LOCALSTATEDIR      %{buildroot}/%{LOCALSTATEDIR}
351 %define ROOT_SYSCONFDIR         %{buildroot}/%{SYSCONFDIR}
352 %define ROOT_AMANDAHOMEDIR      %{buildroot}/%{AMANDAHOMEDIR}
353 %define ROOT_LIBDIR             %{buildroot}/%{LIBDIR}
354 %define ROOT_MANDIR             %{buildroot}/%{MANDIR}
355 %define ROOT_LOGDIR             %{buildroot}/%{LOGDIR}
356 %define ROOT_AMDATADIR          %{buildroot}/%{AMDATADIR}
357
358 # --- Unpack ---
359
360 %prep
361 %setup -q
362 # --- Configure and compile ---
363
364 %build
365 %define config_user %{amanda_user}
366 %define config_group %{amanda_group}
367
368 # Set PKG_CONFIG_PATH=some/path if some/path was set on the command line, or by 
369 # the platform detection bits.
370 # without_ipv6 should only be defined on rhel3.
371 # LDFLAGS macro is defined except on rhel3.
372 ./configure \
373         %{?PKG_CONFIG_PATH: PKG_CONFIG_PATH=%PKG_CONFIG_PATH} \
374         CFLAGS="%{optflags} -g -pipe" CXXFLAGS="%{optflags}" \
375         %{?LDFLAGS:LDFLAGS="${LDFLAGS} %{?LDFLAGS:%LDFLAGS}"} \
376         --quiet \
377         --prefix=%{PREFIX} \
378         --sysconfdir=%{SYSCONFDIR} \
379         --sharedstatedir=%{LOCALSTATEDIR} \
380         --localstatedir=%{LOCALSTATEDIR} \
381         --libdir=%{LIBDIR} \
382         --includedir=%{INCLUDEDIR} \
383         --mandir=%{MANDIR} \
384         --with-amdatadir=%{AMDATADIR} \
385         --with-gnuplot=/usr/bin/gnuplot \
386         --with-gnutar=/bin/tar \
387         --with-gnutar-listdir=%{AMANDAHOMEDIR}/gnutar-lists \
388         --with-index-server=localhost \
389         --with-tape-server=localhost \
390         --with-user=%{config_user} \
391         --with-group=%{config_group} \
392         --with-owner=%{packer} \
393         --with-fqdn \
394         --with-bsd-security \
395         --with-bsdtcp-security \
396         --with-bsdudp-security \
397         --with-ssh-security \
398         --with-debugging=%{LOGDIR} \
399         --with-assertions \
400         --disable-installperms \
401         %{?without_ipv6}
402
403 make -s LIBTOOLFLAGS=--silent
404
405 # --- Install to buildroot ---
406
407 %install
408 if [ "%{buildroot}" != "/" ]; then
409         if [ -d "%{buildroot}" ] ; then
410                 rm -rf %{buildroot}
411         fi
412 else
413         echo "BuildRoot was somehow set to / !"
414         exit -1
415 fi
416
417 make -s -j1 LIBTOOLFLAGS=--silent DESTDIR=%{buildroot} install
418
419 rm -f %{ROOT_AMANDAHOMEDIR}/example/inetd.conf.amandaclient
420 mkdir %{buildroot}/{etc,var/log}
421 mkdir %{ROOT_LOCALSTATEDIR}/amanda 
422 mkdir %{ROOT_SYSCONFDIR}/amanda
423 mkdir %{ROOT_AMANDAHOMEDIR}/gnutar-lists
424 mkdir %{ROOT_LOGDIR}
425
426 echo "%{amanda_version_info}" >%{ROOT_AMANDAHOMEDIR}/amanda-release
427
428 # --- Clean up buildroot ---
429
430 %clean
431 if [ "%{buildroot}" != "/" ]; then
432         if [ -d "%{buildroot}" ] ; then
433                 rm -rf %{buildroot}
434         fi
435 else
436         echo "BuildRoot was somehow set to / !"
437         exit -1
438 fi
439
440 # --- Pre/post (un)installation scripts ---
441
442 %pre
443 TMPFILE=`mktemp /tmp/rpm-amanda.XXXXXXXXXXX`
444 if [ $? -ne 0 ]; then
445         echo "Unable to mktemp!" 1>&2
446         exit 1
447 fi
448 LOGDIR="%{LOGDIR}"
449 INSTALL_LOG="${LOGDIR}/install.log"
450 INSTALL_ERR="${LOGDIR}/install.err"
451
452 echo "`date +'%b %e %Y %T'`: Preparing to install: %{amanda_version_info}" >${TMPFILE}
453
454 # Check for the 'amanda' user
455 echo "`date +'%b %e %Y %T'`: Checking for '%{amanda_user}' user..." >>${TMPFILE}
456 if [ "`id -u %{amanda_user} > /dev/null 2>&1 && echo 0 || echo 1`" != "0" ] ; then
457         useradd -c "Amanda" -M -g %{amanda_group} -d %{AMANDAHOMEDIR} -s /bin/sh %{amanda_user}
458         if [ %{dist} = "SuSE" ]; then
459                 PASSWD_EXIT=$?
460         else
461                 # Lock the amanda account until admin sets password
462                 passwd -l %{amanda_user} >>/dev/null
463                 PASSWD_EXIT=$?
464         fi
465         if [ ${PASSWD_EXIT} -eq 0 ] ; then
466                 echo "`date +'%b %e %Y %T'`:" >>${TMPFILE}
467                 echo "`date +'%b %e %Y %T'`:  The '%{amanda_user}; user account has been successfully created." >>${TMPFILE}
468                 echo "`date +'%b %e %Y %T'`:  Furthermore, the account has been automatically locked for you" >>${TMPFILE}
469                 echo "`date +'%b %e %Y %T'`:  for security purposes.  Once a password for the  '%{amanda_user}'" >>${TMPFILE}
470                 echo "`date +'%b %e %Y %T'`:  account has been set, the user can be unlocked by issuing" >>${TMPFILE}
471                 echo "`date +'%b %e %Y %T'`:  the following command as root.:" >>${TMPFILE}
472                 echo "`date +'%b %e %Y %T'`:" >>${TMPFILE}
473                 echo "`date +'%b %e %Y %T'`:  # passwd -u %{amanda_user}" >>${TMPFILE}
474                 echo "`date +'%b %e %Y %T'`:" >>${TMPFILE}
475                 echo "`date +'%b %e %Y %T'`:  If this is not a new installation of Amanda and you have" >>${TMPFILE}
476                 echo "`date +'%b %e %Y %T'`:  pre-existing Amanda configurations in %{SYSCONFDIR}/amanda" >>${TMPFILE}
477                 echo "`date +'%b %e %Y %T'`:  you should ensure that 'dumpuser' is set to '%{amanda_user}'" >>${TMPFILE}
478                 echo "`date +'%b %e %Y %T'`:  in those configurations.  Additionally, you should ensure" >>${TMPFILE}
479                 echo "`date +'%b %e %Y %T'`:  that %{AMANDAHOMEDIR}/.amandahosts on your client systems" >>${TMPFILE}
480                 echo "`date +'%b %e %Y %T'`:  is properly configured to allow connections for the user" >>${TMPFILE}
481                 echo "`date +'%b %e %Y %T'`:  '%{amanda_user}'." >>${TMPFILE}
482                 echo "`date +'%b %e %Y %T'`:" >>${TMPFILE}
483                 PASSWD_OK=0
484         else
485                 echo "`date +'%b %e %Y %T'`:  !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE}
486                 echo "`date +'%b %e %Y %T'`:  !!!                                                       !!!" >>${TMPFILE}
487                 echo "`date +'%b %e %Y %T'`:  !!!  The '%{amanda_user}' user account for this system has been   !!!" >>${TMPFILE}
488                 echo "`date +'%b %e %Y %T'`:  !!!  created, however the user has no password set. For   !!!" >>${TMPFILE}
489                 echo "`date +'%b %e %Y %T'`:  !!!  security purposes this account  is normally locked   !!!" >>${TMPFILE}
490                 echo "`date +'%b %e %Y %T'`:  !!!  after creation.  Unfortunately,  when locking this   !!!" >>${TMPFILE}
491                 echo "`date +'%b %e %Y %T'`:  !!!  account an error occurred.  To ensure the security   !!!" >>${TMPFILE}
492                 echo "`date +'%b %e %Y %T'`:  !!!  of your system  you should set a password  for the   !!!" >>${TMPFILE}
493                 echo "`date +'%b %e %Y %T'`:  !!!  user account '%{amanda_user}' immediately!  To set  such a   !!!" >>${TMPFILE}
494                 echo "`date +'%b %e %Y %T'`:  !!!  password, please issue the following command.:       !!!" >>${TMPFILE}
495                 echo "`date +'%b %e %Y %T'`:  !!!                                                       !!!" >>${TMPFILE}
496                 echo "`date +'%b %e %Y %T'`:  !!!   # passwd %{amanda_user}                                   !!!" >>${TMPFILE}
497                 echo "`date +'%b %e %Y %T'`:  !!!                                                       !!!" >>${TMPFILE}
498                 echo "`date +'%b %e %Y %T'`:  !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE}
499                 PASSWD_OK=1
500         fi
501 else
502         # log information about 'amanda' user parameters
503         echo "`date +'%b %e %Y %T'`:" >>${TMPFILE}
504         echo "`date +'%b %e %Y %T'`:  The Amanda backup software is configured to operate as the" >>${TMPFILE}
505         echo "`date +'%b %e %Y %T'`:  user '%{amanda_user}'.  This user exists on your system and has not" >>${TMPFILE}
506         echo "`date +'%b %e %Y %T'`:  been modified.  To ensure that Amanda functions properly," >>${TMPFILE}
507         echo "`date +'%b %e %Y %T'`:  please see that the following parameters are set for that" >>${TMPFILE}
508         echo "`date +'%b %e %Y %T'`:  user.:" >>${TMPFILE}
509         echo "`date +'%b %e %Y %T'`:" >>${TMPFILE}
510         echo "`date +'%b %e %Y %T'`:  SHELL:          /bin/sh" >>${TMPFILE}
511         echo "`date +'%b %e %Y %T'`:  HOME:           %{AMANDAHOMEDIR}" >>${TMPFILE}
512         echo "`date +'%b %e %Y %T'`:  Default group:  %{amanda_group}" >>${TMPFILE}
513         echo "`date +'%b %e %Y %T'`:  Verifying %{amanda_user} parameters :" >>${TMPFILE}
514
515         if [ "`id -gn %{amanda_user}`" != "disk" ] ; then
516                 echo "`date +'%b %e %Y %T'`:  !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE}
517                 echo "`date +'%b %e %Y %T'`:  !!!  user 'amandabackup' is not part of the disk group,Pl !!!" >>${TMPFILE}
518                 echo "`date +'%b %e %Y %T'`:  !!!  make sure it is corrected before start using amanda  !!!" >>${TMPFILE}
519                 echo "`date +'%b %e %Y %T'`:  !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE}
520         else
521                 echo "`date +'%b %e %Y %T'`:  Verified group name of user 'amandabackup'" >>${TMPFILE}
522         fi
523
524         if [ "`grep ^%{amanda_user} /etc/passwd|cut -d: -f7`" != "/bin/sh" ] ; then
525                 echo "`date +'%b %e %Y %T'`:  !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE}
526                 echo "`date +'%b %e %Y %T'`:  !!! user 'amandabackup' default shell should be set to    !!!" >>${TMPFILE}
527                 echo "`date +'%b %e %Y %T'`:  !!! /bin/sh, pl correct before start using Amanda         !!!" >>${TMPFILE}
528                 echo "`date +'%b %e %Y %T'`:  !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE}
529         else
530                 echo "`date +'%b %e %Y %T'`:  Verified Default shell for user 'amandabackup'" >>${TMPFILE}
531         fi
532
533         if [ "`grep ^%{amanda_user} /etc/passwd|cut -d: -f6`" != "%{AMANDAHOMEDIR}" ] ; then
534                 echo "`date +'%b %e %Y %T'`:  !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE}
535                 echo "`date +'%b %e %Y %T'`:  !!! user 'amandabackup' home directory should be set to   !!!" >>${TMPFILE}
536                 echo "`date +'%b %e %Y %T'`:  !!! %{AMANDAHOMEDIR} Pl correct before using Amanda       !!!" >>${TMPFILE}
537                 echo "`date +'%b %e %Y %T'`:  !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE}
538         else
539                 echo "`date +'%b %e %Y %T'`:  Verified Default home directory for user amandabackup" >>${TMPFILE}
540         fi
541         echo "`date +'%b %e %Y %T'`:" >>${TMPFILE}
542         PASSWD_OK=0
543 fi
544 if [ -d %{AMANDAHOMEDIR} ] ; then
545         echo -n "`date +'%b %e %Y %T'`:  Checking ownership of '%{AMANDAHOMEDIR}'... " >>${TMPFILE}
546         if [ "`ls -dl %{AMANDAHOMEDIR} | awk '//{split($_,x); print x[3]}'`" = "%{amanda_user}" ] && \
547            [ "`ls -dl %{AMANDAHOMEDIR} | awk '//{split($_,x); print x[4]}'`" = "%{amanda_group}" ] ; then
548                 echo "correct." >>${TMPFILE}
549                 VARLIB_OK=0
550         else
551                 echo "incorrect!" >>${TMPFILE}
552                 echo "`date +'%b %e %Y %T'`:  Please ensure that the directory '%{AMANDAHOMEDIR}' is owned by" >>${TMPFILE}
553                 echo "`date +'%b %e %Y %T'`:  the user '%{amanda_user}' and group '%{amanda_group}'." >>${TMPFILE}
554                 VARLIB_OK=1
555         fi
556 else
557         VARLIB_OK=0
558 fi
559 echo "`date +'%b %e %Y %T'`:" >>${TMPFILE}
560 if [ ! -e ${LOGDIR} ] ; then
561         # create log directory
562         mkdir -m 0750 ${LOGDIR} >>${TMPFILE} 2>&1
563         chown %{amanda_user}:%{amanda_group} ${LOGDIR} >>${TMPFILE} 2>&1
564 elif [ ! -d ${LOGDIR} ] ; then
565         mv ${LOGDIR} ${LOGDIR}.rpmsave >>${TMPFILE} 2>&1
566         mkdir -m 0750 ${LOGDIR} >>${TMPFILE} 2>&1
567         chown %{amanda_user}:%{amanda_group} ${LOGDIR} >>${TMPFILE} 2>&1
568         mv ${LOGDIR}.rpmsave ${LOGDIR}/ >>${TMPFILE} 2>&1
569 fi
570
571 if [ ${PASSWD_OK} -eq 1 ] || [ ${VARLIB_OK} -eq 1 ] ; then
572         cat ${TMPFILE}
573         cat ${TMPFILE} >>${INSTALL_ERR}
574         echo "Please review '${INSTALL_ERR}' to correct errors which have prevented the Amanda installaton." >&2
575         echo "Amanda installation log can be found in '${INSTALL_LOG}' and errors (if any) in '${INSTALL_ERR}'."
576         exit 1
577 else
578         cat ${TMPFILE}
579         cat ${TMPFILE} >>${INSTALL_LOG}
580 fi
581
582 echo "`date +'%b %e %Y %T'`: === Amanda installation started. ===" >${TMPFILE}
583
584 cat ${TMPFILE}
585 cat ${TMPFILE} >>${INSTALL_LOG}
586 if [ -f "${TMPFILE}" ]; then
587         rm -f "${TMPFILE}"
588 fi
589
590 %post
591 TMPFILE=`mktemp /tmp/rpm-amanda.XXXXXXXXXXX
592 if [ $? -ne 0 ]; then
593         echo "Unable to mktemp!" 1>&2
594         exit 1
595 fi
596 LOGDIR="%{LOGDIR}"
597 INSTALL_LOG="${LOGDIR}/install.log"
598 INSTALL_ERR="${LOGDIR}/install.err"
599
600 echo -n "`date +'%b %e %Y %T'`: Updating library cache..." >${TMPFILE}
601 /sbin/ldconfig >>${TMPFILE} 2>&1
602 echo "done." >>${TMPFILE}
603 cat ${TMPFILE}
604 cat ${TMPFILE} >>${INSTALL_LOG}
605
606 if [ -e /etc/xinetd.d ] && [ -d /etc/xinetd.d ] ; then
607         if [ ! -f /etc/xinetd.d/amandaserver ] ; then
608                 cp %{AMANDAHOMEDIR}/example/xinetd.amandaserver /etc/xinetd.d/amandaserver
609                 chmod 0644 /etc/xinetd.d/amandaserver >>${TMPFILE} 2>&1
610                 if [ -f /etc/xinetd.d/amandaclient ] ; then
611                         rm /etc/xinetd.d/amandaclient
612                 fi
613                 echo -n "`date +'%b %e %Y %T'`: Reloading xinetd configuration..." >${TMPFILE}
614                 if [ "%{xinetd_reload}" == "reload" ] ; then
615                         /etc/init.d/xinetd %{xinetd_reload} >>${TMPFILE} 2>&1
616                         ret_val=$?
617                         if [ ${ret_val} -ne 0 ] ; then
618                                 echo -n "reload failed.  Attempting restart..." >>${TMPFILE}
619                                 /etc/init.d/xinetd restart >>${TMPFILE} 2>&1
620                                 ret_val=$?
621                         fi
622                 else
623                         /etc/init.d/xinetd %{xinetd_reload} >>${TMPFILE} 2>&1
624                         ret_val=$?
625                 fi
626                 if [ ${ret_val} -eq 0 ] ; then
627                         echo "success." >>${TMPFILE}
628                         cat ${TMPFILE}
629                         cat ${TMPFILE} >>${INSTALL_LOG}
630                 else
631                         echo "failed.  Please check your system logs." >>${TMPFILE}
632                         cat ${TMPFILE} 1>&2
633                         cat ${TMPFILE} >>${INSTALL_ERR}
634                 fi
635         fi
636 fi
637
638 echo "`date +'%b %e %Y %T'`: Installing '%{AMANDATES}'." >${TMPFILE}
639 ret_val=0
640 if [ ! -f %{AMANDATES} ] ; then
641         touch %{AMANDATES} >>${TMPFILE} 2>&1
642         ret_val=$?
643         if [ ${ret_val} -eq 0 ]; then
644                 echo "`date +'%b %e %Y %T'`: The file '%{AMANDATES}' has been created." >>${TMPFILE}
645         fi
646 fi
647 if [ ${ret_val} -eq 0 ]; then
648         echo "`date +'%b %e %Y %T'`: Ensuring correct permissions for '%{AMANDATES}'." >>${TMPFILE}
649         chown %{amanda_user}:%{amanda_group} %{AMANDATES} >>${TMPFILE} 2>&1
650         chmod 0640 %{AMANDATES} >>${TMPFILE} 2>&1
651         if [ -x /sbin/restorecon ] ; then
652               /sbin/restorecon %{AMANDATES}  >>${TMPFILE} 2>&1
653         fi
654 fi
655 if [ ${ret_val} -eq 0 ]; then
656         echo "`date +'%b %e %Y %T'`: '%{AMANDATES}' Installation successful." >>${TMPFILE}
657         cat ${TMPFILE}
658         cat ${TMPFILE} >>${INSTALL_LOG}
659 else
660         echo "`date +'%b %e %Y %T'`: '%{AMANDATES}' Installation failed." >>${TMPFILE}
661         cat ${TMPFILE}
662         cat ${TMPFILE} >>${INSTALL_ERR}
663 fi
664
665
666 # Install .gnupg directory
667 echo "`date +'%b %e %Y %T'`: Installing '%{AMANDAHOMEDIR}/.gnupg'." >${TMPFILE}
668 ret_val=0
669 if [ ! -d %{AMANDAHOMEDIR}/.gnupg ] ; then
670         echo "`date +'%b %e %Y %T'`: '%{AMANDAHOMEDIR}/.gnupg' will be created." >>${TMPFILE}
671         mkdir %{AMANDAHOMEDIR}/.gnupg >>${TMPFILE} 2>&1
672         ret_val=$?
673         if [ ${ret_val} -eq 0 ]; then
674                 echo "`date +'%b %e %Y %T'`: The directory '%{AMANDAHOMEDIR}/.gnupg' created successfully." >>${TMPFILE}
675         else
676                 echo "`date +'%b %e %Y %T'`: The directory '%{AMANDAHOMEDIR}/.gnupg' creation failed." >>${TMPFILE}
677         fi
678 fi
679 if [ ${ret_val} -eq 0 ]; then
680         echo "`date +'%b %e %Y %T'`: Ensuring correct permissions for '%{AMANDAHOMEDIR}/.gnupg'." >>${TMPFILE}
681         chown %{amanda_user}:%{amanda_group} %{AMANDAHOMEDIR}/.gnupg >>${TMPFILE} 2>&1
682         ret_val=$?
683         if [ ${ret_val} -eq 0 ]; then
684                 chmod 700 %{AMANDAHOMEDIR}/.gnupg >>${TMPFILE} 2>&1
685                 ret_val=$?
686         fi
687 fi
688 if [ ${ret_val} -eq 0 ]; then
689         echo "`date +'%b %e %Y %T'`: '%{AMANDAHOMEDIR}/.gnupg' Installation successful." >>${TMPFILE}
690         cat ${TMPFILE}
691         cat ${TMPFILE} >>${INSTALL_LOG}
692 else
693         echo "`date +'%b %e %Y %T'`: '%{AMANDAHOMEDIR}/.gnupg' Installation failed." >>${TMPFILE}
694         cat ${TMPFILE}
695         cat ${TMPFILE} >>${INSTALL_ERR}
696 fi
697
698 # Install .amandahosts
699 echo "`date +'%b %e %Y %T'`: Checking '%{AMANDAHOMEDIR}/.amandahosts' file." >${TMPFILE}
700 if [ ! -f %{AMANDAHOMEDIR}/.amandahosts ] ; then
701         touch %{AMANDAHOMEDIR}/.amandahosts >>${TMPFILE} 2>&1
702 fi
703 for host in localhost localhost.localdomain ; do
704         if [ -z "`grep \"^${host}[[:blank:]]\+root[[:blank:]]\+amindexd[[:blank:]]\+amidxtaped\" %{AMANDAHOMEDIR}/.amandahosts`" ] ; then
705                 echo "${host}   root amindexd amidxtaped" >>%{AMANDAHOMEDIR}/.amandahosts
706         fi
707         if [ -z "`grep \"^${host}[[:blank:]]\+%{amanda_user}[[:blank:]]\+amdump\" %{AMANDAHOMEDIR}/.amandahosts`" ] ; then
708                 echo "${host}   %{amanda_user} amdump" >>%{AMANDAHOMEDIR}/.amandahosts
709         fi
710 done
711 chown %{amanda_user}:%{amanda_group} %{AMANDAHOMEDIR}/.amandahosts >>${TMPFILE} 2>&1
712 chmod 0600 %{AMANDAHOMEDIR}/.amandahosts >>${TMPFILE} 2>&1
713 cat ${TMPFILE}
714 cat ${TMPFILE} >>${INSTALL_LOG}
715
716 # SSH RSA key generation for amdump
717 KEYDIR="%{AMANDAHOMEDIR}/.ssh"
718 KEYFILE="id_rsa_amdump"
719 COMMENT="%{amanda_user}@server"
720 if [ ! -d ${KEYDIR} ] ; then
721         if [ -f ${KEYDIR} ] ; then
722                 echo "`date +'%b %e %Y %T'`: Directory '${KEYDIR}' exists as a file.  Renaming to '${KEYDIR}.rpmsave'." >${TMPFILE}
723                 mv ${KEYDIR} ${KEYDIR}.rpmsave
724                 cat ${TMPFILE}
725                 cat ${TMPFILE} >>${INSTALL_LOG}
726         fi
727         echo "`date +'%b %e %Y %T'`: Creating directory '${KEYDIR}'." >${TMPFILE}
728         mkdir ${KEYDIR} >>${TMPFILE} 2>&1
729         cat ${TMPFILE}
730         cat ${TMPFILE} >>${INSTALL_LOG}
731 fi
732 if [ ! -f ${KEYDIR}/${KEYFILE} ] ; then
733         echo "`date +'%b %e %Y %T'`: Creating ssh RSA key in '${KEYDIR}/${KEYFILE}'" >${TMPFILE}
734         cat ${TMPFILE}
735         cat ${TMPFILE} >>${INSTALL_LOG}
736         ssh-keygen -q -C $COMMENT -t rsa -f ${KEYDIR}/${KEYFILE} -N '' >>${TMPFILE} 2>&1
737         cat ${TMPFILE}
738         cat ${TMPFILE} >>${INSTALL_LOG}
739 fi
740 echo "`date +'%b %e %Y %T'`: Setting ownership and permissions for '${KEYDIR}' and '${KEYDIR}/${KEYFILE}*'" >${TMPFILE}
741 chown %{amanda_user}:%{amanda_group} ${KEYDIR} ${KEYDIR}/${KEYFILE}* >>${TMPFILE} 2>&1
742 chmod 0750 ${KEYDIR} >>${TMPFILE} 2>&1
743 chmod 0600 ${KEYDIR}/${KEYFILE}* >>${TMPFILE} 2>&1
744 cat ${TMPFILE}
745 cat ${TMPFILE} >>${INSTALL_LOG}
746
747 # SSH RSA key generation on client for amrecover
748 KEYDIR="%{AMANDAHOMEDIR}/.ssh"
749 KEYFILE="id_rsa_amrecover"
750 COMMENT="root@client"
751 if [ ! -d ${KEYDIR} ] ; then
752         if [ -f ${KEYDIR} ] ; then
753                 echo "`date +'%b %e %Y %T'`: Directory '${KEYDIR}' exists as a file.  Renaming to '${KEYDIR}.rpmsave'." >${TMPFILE}
754                 mv ${KEYDIR} ${KEYDIR}.rpmsave >>${TMPFILE} 2>&1
755                 cat ${TMPFILE}
756                 cat ${TMPFILE} >>${INSTALL_LOG}
757         fi
758         echo "`date +'%b %e %Y %T'`: Creating directory '${KEYDIR}'." >${TMPFILE}
759         mkdir ${KEYDIR} >>${TMPFILE} 2>&1
760         cat ${TMPFILE}
761         cat ${TMPFILE} >>${INSTALL_LOG}
762 fi
763 if [ ! -f ${KEYDIR}/${KEYFILE} ] ; then
764         echo "`date +'%b %e %Y %T'`: Creating ssh RSA key in '${KEYDIR}/${KEYFILE}'" >${TMPFILE}
765         ssh-keygen -q -C $COMMENT -t rsa -f ${KEYDIR}/${KEYFILE} -N '' >>${TMPFILE} 2>&1
766         cat ${TMPFILE}
767         cat ${TMPFILE} >>${INSTALL_LOG}
768 fi
769 echo "`date +'%b %e %Y %T'`: Setting permissions for '${KEYDIR}'" >${TMPFILE}
770 chown %{amanda_user}:%{amanda_group} ${KEYDIR} >>${TMPFILE} 2>&1
771 chmod 0750 ${KEYDIR} >>${TMPFILE} 2>&1
772 chmod 0600 ${KEYDIR}/${KEYFILE}* >>${TMPFILE} 2>&1
773 cat ${TMPFILE}
774 cat ${TMPFILE} >>${INSTALL_LOG}
775
776 # environment variables (~amandabackup/.profile)
777 echo "`date +'%b %e %Y %T'`: Checking for '%{AMANDAHOMEDIR}/.profile' and ensuring correct environment." >${TMPFILE}
778 if [ ! -f %{AMANDAHOMEDIR}/.profile ] ; then
779         touch %{AMANDAHOMEDIR}/.profile >>${TMPFILE} 2>&1
780 fi
781 if [ -z "`grep PATH %{AMANDAHOMEDIR}/.profile | grep '%{SBINDIR}'`" ] ; then
782         echo "export PATH=\"\$PATH:%{SBINDIR}\"" >>%{AMANDAHOMEDIR}/.profile 2>>${TMPFILE}
783 fi
784 echo "`date +'%b %e %Y %T'`: Setting ownership and permissions for '%{AMANDAHOMEDIR}/.profile'" >>${TMPFILE}
785 chown %{amanda_user}:%{amanda_group} %{AMANDAHOMEDIR}/.profile >>${TMPFILE} 2>&1
786 chmod 0640 %{AMANDAHOMEDIR}/.profile >>${TMPFILE} 2>&1
787 cat ${TMPFILE}
788 cat ${TMPFILE} >>${INSTALL_LOG}
789
790 echo "`date +'%b %e %Y %T'`: Sending anonymous distribution and version information to Zmanda" >> ${INSTALL_LOG}
791 if [ -x /usr/bin/wget ]; then 
792         /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 
793 fi
794
795 echo "`date +'%b %e %Y %T'`: === Amanda installation complete. ===" >${TMPFILE}
796
797 cat ${TMPFILE}
798 cat ${TMPFILE} >>${INSTALL_LOG}
799 if [ -f "${TMPFILE}" ]; then
800         rm -f "${TMPFILE}"
801 fi
802
803 echo "Amanda installation log can be found in '${INSTALL_LOG}' and errors (if any) in '${INSTALL_ERR}'."
804 %postun
805 /sbin/ldconfig
806 %pre backup_server
807 TMPFILE=`mktemp /tmp/rpm-amanda.XXXXXXXXXXX`
808 if [ $? -ne 0 ]; then
809         echo "Unable to mktemp!" 1>&2
810         exit 1
811 fi
812
813 LOGDIR="%{LOGDIR}"
814 INSTALL_LOG="${LOGDIR}/install.log"
815 INSTALL_ERR="${LOGDIR}/install.err"
816
817 echo "`date +'%b %e %Y %T'`: Preparing to install: %{amanda_version_info}" >${TMPFILE}
818
819 # Check for the 'amanda' user
820 echo "`date +'%b %e %Y %T'`: Checking for '%{amanda_user}' user..." >>${TMPFILE}
821 if [ "`id -u %{amanda_user} > /dev/null 2>&1 && echo 0 || echo 1`" != "0" ] ; then
822         useradd -c "Amanda" -M -g %{amanda_group} -d %{AMANDAHOMEDIR} -s /bin/sh %{amanda_user}
823         if [ %{dist} = "SuSE" ]; then
824                 PASSWD_EXIT=$?
825         else
826                 # Lock the amanda account until admin sets password
827                 passwd -l %{amanda_user} >>/dev/null
828                 PASSWD_EXIT=$?
829         fi
830         if [ ${PASSWD_EXIT} -eq 0 ] ; then
831                 echo "`date +'%b %e %Y %T'`:" >>${TMPFILE}
832                 echo "`date +'%b %e %Y %T'`:  The '%{amanda_user}; user account has been successfully created." >>${TMPFILE}
833                 echo "`date +'%b %e %Y %T'`:  Furthermore, the account has been automatically locked for you" >>${TMPFILE}
834                 echo "`date +'%b %e %Y %T'`:  for security purposes.  Once a password for the  '%{amanda_user}'" >>${TMPFILE}
835                 echo "`date +'%b %e %Y %T'`:  account has been set, the user can be unlocked by issuing" >>${TMPFILE}
836                 echo "`date +'%b %e %Y %T'`:  the following command as root.:" >>${TMPFILE}
837                 echo "`date +'%b %e %Y %T'`:" >>${TMPFILE}
838                 echo "`date +'%b %e %Y %T'`:  # passwd -u %{amanda_user}" >>${TMPFILE}
839                 echo "`date +'%b %e %Y %T'`:" >>${TMPFILE}
840                 echo "`date +'%b %e %Y %T'`:  If this is not a new installation of Amanda and you have" >>${TMPFILE}
841                 echo "`date +'%b %e %Y %T'`:  pre-existing Amanda configurations in %{SYSCONFDIR}/amanda" >>${TMPFILE}
842                 echo "`date +'%b %e %Y %T'`:  you should ensure that 'dumpuser' is set to '%{amanda_user}'" >>${TMPFILE}
843                 echo "`date +'%b %e %Y %T'`:  in those configurations.  Additionally, you should ensure" >>${TMPFILE}
844                 echo "`date +'%b %e %Y %T'`:  that %{AMANDAHOMEDIR}/.amandahosts on your client systems" >>${TMPFILE}
845                 echo "`date +'%b %e %Y %T'`:  is properly configured to allow connections for the user" >>${TMPFILE}
846                 echo "`date +'%b %e %Y %T'`:  '%{amanda_user}'." >>${TMPFILE}
847                 echo "`date +'%b %e %Y %T'`:" >>${TMPFILE}
848                 PASSWD_OK=0
849         else
850                 echo "`date +'%b %e %Y %T'`:  !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE}
851                 echo "`date +'%b %e %Y %T'`:  !!!                                                       !!!" >>${TMPFILE}
852                 echo "`date +'%b %e %Y %T'`:  !!!  The '%{amanda_user}' user account for this system has been   !!!" >>${TMPFILE}
853                 echo "`date +'%b %e %Y %T'`:  !!!  created, however the user has no password set. For   !!!" >>${TMPFILE}
854                 echo "`date +'%b %e %Y %T'`:  !!!  security purposes this account  is normally locked   !!!" >>${TMPFILE}
855                 echo "`date +'%b %e %Y %T'`:  !!!  after creation.  Unfortunately,  when locking this   !!!" >>${TMPFILE}
856                 echo "`date +'%b %e %Y %T'`:  !!!  account an error occurred.  To ensure the security   !!!" >>${TMPFILE}
857                 echo "`date +'%b %e %Y %T'`:  !!!  of your system  you should set a password  for the   !!!" >>${TMPFILE}
858                 echo "`date +'%b %e %Y %T'`:  !!!  user account '%{amanda_user}' immediately!  To set  such a   !!!" >>${TMPFILE}
859                 echo "`date +'%b %e %Y %T'`:  !!!  password, please issue the following command.:       !!!" >>${TMPFILE}
860                 echo "`date +'%b %e %Y %T'`:  !!!                                                       !!!" >>${TMPFILE}
861                 echo "`date +'%b %e %Y %T'`:  !!!   # passwd %{amanda_user}                                     !!!" >>${TMPFILE}
862                 echo "`date +'%b %e %Y %T'`:  !!!                                                       !!!" >>${TMPFILE}
863                 echo "`date +'%b %e %Y %T'`:  !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE}
864                 PASSWD_OK=1
865         fi
866 else
867         # log information about 'amanda' user parameters
868         echo "`date +'%b %e %Y %T'`:" >>${TMPFILE}
869         echo "`date +'%b %e %Y %T'`:  The Amanda backup software is configured to operate as the" >>${TMPFILE}
870         echo "`date +'%b %e %Y %T'`:  user '%{amanda_user}'.  This user exists on your system and has not" >>${TMPFILE}
871         echo "`date +'%b %e %Y %T'`:  been modified.  To ensure that Amanda functions properly," >>${TMPFILE}
872         echo "`date +'%b %e %Y %T'`:  please see that the following parameters are set for that" >>${TMPFILE}
873         echo "`date +'%b %e %Y %T'`:  user.:" >>${TMPFILE}
874         echo "`date +'%b %e %Y %T'`:" >>${TMPFILE}
875         echo "`date +'%b %e %Y %T'`:  SHELL:          /bin/sh" >>${TMPFILE}
876         echo "`date +'%b %e %Y %T'`:  HOME:           %{AMANDAHOMEDIR}" >>${TMPFILE}
877         echo "`date +'%b %e %Y %T'`:  Default group:  %{amanda_group}" >>${TMPFILE}
878         echo "`date +'%b %e %Y %T'`:  Verifying %{amanda_user} parameters :" >>${TMPFILE}
879
880         if [ "`id -gn %{amanda_user}`" != "disk" ] ; then
881                 echo "`date +'%b %e %Y %T'`:  !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE}
882                 echo "`date +'%b %e %Y %T'`:  !!! user 'amandabackup' is not part of the disk group,Pl  !!!" >>${TMPFILE}
883                 echo "`date +'%b %e %Y %T'`:  !!! make sure it is corrected before start using Amanda   !!!" >>${TMPFILE}
884                 echo "`date +'%b %e %Y %T'`:  !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE}
885         else
886                 echo "`date +'%b %e %Y %T'`:  Verified group name of user 'amandabackup'" >>${TMPFILE}
887         fi
888
889         if [ "`grep ^%{amanda_user} /etc/passwd|cut -d: -f7`" != "/bin/sh" ] ; then
890                 echo "`date +'%b %e %Y %T'`:  !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE}
891                 echo "`date +'%b %e %Y %T'`:  !!! user 'amandabackup' default shell should be set to    !!!" >>${TMPFILE}
892                 echo "`date +'%b %e %Y %T'`:  !!! /bin/sh, pl correct before start using Amanda         !!!" >>${TMPFILE}
893                 echo "`date +'%b %e %Y %T'`:  !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE}
894         else
895                 echo "`date +'%b %e %Y %T'`:  Verified Default shell for user 'amandabackup'" >>${TMPFILE}
896         fi
897
898         if [ "`grep ^%{amanda_user} /etc/passwd|cut -d: -f6`" != "%{AMANDAHOMEDIR}" ] ; then
899                 echo "`date +'%b %e %Y %T'`:  !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE}
900                 echo "`date +'%b %e %Y %T'`:  !!! user 'amandabackup' home directory should be set to   !!!" >>${TMPFILE}
901                 echo "`date +'%b %e %Y %T'`:  !!! %{AMANDAHOMEDIR} Pl correct before using Amanda       !!!" >>${TMPFILE}
902                 echo "`date +'%b %e %Y %T'`:  !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE}
903         else
904                 echo "`date +'%b %e %Y %T'`:  Verified Default home directory for user amandabackup" >>${TMPFILE}
905         fi
906         echo "`date +'%b %e %Y %T'`:" >>${TMPFILE}
907         PASSWD_OK=0
908 fi
909 if [ -d %{AMANDAHOMEDIR} ] ; then
910         echo -n "`date +'%b %e %Y %T'`:  Checking ownership of '%{AMANDAHOMEDIR}'... " >>${TMPFILE}
911         if [ "`ls -dl %{AMANDAHOMEDIR} | awk '//{split($_,x); print x[3]}'`" = "%{amanda_user}" ] && \
912            [ "`ls -dl %{AMANDAHOMEDIR} | awk '//{split($_,x); print x[4]}'`" = "%{amanda_group}" ] ; then
913                 echo "correct." >>${TMPFILE}
914                 VARLIB_OK=0
915         else
916                 echo "incorrect!" >>${TMPFILE}
917                 echo "`date +'%b %e %Y %T'`:  Please ensure that the directory '%{AMANDAHOMEDIR}' is owned by" >>${TMPFILE}
918                 echo "`date +'%b %e %Y %T'`:  the user '%{amanda_user}' and group '%{amanda_group}'." >>${TMPFILE}
919                 VARLIB_OK=1
920         fi
921 else
922         VARLIB_OK=0
923 fi
924 echo "`date +'%b %e %Y %T'`:" >>${TMPFILE}
925
926 if [ ! -e ${LOGDIR} ] ; then
927         # create log directory
928         mkdir -m 0750 ${LOGDIR} >>${TMPFILE} 2>&1
929         chown %{amanda_user}:%{amanda_group} ${LOGDIR} >>${TMPFILE} 2>&1
930 elif [ ! -d ${LOGDIR} ] ; then
931         mv ${LOGDIR} ${LOGDIR}.rpmsave >>${TMPFILE} 2>&1
932         mkdir -m 0750 ${LOGDIR} >>${TMPFILE} 2>&1
933         chown %{amanda_user}:%{amanda_group} ${LOGDIR} >>${TMPFILE} 2>&1
934         mv ${LOGDIR}.rpmsave ${LOGDIR}/ >>${TMPFILE} 2>&1
935 fi
936 if [ ${PASSWD_OK} -eq 1 ] || [ ${VARLIB_OK} -eq 1 ] ; then
937         cat ${TMPFILE}
938         cat ${TMPFILE} >>${INSTALL_ERR}
939         echo "Please review '${INSTALL_ERR}' to correct errors which have prevented the Amanda installaton." >&2
940         echo "Amanda installation log can be found in '${INSTALL_LOG}' and errors (if any) in '${INSTALL_ERR}'."
941         exit 1
942 else
943         cat ${TMPFILE}
944         cat ${TMPFILE} >>${INSTALL_LOG}
945 fi
946
947 echo "`date +'%b %e %Y %T'`: === Amanda backup server installation started. ===" >${TMPFILE}
948
949 cat ${TMPFILE}
950 cat ${TMPFILE} >>${INSTALL_LOG}
951 if [ -f "${TMPFILE}" ]; then
952         rm -f "${TMPFILE}"
953 fi
954 %post backup_server
955 TMPFILE=`mktemp /tmp/rpm-amanda.XXXXXXXXXXX`
956 if [ $? -ne 0 ]; then
957         echo "Unable to mktemp!" 1>&2
958         exit 1
959 fi
960 LOGDIR="%{LOGDIR}"
961 INSTALL_LOG="${LOGDIR}/install.log"
962 INSTALL_ERR="${LOGDIR}/install.err"
963
964 echo -n "`date +'%b %e %Y %T'`: Updating system library cache..." >${TMPFILE}
965 /sbin/ldconfig
966 echo "done." >>${TMPFILE}
967 cat ${TMPFILE}
968 cat ${TMPFILE} >>${INSTALL_LOG}
969
970 if [ -e /etc/xinetd.d ] && [ -d /etc/xinetd.d ] ; then
971         if [ ! -f /etc/xinetd.d/amandaserver ] ; then
972                 cp %{AMANDAHOMEDIR}/example/xinetd.amandaserver /etc/xinetd.d/amandaserver
973                 chmod 0644 /etc/xinetd.d/amandaserver >>${TMPFILE} 2>&1
974                 if [ -f /etc/xinetd.d/amandaclient ] ; then
975                         rm /etc/xinetd.d/amandaclient
976                 fi
977
978                 echo -n "`date +'%b %e %Y %T'`: Reloading xinetd configuration..." >${TMPFILE}
979                 if [ "%{xinetd_reload}" == "reload" ] ; then
980                         /etc/init.d/xinetd %{xinetd_reload} >>${TMPFILE} 2>&1
981                         ret_val=$?
982                         if [ ${ret_val} -ne 0 ] ; then
983                                 echo -n "reload failed.  Attempting restart..." >>${TMPFILE}
984                                 /etc/init.d/xinetd restart >>${TMPFILE} 2>&1
985                                 ret_val=$?
986                         fi
987                 else
988                         /etc/init.d/xinetd %{xinetd_reload} >>${TMPFILE} 2>&1
989                         ret_val=$?
990                 fi
991                 if [ ${ret_val} -eq 0 ] ; then
992                         echo "success." >>${TMPFILE}
993                         cat ${TMPFILE}
994                         cat ${TMPFILE} >>${INSTALL_LOG}
995                 else
996                         echo "failed.  Please check your system logs." >>${TMPFILE}
997                         cat ${TMPFILE} 1>&2
998                         cat ${TMPFILE} >>${INSTALL_ERR}
999                 fi
1000         fi
1001 fi
1002
1003 echo "`date +'%b %e %Y %T'`: Installing '%{AMANDATES}'." >${TMPFILE}
1004 ret_val=0
1005 if [ ! -f %{AMANDATES} ] ; then
1006         touch %{AMANDATES} >>${TMPFILE} 2>&1
1007         ret_val=$?
1008         if [ ${ret_val} -eq 0 ]; then
1009                 echo "`date +'%b %e %Y %T'`: The file '%{AMANDATES}' has been created." >>${TMPFILE}
1010         fi
1011 fi
1012 if [ ${ret_val} -eq 0 ]; then
1013         echo "`date +'%b %e %Y %T'`: Ensuring correct permissions for '%{AMANDATES}'." >>${TMPFILE}
1014         chown %{amanda_user}:%{amanda_group} %{AMANDATES} >>${TMPFILE} 2>&1
1015         chmod 0640 %{AMANDATES} >>${TMPFILE} 2>&1
1016 fi
1017 if [ ${ret_val} -eq 0 ]; then
1018         echo "`date +'%b %e %Y %T'`: '%{AMANDATES}' Installation successful." >>${TMPFILE}
1019         cat ${TMPFILE}
1020         cat ${TMPFILE} >>${INSTALL_LOG}
1021 else
1022         echo "`date +'%b %e %Y %T'`: '%{AMANDATES}' Installation failed." >>${TMPFILE}
1023         cat ${TMPFILE}
1024         cat ${TMPFILE} >>${INSTALL_ERR}
1025 fi
1026
1027 # Install .amandahosts to server
1028 echo "`date +'%b %e %Y %T'`: Checking '%{AMANDAHOMEDIR}/.amandahosts' file." >${TMPFILE}
1029 if [ ! -f %{AMANDAHOMEDIR}/.amandahosts ] ; then
1030         touch %{AMANDAHOMEDIR}/.amandahosts >>${TMPFILE} 2>&1
1031 fi
1032 for host in localhost localhost.localdomain ; do
1033         if [ -z "`grep \"^${host}[[:blank:]]\+root[[:blank:]]\+amindexd[[:blank:]]\+amidxtaped\" %{AMANDAHOMEDIR}/.amandahosts`" ] ; then
1034                 echo "${host}   root amindexd amidxtaped" >>%{AMANDAHOMEDIR}/.amandahosts
1035         fi
1036         if [ -z "`grep \"^${host}[[:blank:]]\+%{amanda_user}[[:blank:]]\+amdump\" %{AMANDAHOMEDIR}/.amandahosts`" ] ; then
1037                 echo "${host}   %{amanda_user} amdump" >>%{AMANDAHOMEDIR}/.amandahosts
1038         fi
1039 done
1040 chown %{amanda_user}:%{amanda_group} %{AMANDAHOMEDIR}/.amandahosts >>${TMPFILE} 2>&1
1041 chmod 0600 %{AMANDAHOMEDIR}/.amandahosts >>${TMPFILE} 2>&1
1042 cat ${TMPFILE}
1043 cat ${TMPFILE} >>${INSTALL_LOG}
1044
1045 # Install amanda client configuration file
1046 echo "`date +'%b %e %Y %T'`: Checking '%{SYSCONFDIR}/amanda/amanda-client.conf' file." >${TMPFILE}
1047 if [ ! -f %{SYSCONFDIR}/amanda/amanda-client.conf ] ; then
1048         cp %{AMANDAHOMEDIR}/example/amanda-client.conf %{SYSCONFDIR}/amanda/amanda-client.conf >>${TMPFILE} 2>&1
1049 fi
1050 chown %{amanda_user}:%{amanda_group} %{SYSCONFDIR}/amanda/amanda-client.conf >>${TMPFILE} 2>&1
1051 chmod 0600 %{SYSCONFDIR}/amanda/amanda-client.conf >>${TMPFILE} 2>&1
1052 cat ${TMPFILE}
1053 cat ${TMPFILE} >>${INSTALL_LOG}
1054
1055 # install am_passphrase file to server
1056 echo "`date +'%b %e %Y %T'`: Checking '%{AMANDAHOMEDIR}/.am_passphrase' file." >${TMPFILE}
1057 if [ ! -f %{AMANDAHOMEDIR}/.am_passphrase ] ; then
1058         echo "`date +'%b %e %Y %T'`: Create '%{AMANDAHOMEDIR}/.am_passphrase' file." >${TMPFILE}
1059         touch %{AMANDAHOMEDIR}/.am_passphrase >>${TMPFILE} 2>&1
1060         phrase=`echo $RANDOM | md5sum | awk '{print $1}'`
1061         echo ${phrase} >>%{AMANDAHOMEDIR}/.am_passphrase
1062
1063         chown %{amanda_user}:%{amanda_group} %{AMANDAHOMEDIR}/.am_passphrase >>${TMPFILE} 2>&1
1064         chmod 0700 %{AMANDAHOMEDIR}/.am_passphrase >>${TMPFILE} 2>&1
1065 fi
1066 cat ${TMPFILE}
1067 cat ${TMPFILE} >>${INSTALL_LOG}
1068
1069 # Install .gnupg directory
1070 echo "`date +'%b %e %Y %T'`: Installing '%{AMANDAHOMEDIR}/.gnupg'." >${TMPFILE}
1071 ret_val=0
1072 if [ ! -d %{AMANDAHOMEDIR}/.gnupg ] ; then
1073         echo "`date +'%b %e %Y %T'`: '%{AMANDAHOMEDIR}/.gnupg' will be created." >>${TMPFILE}
1074         mkdir %{AMANDAHOMEDIR}/.gnupg >>${TMPFILE} 2>&1
1075         ret_val=$?
1076         if [ ${ret_val} -eq 0 ]; then
1077                 echo "`date +'%b %e %Y %T'`: The directory '%{AMANDAHOMEDIR}/.gnupg' created successfully." >>${TMPFILE}
1078         else
1079                 echo "`date +'%b %e %Y %T'`: The directory '%{AMANDAHOMEDIR}/.gnupg' creation failed." >>${TMPFILE}
1080         fi
1081 fi
1082 if [ ${ret_val} -eq 0 ]; then
1083         echo "`date +'%b %e %Y %T'`: Ensuring correct permissions for '%{AMANDAHOMEDIR}/.gnupg'." >>${TMPFILE}
1084         chown %{amanda_user}:%{amanda_group} %{AMANDAHOMEDIR}/.gnupg >>${TMPFILE} 2>&1
1085         ret_val=$?
1086         if [ ${ret_val} -eq 0 ]; then
1087                 chmod 700 %{AMANDAHOMEDIR}/.gnupg >>${TMPFILE} 2>&1
1088                 ret_val=$?
1089         fi
1090 fi
1091 if [ ${ret_val} -eq 0 ]; then
1092         echo "`date +'%b %e %Y %T'`: '%{AMANDAHOMEDIR}/.gnupg' Installation successful." >>${TMPFILE}
1093         cat ${TMPFILE}
1094         cat ${TMPFILE} >>${INSTALL_LOG}
1095 else
1096         echo "`date +'%b %e %Y %T'`: '%{AMANDAHOMEDIR}/.gnupg' Installation failed." >>${TMPFILE}
1097         cat ${TMPFILE}
1098         cat ${TMPFILE} >>${INSTALL_ERR}
1099 fi
1100
1101 # SSH RSA key generation on server for amdump
1102 KEYDIR="%{AMANDAHOMEDIR}/.ssh"
1103 KEYFILE="id_rsa_amdump"
1104 COMMENT="%{amanda_user}@server"
1105 if [ ! -d ${KEYDIR} ] ; then
1106         if [ -f ${KEYDIR} ] ; then
1107                 echo "`date +'%b %e %Y %T'`: Directory '${KEYDIR}' exists as a file.  Renaming to '${KEYDIR}.rpmsave'." >${TMPFILE}
1108                 mv ${KEYDIR} ${KEYDIR}.rpmsave >>${TMPFILE} 2>&1
1109                 cat ${TMPFILE}
1110                 cat ${TMPFILE} >>${INSTALL_LOG}
1111         fi
1112         echo "`date +'%b %e %Y %T'`: Creating directory '${KEYDIR}'." >${TMPFILE}
1113         mkdir ${KEYDIR} >>${TMPFILE} 2>&1
1114         cat ${TMPFILE}
1115         cat ${TMPFILE} >>${INSTALL_LOG}
1116 fi
1117 if [ ! -f ${KEYDIR}/${KEYFILE} ] ; then
1118         echo "`date +'%b %e %Y %T'`: Creating ssh RSA key in '${KEYDIR}/${KEYFILE}'" >${TMPFILE}
1119         ssh-keygen -q -C $COMMENT -t rsa -f ${KEYDIR}/${KEYFILE} -N '' >>${TMPFILE} 2>&1
1120         cat ${TMPFILE}
1121         cat ${TMPFILE} >>${INSTALL_LOG}
1122 fi
1123 echo "`date +'%b %e %Y %T'`: Setting ownership and permissions for '${KEYDIR}' and '${KEYDIR}/${KEYFILE}*'" >${TMPFILE}
1124 chown %{amanda_user}:%{amanda_group} ${KEYDIR} ${KEYDIR}/${KEYFILE}* >>${TMPFILE} 2>&1
1125 chmod 0750 ${KEYDIR} >>${TMPFILE} 2>&1
1126 chmod 0600 ${KEYDIR}/${KEYFILE}* >>${TMPFILE} 2>&1
1127 cat ${TMPFILE}
1128 cat ${TMPFILE} >>${INSTALL_LOG}
1129
1130 # SSH RSA key generation on client for amrecover
1131 KEYDIR="%{AMANDAHOMEDIR}/.ssh"
1132 KEYFILE="id_rsa_amrecover"
1133 COMMENT="root@client"
1134 if [ ! -d ${KEYDIR} ] ; then
1135         if [ -f ${KEYDIR} ] ; then
1136                 echo "`date +'%b %e %Y %T'`: Directory '${KEYDIR}' exists as a file.  Renaming to '${KEYDIR}.rpmsave'." >${TMPFILE}
1137                 mv ${KEYDIR} ${KEYDIR}.rpmsave >>${TMPFILE} 2>&1
1138                 cat ${TMPFILE}
1139                 cat ${TMPFILE} >>${INSTALL_LOG}
1140         fi
1141         echo "`date +'%b %e %Y %T'`: Creating directory '${KEYDIR}'." >${TMPFILE}
1142         mkdir ${KEYDIR} >>${TMPFILE} 2>&1
1143         cat ${TMPFILE}
1144         cat ${TMPFILE} >>${INSTALL_LOG}
1145 fi
1146 if [ ! -f ${KEYDIR}/${KEYFILE} ] ; then
1147         echo "`date +'%b %e %Y %T'`: Creating ssh RSA key in '${KEYDIR}/${KEYFILE}'" >${TMPFILE}
1148         ssh-keygen -q -C $COMMENT -t rsa -f ${KEYDIR}/${KEYFILE} -N '' >>${TMPFILE} 2>&1
1149         cat ${TMPFILE}
1150         cat ${TMPFILE} >>${INSTALL_LOG}
1151 fi
1152 echo "`date +'%b %e %Y %T'`: Setting ownership and permissions for '${KEYDIR}'" >${TMPFILE}
1153 chown %{amanda_user}:%{amanda_group} ${KEYDIR} >>${TMPFILE} 2>&1
1154 chmod 0750 ${KEYDIR} >>${TMPFILE} 2>&1
1155 chmod 0600 ${KEYDIR}/${KEYFILE}* >>${TMPFILE} 2>&1
1156 cat ${TMPFILE}
1157 cat ${TMPFILE} >>${INSTALL_LOG}
1158
1159 # environment variables (~amandabackup/.profile)
1160 echo "`date +'%b %e %Y %T'`: Checking for '%{AMANDAHOMEDIR}/.profile' and ensuring correct environment." >${TMPFILE}
1161 if [ ! -f %{AMANDAHOMEDIR}/.profile ] ; then
1162         touch %{AMANDAHOMEDIR}/.profile >>${TMPFILE} 2>&1
1163 fi
1164 if [ -z "`grep PATH %{AMANDAHOMEDIR}/.profile | grep '%{SBINDIR}'`" ] ; then
1165         echo "export PATH=\"\$PATH:%{SBINDIR}\"" >>%{AMANDAHOMEDIR}/.profile 2>>${TMPFILE}
1166 fi
1167 cat ${TMPFILE}
1168 cat ${TMPFILE} >>${INSTALL_LOG}
1169
1170 echo "`date +'%b %e %Y %T'`: Setting ownership and permissions for '%{AMANDAHOMEDIR}/.profile'" >${TMPFILE}
1171 chown %{amanda_user}:%{amanda_group} %{AMANDAHOMEDIR}/.profile >>${TMPFILE} 2>&1
1172 chmod 0640 %{AMANDAHOMEDIR}/.profile >>${TMPFILE} 2>&1
1173 cat ${TMPFILE}
1174 cat ${TMPFILE} >>${INSTALL_LOG}
1175
1176 echo "`date +'%b %e %Y %T'`: Sending anonymous distribution and version information to Zmanda" >> ${INSTALL_LOG}
1177 if [ -x /usr/bin/wget ]; then 
1178         /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 
1179 fi
1180
1181 echo "`date +'%b %e %Y %T'`: === Amanda backup server installation complete. ===" >${TMPFILE}
1182
1183 cat ${TMPFILE}
1184 cat ${TMPFILE} >>${INSTALL_LOG}
1185
1186 if [ -f "${TMPFILE}" ]; then
1187         rm -f "${TMPFILE}" >>${TMPFILE} 2>&1
1188 fi
1189
1190 echo "Amanda installation log can be found in '${INSTALL_LOG}' and errors (if any) in '${INSTALL_ERR}'."
1191 %postun backup_server
1192 /sbin/ldconfig
1193 %pre backup_client
1194 TMPFILE=`mktemp /tmp/rpm-amanda.XXXXXXXXXXX`
1195 if [ $? -ne 0 ]; then
1196         echo "Unable to mktemp!" 1>&2
1197         exit 1
1198 fi
1199 LOGDIR="%{LOGDIR}"
1200 INSTALL_LOG="${LOGDIR}/install.log"
1201 INSTALL_ERR="${LOGDIR}/install.err"
1202
1203 echo "`date +'%b %e %Y %T'`: Preparing to install: %{amanda_version_info}" >${TMPFILE}
1204
1205 # Check for the 'amanda' user
1206 echo "`date +'%b %e %Y %T'`: Checking for '%{amanda_user}' user..." >>${TMPFILE}
1207 if [ "`id -u %{amanda_user} > /dev/null 2>&1 && echo 0 || echo 1`" != "0" ] ; then
1208         useradd -c "Amanda" -M -g %{amanda_group} -d %{AMANDAHOMEDIR} -s /bin/sh %{amanda_user} >>${TMPFILE} 2>&1
1209         if [ %{dist} = "SuSE" ]; then
1210                 PASSWD_EXIT=$?
1211         else
1212                 # Lock the amanda account until admin sets password
1213                 passwd -l %{amanda_user} >>/dev/null
1214                 PASSWD_EXIT=$?
1215         fi
1216         if [ ${PASSWD_EXIT} -eq 0 ] ; then
1217                 echo "`date +'%b %e %Y %T'`:" >>${TMPFILE}
1218                 echo "`date +'%b %e %Y %T'`:  The '%{amanda_user}; user account has been successfully created." >>${TMPFILE}
1219                 echo "`date +'%b %e %Y %T'`:  Furthermore, the account has been automatically locked for you" >>${TMPFILE}
1220                 echo "`date +'%b %e %Y %T'`:  for security purposes.  Once a password for the  '%{amanda_user}'" >>${TMPFILE}
1221                 echo "`date +'%b %e %Y %T'`:  account has been set, the user can be unlocked by issuing" >>${TMPFILE}
1222                 echo "`date +'%b %e %Y %T'`:  the following command as root.:" >>${TMPFILE}
1223                 echo "`date +'%b %e %Y %T'`:" >>${TMPFILE}
1224                 echo "`date +'%b %e %Y %T'`:  # passwd -u %{amanda_user}" >>${TMPFILE}
1225                 echo "`date +'%b %e %Y %T'`:" >>${TMPFILE}
1226                 echo "`date +'%b %e %Y %T'`:  If this is not a new installation of Amanda and you have" >>${TMPFILE}
1227                 echo "`date +'%b %e %Y %T'`:  pre-existing Amanda configurations in %{SYSCONFDIR}/amanda" >>${TMPFILE}
1228                 echo "`date +'%b %e %Y %T'`:  you should ensure that 'dumpuser' is set to '%{amanda_user}'" >>${TMPFILE}
1229                 echo "`date +'%b %e %Y %T'`:  in those configurations.  Additionally, you should ensure" >>${TMPFILE}
1230                 echo "`date +'%b %e %Y %T'`:  that %{AMANDAHOMEDIR}/.amandahosts on your client systems" >>${TMPFILE}
1231                 echo "`date +'%b %e %Y %T'`:  is properly configured to allow connections for the user" >>${TMPFILE}
1232                 echo "`date +'%b %e %Y %T'`:  '%{amanda_user}'." >>${TMPFILE}
1233                 echo "`date +'%b %e %Y %T'`:" >>${TMPFILE}
1234                 PASSWD_OK=0
1235         else
1236                 echo "`date +'%b %e %Y %T'`:  !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE}
1237                 echo "`date +'%b %e %Y %T'`:  !!!                                                       !!!" >>${TMPFILE}
1238                 echo "`date +'%b %e %Y %T'`:  !!!  The '%{amanda_user}' user account for this system has been   !!!" >>${TMPFILE}
1239                 echo "`date +'%b %e %Y %T'`:  !!!  created, however the user has no password set. For   !!!" >>${TMPFILE}
1240                 echo "`date +'%b %e %Y %T'`:  !!!  security purposes this account  is normally locked   !!!" >>${TMPFILE}
1241                 echo "`date +'%b %e %Y %T'`:  !!!  after creation.  Unfortunately,  when locking this   !!!" >>${TMPFILE}
1242                 echo "`date +'%b %e %Y %T'`:  !!!  account an error occurred.  To ensure the security   !!!" >>${TMPFILE}
1243                 echo "`date +'%b %e %Y %T'`:  !!!  of your system  you should set a password  for the   !!!" >>${TMPFILE}
1244                 echo "`date +'%b %e %Y %T'`:  !!!  user account '%{amanda_user}' immediately!  To set  such a   !!!" >>${TMPFILE}
1245                 echo "`date +'%b %e %Y %T'`:  !!!  password, please issue the following command.:       !!!" >>${TMPFILE}
1246                 echo "`date +'%b %e %Y %T'`:  !!!                                                       !!!" >>${TMPFILE}
1247                 echo "`date +'%b %e %Y %T'`:  !!!   # passwd %{amanda_user}                                     !!!" >>${TMPFILE}
1248                 echo "`date +'%b %e %Y %T'`:  !!!                                                       !!!" >>${TMPFILE}
1249                 echo "`date +'%b %e %Y %T'`:  !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE}
1250                 PASSWD_OK=1
1251         fi
1252 else
1253         # log information about 'amanda' user parameters
1254         echo "`date +'%b %e %Y %T'`:" >>${TMPFILE}
1255         echo "`date +'%b %e %Y %T'`:  The Amanda backup software is configured to operate as the" >>${TMPFILE}
1256         echo "`date +'%b %e %Y %T'`:  user '%{amanda_user}'.  This user exists on your system and has not" >>${TMPFILE}
1257         echo "`date +'%b %e %Y %T'`:  been modified.  To ensure that Amanda functions properly," >>${TMPFILE}
1258         echo "`date +'%b %e %Y %T'`:  please see that the following parameters are set for that" >>${TMPFILE}
1259         echo "`date +'%b %e %Y %T'`:  user.:" >>${TMPFILE}
1260         echo "`date +'%b %e %Y %T'`:" >>${TMPFILE}
1261         echo "`date +'%b %e %Y %T'`:  SHELL:          /bin/sh" >>${TMPFILE}
1262         echo "`date +'%b %e %Y %T'`:  HOME:           %{AMANDAHOMEDIR}" >>${TMPFILE}
1263         echo "`date +'%b %e %Y %T'`:  Default group:  %{amanda_group}" >>${TMPFILE}
1264         echo "`date +'%b %e %Y %T'`:  Verifying %{amanda_user} parameters :" >>${TMPFILE}
1265
1266         if [ "`id -gn %{amanda_user}`" != "disk" ] ; then
1267                 echo "`date +'%b %e %Y %T'`:  !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE}
1268                 echo "`date +'%b %e %Y %T'`:  !!! user 'amandabackup' is not part of the disk group,Pl  !!!" >>${TMPFILE}
1269                 echo "`date +'%b %e %Y %T'`:  !!! make sure it is corrected before start using Amanda   !!!" >>${TMPFILE}
1270                 echo "`date +'%b %e %Y %T'`:  !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE}
1271         else
1272                 echo "`date +'%b %e %Y %T'`:  Verified group name of user 'amandabackup'" >>${TMPFILE}
1273         fi
1274
1275         if [ "`grep ^%{amanda_user} /etc/passwd|cut -d: -f7`" != "/bin/sh" ] ; then
1276                 echo "`date +'%b %e %Y %T'`:  !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE}
1277                 echo "`date +'%b %e %Y %T'`:  !!! user 'amandabackup' default shell should be set to    !!!" >>${TMPFILE}
1278                 echo "`date +'%b %e %Y %T'`:  !!! /bin/sh, pl correct before start using Amanda         !!!" >>${TMPFILE}
1279                 echo "`date +'%b %e %Y %T'`:  !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE}
1280         else
1281                 echo "`date +'%b %e %Y %T'`:  Verified Default shell for user 'amandabackup'" >>${TMPFILE}
1282         fi
1283
1284         if [ "`grep ^%{amanda_user} /etc/passwd|cut -d: -f6`" != "%{AMANDAHOMEDIR}" ] ; then
1285                 echo "`date +'%b %e %Y %T'`:  !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE}
1286                 echo "`date +'%b %e %Y %T'`:  !!! user 'amandabackup' home directory should be set to   !!!" >>${TMPFILE}
1287                 echo "`date +'%b %e %Y %T'`:  !!! %{AMANDAHOMEDIR} Pl correct before using Amanda       !!!" >>${TMPFILE}
1288                 echo "`date +'%b %e %Y %T'`:  !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE}
1289         else
1290                 echo "`date +'%b %e %Y %T'`:  Verified Default home directory for user amandabackup" >>${TMPFILE}
1291         fi
1292         echo "`date +'%b %e %Y %T'`:" >>${TMPFILE}
1293         PASSWD_OK=0
1294 fi
1295 if [ -d %{AMANDAHOMEDIR} ] ; then
1296         echo -n "`date +'%b %e %Y %T'`:  Checking ownership of '%{AMANDAHOMEDIR}'... " >>${TMPFILE}
1297         if [ "`ls -dl %{AMANDAHOMEDIR} | awk '//{split($_,x); print x[3]}'`" = "%{amanda_user}" ] && \
1298            [ "`ls -dl %{AMANDAHOMEDIR} | awk '//{split($_,x); print x[4]}'`" = "%{amanda_group}" ] ; then
1299                 echo "correct." >>${TMPFILE}
1300                 VARLIB_OK=0
1301         else
1302                 echo "incorrect!" >>${TMPFILE}
1303                 echo "`date +'%b %e %Y %T'`:  Please ensure that the directory '%{AMANDAHOMEDIR}' is owned by" >>${TMPFILE}
1304                 echo "`date +'%b %e %Y %T'`:  the user '%{amanda_user}' and group '%{amanda_group}'." >>${TMPFILE}
1305                 VARLIB_OK=1
1306         fi
1307 else
1308         VARLIB_OK=0
1309 fi
1310 echo "`date +'%b %e %Y %T'`:" >>${TMPFILE}
1311
1312 if [ ! -e ${LOGDIR} ] ; then
1313         # create log directory
1314         mkdir -m 0750 ${LOGDIR} >>${TMPFILE} 2>&1
1315         chown %{amanda_user}:%{amanda_group} ${LOGDIR} >>${TMPFILE} 2>&1
1316 elif [ ! -d ${LOGDIR} ] ; then
1317         mv ${LOGDIR} ${LOGDIR}.rpmsave >>${TMPFILE} 2>&1
1318         mkdir -m 0750 ${LOGDIR} >>${TMPFILE} 2>&1
1319         chown %{amanda_user}:%{amanda_group} ${LOGDIR} >>${TMPFILE} 2>&1
1320         mv ${LOGDIR}.rpmsave ${LOGDIR}/ >>${TMPFILE} 2>&1
1321 fi
1322 if [ ${PASSWD_OK} -eq 1 ] || [ ${VARLIB_OK} -eq 1 ] ; then
1323         cat ${TMPFILE}
1324         cat ${TMPFILE} >>${INSTALL_ERR}
1325         echo "Please review '${INSTALL_ERR}' to correct errors which have prevented the Amanda installaton." >&2
1326         echo "Amanda installation log can be found in '${INSTALL_LOG}' and errors (if any) in '${INSTALL_ERR}'."
1327         exit 1
1328 else
1329         cat ${TMPFILE}
1330         cat ${TMPFILE} >>${INSTALL_LOG}
1331 fi
1332
1333 echo "`date +'%b %e %Y %T'`: === Amanda backup client installation started. ===" >${TMPFILE}
1334
1335 cat ${TMPFILE}
1336 cat ${TMPFILE} >>${INSTALL_LOG}
1337
1338 if [ -f "${TMPFILE}" ]; then
1339         rm -f "${TMPFILE}"
1340 fi
1341
1342 %post backup_client
1343 TMPFILE=`mktemp /tmp/rpm-amanda.XXXXXXXXXXX`
1344 if [ $? -ne 0 ]; then
1345         echo "Unable to mktemp!" 1>&2
1346         exit 1
1347 fi
1348 LOGDIR="%{LOGDIR}"
1349 INSTALL_LOG="${LOGDIR}/install.log"
1350 INSTALL_ERR="${LOGDIR}/install.err"
1351
1352 echo -n "`date +'%b %e %Y %T'`: Updating system library cache..." >${TMPFILE}
1353 /sbin/ldconfig
1354 echo "done." >>${TMPFILE}
1355 cat ${TMPFILE}
1356 cat ${TMPFILE} >>${INSTALL_LOG}
1357
1358 if [ -e /etc/xinetd.d ] && [ -d /etc/xinetd.d ] ; then
1359         if [ ! -f /etc/xinetd.d/amandaclient ] ; then
1360                 cp %{AMANDAHOMEDIR}/example/xinetd.amandaclient /etc/xinetd.d/amandaclient
1361
1362                 echo -n "`date +'%b %e %Y %T'`: Reloading xinetd configuration..." >${TMPFILE}
1363                 if [ "%{xinetd_reload}" == "reload" ] ; then
1364                         /etc/init.d/xinetd %{xinetd_reload} >>${TMPFILE} 2>&1
1365                         ret_val=$?
1366                         if [ ${ret_val} -ne 0 ] ; then
1367                                 echo -n "reload failed.  Attempting restart..." >>${TMPFILE}
1368                                 /etc/init.d/xinetd restart >>${TMPFILE} 2>&1
1369                                 ret_val=$?
1370                         fi
1371                 else
1372                         /etc/init.d/xinetd %{xinetd_reload} >>${TMPFILE} 2>&1
1373                         ret_val=$?
1374                 fi
1375                 if [ ${ret_val} -eq 0 ] ; then
1376                         echo "success." >>${TMPFILE}
1377                         cat ${TMPFILE}
1378                         cat ${TMPFILE} >>${INSTALL_LOG}
1379                 else
1380                         echo "failed.  Please check your system logs." >>${TMPFILE}
1381                         cat ${TMPFILE}
1382                         cat ${TMPFILE} >>${INSTALL_LOG}
1383                 fi
1384         fi
1385 fi
1386
1387 echo "`date +'%b %e %Y %T'`: Installing '%{AMANDATES}'." >${TMPFILE}
1388 ret_val=0
1389 if [ ! -f %{AMANDATES} ] ; then
1390         touch %{AMANDATES} >>${TMPFILE} 2>&1
1391         ret_val=$?
1392         if [ ${ret_val} -eq 0 ]; then
1393                 echo "`date +'%b %e %Y %T'`: The file '%{AMANDATES}' has been created." >>${TMPFILE}
1394         fi
1395 fi
1396 if [ ${ret_val} -eq 0 ]; then
1397         echo "`date +'%b %e %Y %T'`: Ensuring correct permissions for '%{AMANDATES}'." >>${TMPFILE}
1398         chown %{amanda_user}:%{amanda_group} %{AMANDATES} >>${TMPFILE} 2>&1
1399         chmod 0640 %{AMANDATES} >>${TMPFILE} 2>&1
1400 fi
1401 if [ ${ret_val} -eq 0 ]; then
1402         echo "`date +'%b %e %Y %T'`: '%{AMANDATES}' Installation successful." >>${TMPFILE}
1403         cat ${TMPFILE}
1404         cat ${TMPFILE} >>${INSTALL_LOG}
1405 else
1406         echo "`date +'%b %e %Y %T'`: '%{AMANDATES}' Installation failed." >>${TMPFILE}
1407         cat ${TMPFILE}
1408         cat ${TMPFILE} >>${INSTALL_ERR}
1409 fi
1410
1411 # Install .amandahosts to client
1412 echo "`date +'%b %e %Y %T'`: Checking '%{AMANDAHOMEDIR}/.amandahosts' file." >${TMPFILE}
1413 if [ ! -f %{AMANDAHOMEDIR}/.amandahosts ] ; then
1414         touch %{AMANDAHOMEDIR}/.amandahosts >>${TMPFILE} 2>&1
1415 fi
1416 for host in localhost localhost.localdomain ; do
1417                 if [ -z "`grep \"^${host}[[:blank:]]\+\" %{AMANDAHOMEDIR}/.amandahosts | grep \"[[:blank:]]\+%{amanda_user}[[:blank:]]\+amdump\"`" ] ; then
1418                         echo "${host}   %{amanda_user} amdump" >>%{AMANDAHOMEDIR}/.amandahosts
1419                 fi
1420 done
1421 chown %{amanda_user}:%{amanda_group} %{AMANDAHOMEDIR}/.amandahosts >>${TMPFILE} 2>&1
1422 chmod 0600 %{AMANDAHOMEDIR}/.amandahosts >>${TMPFILE} 2>&1
1423 cat ${TMPFILE}
1424 cat ${TMPFILE} >>${INSTALL_LOG}
1425
1426 # Install amanda client configuration file
1427 echo "`date +'%b %e %Y %T'`: Checking '%{SYSCONFDIR}/amanda/amanda-client.conf' file." >${TMPFILE}
1428 if [ ! -f %{SYSCONFDIR}/amanda/amanda-client.conf ] ; then
1429         cp %{AMANDAHOMEDIR}/example/amanda-client.conf %{SYSCONFDIR}/amanda/amanda-client.conf >>${TMPFILE} 2>&1
1430 fi
1431 chown %{amanda_user}:%{amanda_group} %{SYSCONFDIR}/amanda/amanda-client.conf >>${TMPFILE} 2>&1
1432 chmod 0600 %{SYSCONFDIR}/amanda/amanda-client.conf >>${TMPFILE} 2>&1
1433 cat ${TMPFILE}
1434 cat ${TMPFILE} >>${INSTALL_LOG}
1435
1436 # Install .gnupg directory
1437 echo "`date +'%b %e %Y %T'`: Installing '%{AMANDAHOMEDIR}/.gnupg'." >${TMPFILE}
1438 ret_val=0
1439 if [ ! -d %{AMANDAHOMEDIR}/.gnupg ] ; then
1440         echo "`date +'%b %e %Y %T'`: '%{AMANDAHOMEDIR}/.gnupg' will be created." >>${TMPFILE}
1441         mkdir %{AMANDAHOMEDIR}/.gnupg >>${TMPFILE} 2>&1
1442         ret_val=$?
1443         if [ ${ret_val} -eq 0 ]; then
1444                 echo "`date +'%b %e %Y %T'`: The directory '%{AMANDAHOMEDIR}/.gnupg' created successfully." >>${TMPFILE}
1445         else
1446                 echo "`date +'%b %e %Y %T'`: The directory '%{AMANDAHOMEDIR}/.gnupg' creation failed." >>${TMPFILE}
1447         fi
1448 fi
1449 if [ ${ret_val} -eq 0 ]; then
1450         echo "`date +'%b %e %Y %T'`: Ensuring correct permissions for '%{AMANDAHOMEDIR}/.gnupg'." >>${TMPFILE}
1451         chown %{amanda_user}:%{amanda_group} %{AMANDAHOMEDIR}/.gnupg >>${TMPFILE} 2>&1
1452         ret_val=$?
1453         if [ ${ret_val} -eq 0 ]; then
1454                 chmod 700 %{AMANDAHOMEDIR}/.gnupg >>${TMPFILE} 2>&1
1455                 ret_val=$?
1456         fi
1457 fi
1458 if [ ${ret_val} -eq 0 ]; then
1459         echo "`date +'%b %e %Y %T'`: '%{AMANDAHOMEDIR}/.gnupg' Installation successful." >>${TMPFILE}
1460         cat ${TMPFILE}
1461         cat ${TMPFILE} >>${INSTALL_LOG}
1462 else
1463         echo "`date +'%b %e %Y %T'`: '%{AMANDAHOMEDIR}/.gnupg' Installation failed." >>${TMPFILE}
1464         cat ${TMPFILE}
1465         cat ${TMPFILE} >>${INSTALL_ERR}
1466 fi
1467
1468 # SSH RSA key generation on client for amrecover
1469 KEYDIR="%{AMANDAHOMEDIR}/.ssh"
1470 KEYFILE="id_rsa_amrecover"
1471 COMMENT="root@client"
1472 if [ ! -d ${KEYDIR} ] ; then
1473         if [ -f ${KEYDIR} ] ; then
1474                 echo "`date +'%b %e %Y %T'`: Directory '${KEYDIR}' exists as a file.  Renaming to '${KEYDIR}.rpmsave'." >${TMPFILE}
1475                 mv ${KEYDIR} ${KEYDIR}.rpmsave >>${TMPFILE} 2>&1
1476                 cat ${TMPFILE}
1477                 cat ${TMPFILE} >>${INSTALL_LOG}
1478         fi
1479         echo "`date +'%b %e %Y %T'`: Creating directory '${KEYDIR}'." >${TMPFILE}
1480         mkdir ${KEYDIR} >>${TMPFILE} 2>&1
1481         cat ${TMPFILE}
1482         cat ${TMPFILE} >>${INSTALL_LOG}
1483 fi
1484 if [ ! -f ${KEYDIR}/${KEYFILE} ] ; then
1485         echo "`date +'%b %e %Y %T'`: Creating ssh RSA key in '${KEYDIR}/${KEYFILE}'" >${TMPFILE}
1486         ssh-keygen -q -C $COMMENT -t rsa -f ${KEYDIR}/${KEYFILE} -N '' >>${TMPFILE} 2>&1
1487         cat ${TMPFILE}
1488         cat ${TMPFILE} >>${INSTALL_LOG}
1489 fi
1490 echo "`date +'%b %e %Y %T'`: Setting permissions for '${KEYDIR}' and '${KEYDIR}/${KEYFILE}*'" >${TMPFILE}
1491 chown %{amanda_user}:%{amanda_group} ${KEYDIR} >>${TMPFILE} 2>&1
1492 chmod 0750 ${KEYDIR} >>${TMPFILE} 2>&1
1493 chmod 0600 ${KEYDIR}/${KEYFILE}* >>${TMPFILE} 2>&1
1494 cat ${TMPFILE}
1495 cat ${TMPFILE} >>${INSTALL_LOG}
1496
1497 # environment variables (~amandabackup/.profile)
1498 echo "`date +'%b %e %Y %T'`: Checking for '%{AMANDAHOMEDIR}/.profile' and ensuring correct environment." >${TMPFILE}
1499 if [ ! -f %{AMANDAHOMEDIR}/.profile ] ; then
1500         touch %{AMANDAHOMEDIR}/.profile >>${TMPFILE} 2>&1
1501 fi
1502 if [ -z "`grep PATH %{AMANDAHOMEDIR}/.profile | grep '%{SBINDIR}'`" ] ; then
1503         echo "export PATH=\"\$PATH:%{SBINDIR}\"" >>%{AMANDAHOMEDIR}/.profile 2>>${TMPFILE}
1504 fi
1505 cat ${TMPFILE}
1506 cat ${TMPFILE} >>${INSTALL_LOG}
1507 echo "`date +'%b %e %Y %T'`: Setting ownership and permissions for '%{AMANDAHOMEDIR}/.profile'" >${TMPFILE}
1508 chown %{amanda_user}:%{amanda_group} %{AMANDAHOMEDIR}/.profile >>${TMPFILE} 2>&1
1509 chmod 0640 %{AMANDAHOMEDIR}/.profile >>${TMPFILE} 2>&1
1510 cat ${TMPFILE}
1511 cat ${TMPFILE} >>${INSTALL_LOG}
1512
1513 echo "`date +'%b %e %Y %T'`: Sending anonymous distribution and version information to Zmanda" >> ${INSTALL_LOG}
1514 if [ -x /usr/bin/wget ]; then 
1515         /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 
1516 fi
1517
1518 echo "`date +'%b %e %Y %T'`: === Amanda backup client installation complete. ===" >>${TMPFILE}
1519 cat ${TMPFILE}
1520 cat ${TMPFILE} >>${INSTALL_LOG}
1521
1522 if [ -f "${TMPFILE}" ]; then
1523         rm -f "${TMPFILE}"
1524 fi
1525
1526 echo "Amanda installation log can be found in '${INSTALL_LOG}' and errors (if any) in '${INSTALL_ERR}'."
1527 %postun backup_client
1528 /sbin/ldconfig
1529
1530 # --- Files to install ---
1531 # Notes:  Do not use wildcards on directories not wholly owned by amanda.  An
1532 # uninstall of the software will attempt to delete whatever matches here.
1533 %files backup_client
1534 %defattr(0755,%{amanda_user},%{amanda_group},0755)
1535 %{AMLIBEXECDIR}
1536 %{AMLIBDIR}
1537 %{PERLSITELIB}/auto/Amanda
1538 %defattr(4750,root,disk)
1539 %{AMLIBEXECDIR}/application/amgtar
1540 %{AMLIBEXECDIR}/application/amstar
1541 %{AMLIBEXECDIR}/calcsize
1542 %{AMLIBEXECDIR}/killpgrp
1543 %{AMLIBEXECDIR}/rundump
1544 %{AMLIBEXECDIR}/runtar
1545 %defattr(0750,%{amanda_user},%{amanda_group},0750)
1546 %{LOGDIR}
1547 %{SBINDIR}/amaespipe
1548 %{SBINDIR}/amcryp*
1549 %{SBINDIR}/amgpgcrypt
1550 %{SBINDIR}/amoldrecover
1551 %{SBINDIR}/amrecover
1552 %{SYSCONFDIR}/amanda
1553 %defattr(0644,%{amanda_user},%{amanda_group},0755)
1554 %{LOCALSTATEDIR}/amanda
1555 %{PERLSITELIB}/Amanda
1556 %{AMLIBEXECDIR}/amcat.awk
1557 %{AMANDAHOMEDIR}/gnutar-lists
1558 %doc %{AMANDAHOMEDIR}/amanda-release
1559 %doc %{AMANDAHOMEDIR}/example/xinetd.amandaclient
1560 %doc %{AMANDAHOMEDIR}/example/xinetd.amandaserver
1561 %doc %{AMANDAHOMEDIR}/example/amanda-client.conf
1562 %doc %{AMANDAHOMEDIR}/template.d/README
1563 %doc %{AMANDAHOMEDIR}/template.d/dumptypes
1564 %defattr(0644,root,root,0755)
1565 %docdir %{MANDIR}
1566 %{MANDIR}/man5/amanda.conf.5.gz
1567 %{MANDIR}/man5/amanda-client.conf.5.gz
1568 %{MANDIR}/man7/amanda-devices.7.gz
1569 %{MANDIR}/man7/amanda-applications.7.gz
1570 %{MANDIR}/man7/amanda-scripts.7.gz
1571 %{MANDIR}/man8/amaespipe.8.gz
1572 %{MANDIR}/man8/amanda.8.gz
1573 %{MANDIR}/man8/amcheckdump.8.gz
1574 %{MANDIR}/man8/amcrypt*
1575 %{MANDIR}/man8/amgpgcrypt.8.gz
1576 %{MANDIR}/man8/amrecover.8.gz
1577 %doc %{DATADIR}/amanda
1578
1579 %files backup_server
1580 %defattr(0755,%{amanda_user},%{amanda_group})
1581 %{AMLIBEXECDIR}
1582 %{AMLIBDIR}
1583 %{PERLSITELIB}/Amanda
1584 %{PERLSITELIB}/auto/Amanda
1585 %{AMANDAHOMEDIR}
1586 %{LOCALSTATEDIR}/amanda
1587 %{SBINDIR}/am*
1588 %defattr(4750,root,disk)
1589 %{AMLIBEXECDIR}/application/amgtar
1590 %{AMLIBEXECDIR}/application/amstar
1591 %{AMLIBEXECDIR}/calcsize
1592 %{AMLIBEXECDIR}/killpgrp
1593 %{AMLIBEXECDIR}/rundump
1594 %{AMLIBEXECDIR}/runtar
1595 %{AMLIBEXECDIR}/dumper
1596 %{AMLIBEXECDIR}/planner
1597 %{SBINDIR}/amcheck
1598 %defattr(0750,%{amanda_user},%{amanda_group},0750)
1599 %{LOGDIR}
1600 %{SYSCONFDIR}/amanda
1601 # Files in standard dirs must be listed explicitly
1602 %{SBINDIR}/activate-devpay
1603 %{SBINDIR}/amaespipe
1604 %{SBINDIR}/amcrypt
1605 %{SBINDIR}/amcrypt-ossl
1606 %{SBINDIR}/amcrypt-ossl-asym
1607 %{SBINDIR}/amcryptsimple
1608 %{SBINDIR}/amgpgcrypt
1609 %{SBINDIR}/amoldrecover
1610 %{SBINDIR}/amrecover
1611 %defattr(0644,%{amanda_user},%{amanda_group})
1612 %{AMLIBEXECDIR}/amcat.awk
1613 %{AMLIBEXECDIR}/amplot.awk
1614 %{AMLIBEXECDIR}/amplot.g
1615 %{AMLIBEXECDIR}/amplot.gp
1616 %doc %{AMANDAHOMEDIR}/amanda-release
1617 %docdir %{AMANDAHOMEDIR}/example
1618 %docdir %{AMANDAHOMEDIR}/template.d
1619 %defattr(0644,root,root,0755)
1620 %docdir %{MANDIR}
1621 %{MANDIR}/man5/am*
1622 %{MANDIR}/man5/disklist.5.gz
1623 %{MANDIR}/man5/tapelist.5.gz
1624 %{MANDIR}/man7/am*
1625 %{MANDIR}/man8/am*
1626 %{MANDIR}/man8/script-email.8.gz
1627 %doc %{DATADIR}/amanda
1628
1629 # --- ChangeLog
1630
1631 %changelog
1632 * Fri Aug 20 2010 Dan Locks <dwlocks at zmanda dot com> 3.2.0alpha
1633 - use %%VERSION%% macro instead of reading a file.  error reported by ssgelm
1634 * Thu Aug 19 2010 Dan Locks <dwlocks at zmanda dot com> 3.2.0alpha
1635 - Added detection of openSuSE 11 as suggested by ssgelm