60 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/bash
 | 
						|
. /usr/share/debconf/confmodule
 | 
						|
 | 
						|
set -euo pipefail
 | 
						|
 | 
						|
OWRX_USER="openwebrx"
 | 
						|
OWRX_DATADIR="/var/lib/openwebrx"
 | 
						|
OWRX_USERS_FILE="${OWRX_DATADIR}/users.json"
 | 
						|
OWRX_SETTINGS_FILE="${OWRX_DATADIR}/settings.json"
 | 
						|
OWRX_BOOKMARKS_FILE="${OWRX_DATADIR}/bookmarks.json"
 | 
						|
 | 
						|
case "$1" in
 | 
						|
  configure|reconfigure)
 | 
						|
    adduser --system --group --no-create-home --home /nonexistent --quiet "${OWRX_USER}"
 | 
						|
    usermod -aG plugdev "${OWRX_USER}"
 | 
						|
 | 
						|
    # create OpenWebRX data directory and set the correct permissions
 | 
						|
    if [ ! -d "${OWRX_DATADIR}" ] && [ ! -L "${OWRX_DATADIR}" ]; then mkdir "${OWRX_DATADIR}"; fi
 | 
						|
    chown "${OWRX_USER}". ${OWRX_DATADIR}
 | 
						|
 | 
						|
    # create empty config files now to avoid permission problems later
 | 
						|
    if [ ! -e "${OWRX_USERS_FILE}" ]; then
 | 
						|
      echo "[]" > "${OWRX_USERS_FILE}"
 | 
						|
      chown "${OWRX_USER}". "${OWRX_USERS_FILE}"
 | 
						|
      chmod 0600 "${OWRX_USERS_FILE}"
 | 
						|
    fi
 | 
						|
 | 
						|
    if [ ! -e "${OWRX_SETTINGS_FILE}" ]; then
 | 
						|
      echo "{}" > "${OWRX_SETTINGS_FILE}"
 | 
						|
      chown "${OWRX_USER}". "${OWRX_SETTINGS_FILE}"
 | 
						|
    fi
 | 
						|
 | 
						|
    if [ ! -e "${OWRX_BOOKMARKS_FILE}" ]; then
 | 
						|
      touch "${OWRX_BOOKMARKS_FILE}"
 | 
						|
      chown "${OWRX_USER}". "${OWRX_BOOKMARKS_FILE}"
 | 
						|
    fi
 | 
						|
 | 
						|
    db_get openwebrx/admin_user_password
 | 
						|
    if [ ! -z "${RET}" ]; then
 | 
						|
      if ! openwebrx admin --silent hasuser admin; then
 | 
						|
        # create initial openwebrx user
 | 
						|
        OWRX_PASSWORD="${RET}" openwebrx admin --noninteractive adduser admin
 | 
						|
      else
 | 
						|
        # change existing user's password
 | 
						|
        OWRX_PASSWORD="${RET}" openwebrx admin --noninteractive resetpassword admin
 | 
						|
      fi
 | 
						|
    fi
 | 
						|
    # remove password from debconf database
 | 
						|
    db_unregister openwebrx/admin_user_password
 | 
						|
    # set a marker that admin is configured to avoid future questions
 | 
						|
    db_set openwebrx/admin_user_configured true
 | 
						|
  ;;
 | 
						|
  *)
 | 
						|
    echo "postinst called with unknown argument '$1'" 1>&2
 | 
						|
    exit 1
 | 
						|
  ;;
 | 
						|
esac
 | 
						|
 | 
						|
#DEBHELPER#
 |