Jakub b79d267b8f
drop dependency on lsb-release script (#4597)
The `/etc/os-release` file exists in most distributions and can be
easily read in Bash by sourcing it:
```
 > docker run --rm -it debian:bullseye
root@2f5d6e038738:/# grep '^ID=' /etc/os-release
ID=debian
```
```
 > docker run --rm -it ubuntu:22.04
root@316b572b6e4d:/# grep '^ID=' /etc/os-release
ID=ubuntu
```
The dependency on `lsb-release` tool
is unnecessary, and pulls in additional big dependencies like `python3`:
```
 # apt show lsb-release | grep Depends
Depends: python3:any, distro-info-data
```
Which if used in a Docker container would make it unnecessarily big.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-02-06 11:43:24 +01:00

28 lines
647 B
Bash

#!/bin/bash
set -e
DISTRO="UNKNOWN"
if [[ -r /etc/os-release ]]; then
source /etc/os-release
DISTRO="${ID}"
fi
if ! id -u nimbus > /dev/null 2>&1; then
case $DISTRO in
Ubuntu|ubuntu|Debian|debian)
# Debian uses `adduser` to create user...
adduser --system --no-create-home --group nimbus
;;
*)
# ... while `useradd` is more standard
useradd --system --no-create-home --user-group nimbus
;;
esac
fi
mkdir -p /var/lib/nimbus
chown nimbus:nimbus /var/lib/nimbus
# Systems like docker containers do not have systemd.
systemctl daemon-reload || echo "notice: systemd daemon not reloaded" >&2