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