File: llama.cpp-tools.preinst

package info (click to toggle)
llama.cpp 8064%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 76,488 kB
  • sloc: cpp: 353,828; ansic: 51,268; python: 30,090; lisp: 11,788; sh: 6,336; objc: 1,395; javascript: 924; xml: 384; makefile: 236
file content (64 lines) | stat: -rw-r--r-- 1,932 bytes parent folder | download
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
57
58
59
60
61
62
63
64
#!/bin/sh

set -e

#DEBHELPER#

# see https://www.debian.org/doc/manuals/securing-debian-manual/bpp-lower-privs.en.html

case "$1" in
  install|upgrade)

  # Defaults can be overridden in the default file
  [ -f "/etc/default/llama-server" ] && . /etc/default/llama-server

  [ -z "$SERVER_HOME" ] && SERVER_HOME=/var/lib/llama-server
  [ -z "$SERVER_CACHE" ] && SERVER_CACHE=/var/cache/llama-server
  [ -z "$SERVER_NAME" ] && SERVER_NAME="llama.cpp server"
  [ -z "$SERVER_USER" ] && SERVER_USER=_llama-server
  [ -z "$SERVER_GROUP" ] && SERVER_GROUP=_llama-server

  # Create server group if not existing
  if ! getent group "$SERVER_GROUP" | grep -q "^$SERVER_GROUP:" ; then
    printf "Adding group %s.." "$SERVER_GROUP"
    addgroup --quiet --system "$SERVER_GROUP" 2>/dev/null
    echo "..done"
  else
    echo "System group '$SERVER_GROUP' already exists"
  fi
  
  # Create server home directory if not existing
  test -d "$SERVER_HOME" || mkdir "$SERVER_HOME"
  
  # Create server system user if not existing
  if ! getent passwd "$SERVER_USER" | grep -q "^$SERVER_USER:"; then
    printf "Adding system user %s.." "$SERVER_USER"
    adduser --quiet \
            --system \
            --comment "$SERVER_NAME" \
            --ingroup "$SERVER_GROUP" \
            --home "$SERVER_HOME" \
            --shell /usr/sbin/nologin \
            --no-create-home \
            --disabled-password \
            "$SERVER_USER" 2>/dev/null
    echo "..done"
  else
    echo "System user '$SERVER_USER' already exists"
  fi
  
  # Adjust file and directory permissions
  if ! dpkg-statoverride --list "$SERVER_HOME" >/dev/null
  then
    chown "$SERVER_USER":"$SERVER_GROUP" "$SERVER_HOME"
    chmod u=rwx "$SERVER_HOME"
  fi
  if ! dpkg-statoverride --list "$SERVER_CACHE" >/dev/null
  then
    mkdir -p "$SERVER_CACHE"
    chown "$SERVER_USER":"$SERVER_GROUP" "$SERVER_CACHE"
    chmod u=rwx "$SERVER_CACHE"
  fi
  ;;
  *)
esac