aboutsummaryrefslogtreecommitdiffstats
path: root/x11/gdm/pkg-install
blob: 237a1ceaa0ca2a7cb1fcda55674ccff463cb97c2 (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
#!/bin/sh

if [ -n "${PACKAGE_BUILDING}" ]; then
    exit 0
fi

if [ "$2" = "POST-INSTALL" ]; then
    USER=gdm
    GROUP=${USER}
    UID=92
    GID=${UID}
    PW=/usr/sbin/pw
    CHMOD=/bin/chmod
    CHOWN=/usr/sbin/chown

    if ${PW} group show "${GROUP}" 2>/dev/null; then
        echo "You already have a group \"${GROUP}\", so I will use it."
    else
        if ${PW} groupadd ${GROUP} -g ${GID}; then
            echo "Added group \"${GROUP}\"."
        else
            echo "Adding group \"${GROUP}\" failed..."
            exit 1
        fi
    fi

    if ${PW} user show "${USER}" 2>/dev/null; then
        echo "You already have a user \"${USER}\", so I will use it."
    else
        if ${PW} useradd ${USER} -u ${UID} -g ${GROUP} -h - \
            -d "/nonexistent" -s /sbin/nologin -c "GNOME Display Manager"
        then
            echo "Added user \"${USER}\"."
        else
            echo "Adding user \"${USER}\" failed..."
            exit 1
        fi
    fi
        ${CHOWN} -R ${USER}:${GROUP} ${PKG_PREFIX}/share/gnome/gdm ${PKG_PREFIX}/etc/gdm
        ${CHMOD} 0750 ${PKG_PREFIX}/share/gnome/gdm
    exit 0
fi

if [ -z "${BATCH}" ]; then
    /usr/bin/dialog --yesno "GDM may contain vulnerabilities leading local root compromise, and it is reported widely with various security sites and groups. It is not recommended that this port be installed in public environment. Do you wish to accept the security risk and build GDM anyway?" 10 60 || /usr/bin/false
fi