summaryrefslogtreecommitdiff
path: root/deb/debian/forgejo-common.preinst
blob: ccd9cd23aac9299a8d700404882d5d5e239e19f3 (plain)
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
#!/usr/bin/env bash
case "$1" in
  install|upgrade)
  [ -f "/etc/default/forgejo" ] && . /etc/default/forgejo
  [ -z "$FORGEJO_HOME" ] && FORGEJO_HOME=/var/lib/forgejo
  [ -z "$FORGEJO_USER" ] && FORGEJO_USER=forgejo
  [ -z "$FORGEJO_NAME" ] && FORGEJO_NAME="Forgejo (Beyond coding. We forge.)"
  [ -z "$FORGEJO_GROUP" ] && FORGEJO_GROUP=forgejo
  if ! getent group | grep -q "^$FORGEJO_GROUP:" ; then
    echo -n "Adding group $FORGEJO_GROUP.."
    addgroup --quiet --system $FORGEJO_GROUP 2>/dev/null ||true
    echo "..done"
  fi
  test -d $FORGEJO_HOME || mkdir $FORGEJO_HOME
  if ! getent passwd | grep -q "^$FORGEJO_USER:"; then
    echo -n "Adding system user $FORGEJO_USER.."
    adduser --quiet \
            --system \
            --ingroup $FORGEJO_GROUP \
            --no-create-home \
            --disabled-password \
            $FORGEJO_USER 2>/dev/null || true
    echo "..done"
  fi
  usermod -c "$FORGEJO_NAME" \
          -d $FORGEJO_HOME   \
          -g $FORGEJO_GROUP  \
	  -s "/bin/bash"     \
             $FORGEJO_USER
  if ! dpkg-statoverride --list $FORGEJO_HOME >/dev/null ; then
    chown -R $FORGEJO_USER:$FORGEJO_GROUP $FORGEJO_HOME
    chmod u=rwx,g=rx,o= $FORGEJO_HOME
  fi
esac