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#
 | 
