Imported Upstream version 3.3.2
[debian/amanda] / packaging / sun-pkg / server / postinstall.src
1 #!/bin/sh
2
3 LOGFILE=`mktemp /tmp/amanda-server-postinstall.log.XXXXXXXXXXX`
4 if [ $? -ne 0 ]; then
5     echo "Unable to mktemp!" 1>&2
6     exit 1
7 fi
8 amanda_user=amandabackup; export amanda_user
9 amanda_group=disk; export amanda_group
10 # BASEDIR is set by either in pkginfo, or if not set, by pkgadd at installtime.
11 # Unfortunately, it messes things up to have basedir="/".
12 [ "x${BASEDIR}" = "x/" ] && basedir="" || basedir=${BASEDIR}
13 AMANDAHOMEDIR="${basedir}%%AMANDAHOMEDIR%%"; export AMANDAHOMEDIR
14 os=SunOS; export os
15 arch=%%ARCH%%; export arch
16 LOGDIR="${basedir}%%LOGDIR%%"; export LOGDIR
17 INSTALL_LOG="${LOGDIR}/install.log"; export INSTALL_LOG
18 SYSCONFDIR="${basedir}/etc"; export SYSCONFDIR
19 SBINDIR="${basedir}/usr/sbin"; export SBINDIR
20 AMTMP="/tmp/amanda"
21
22 AMANDATES=${SYSCONFDIR}/amandates; export AMANDATES
23
24 # ---------- Common functions ------------
25 %%COMMON_FUNCTIONS%%
26 %%POST_INST_FUNCTIONS%%
27
28 # -------- End Common functions ----------
29
30 add_service
31 rel=`uname -r`
32 if [ "$rel" = "5.8" ]; then
33     check_inetd "amandaserver"
34     case $? in
35       0) backup_inetd "amandaserver"
36            install_inetd "amandaserver"
37       ;;
38       1) install_inetd "amandaserver" ;;
39       2) logger "Error: Amanda service not installed because inetd config was not found: either inetd config is not present or inetd is a directory." ;;
40     esac
41     # Amanda clients should not have the server xinetd installed.
42     check_inetd "amandaclient"
43     case $? in
44       0) backup_inetd "amandaclient" ;;
45     esac
46     reload_inetd
47 else
48     # Solaris 10+ uses smf, but we can't differentiate server from client, all
49     # entries end up named "amanda"
50     check_smf "amanda"
51     case $? in
52       0) backup_smf || logger "Warning: Backup of existing service failed. continuing..."
53          install_smf "amandaserver" || \
54             logger "Warning: Amanda service not installed."
55       ;;
56       1) install_smf "amandaserver" ;;
57     esac
58 fi
59
60 create_amandates
61 check_amandates
62 create_gnupg
63 check_gnupg
64 create_amandahosts
65 check_amandahosts_entry ${amanda_user} amdump
66 check_amandahosts_perms
67 create_ssh_key client
68 create_profile
69 check_profile
70 install_client_conf
71 create_amtmp
72
73 logger "Amanda installation complete."
74 cat $LOGFILE >> $INSTALL_LOG && {
75     rm $LOGFILE
76     echo "Amanda installation log can be found in '${INSTALL_LOG}'."
77 } || \
78     echo "Amanda postinstall log can be found in $LOGFILE"