aboutsummaryrefslogtreecommitdiffstats
path: root/net-im/jabber/pkg-install
blob: 926e79391c4cd8a814578ce7da4c45ef0e7b2640 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#!/bin/sh

if [ "$2" != "POST-INSTALL" ]; then
    exit 0
fi

USER=jabber
GROUP=${USER}
UID=93
GID=${UID}
SPOOLDIR="/var/spool/jabber"
ETCDIR=${PREFIX:-$PKG_PREFIX}/etc

if ! pw groupshow "${GROUP}" 2>/dev/null 1>&2; then
    if pw groupadd ${GROUP} -g ${GID}; then
        echo "Added group \"${GROUP}\"."
    else
        echo "Adding group \"${GROUP}\" failed..."
        exit 1
    fi
fi

if ! pw usershow "${USER}" 2>/dev/null 1>&2; then
    if pw useradd ${USER} -u ${UID} -g ${GROUP} -h - \
        -s "/sbin/nologin" -d "/nonexistent" \
        -c "Jabber Daemon"; \
    then
        echo "Added user \"${USER}\"."
    else
        echo "Adding user \"${USER}\" failed..."
        exit 1
    fi
fi

if [ ! -d ${SPOOLDIR} ]; then
    echo "Creating \"${SPOOLDIR}\"."
    mkdir -p ${SPOOLDIR}
fi

echo "Fixing ownerships and modes in \"${SPOOLDIR}\"."
chown -R ${USER}:${GROUP} ${SPOOLDIR}
chmod -R go= ${SPOOLDIR}

if [ ! -f ${ETCDIR}/jabber.xml ]; then
    echo "Creating \"${ETCDIR}/jabber.xml\"."
    cp -p ${ETCDIR}/jabber.xml.sample ${ETCDIR}/jabber.xml
fi

echo "Fixing config files ownerships and modes."
chown root:${GROUP} ${ETCDIR}/jabber.xml ${ETCDIR}/jabber.xml.sample
chmod 640 ${ETCDIR}/jabber.xml ${ETCDIR}/jabber.xml.sample

echo "Fixing log files, ownerships and modes."
touch /var/log/jabber.error /var/log/jabber.record
chown ${USER}:${GROUP} /var/log/jabber.error /var/log/jabber.record
chmod 640 /var/log/jabber.error /var/log/jabber.record