+++ /dev/null
-#! /bin/sh
-#
-# This file is part of DisOrder
-# Copyright (C) 2004 Richard Kettlewell
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
-# USA
-#
-
-set -e
-
-. /usr/share/debconf/confmodule
-
-add_jukebox_user() {
- adduser --quiet --system --group --shell /bin/sh --home /var/lib/disorder \
- --no-create-home jukebox
-}
-
-configure_init_d() {
- update-rc.d disorder defaults 92 19 > /dev/null
-}
-
-restart_server() {
- /etc/init.d/disorder restart
-}
-
-case "$1" in
-configure )
- if grep -q ^jukebox: /etc/passwd; then
- :
- else
- add_jukebox_user
- fi
- if test ! -f /etc/disorder/config.private; then
- # pwgen in debian stable has insane exit status
- set +e
- rootpw=`pwgen 16 1`
- webpw=`pwgen 16 1`
- set -e
- if test -z "$rootpw" || test -z "$webpw"; then
- echo "$0: pwgen failed" 1>&2
- exit 1
- fi
- u=`umask`
- umask 077
-
- echo allow root "$rootpw" > /etc/disorder/config.private.new
- echo allow www-data "$webpw" >> /etc/disorder/config.private.new
- chgrp jukebox /etc/disorder/config.private.new
- chmod 640 /etc/disorder/config.private.new
- mv /etc/disorder/config.private.new /etc/disorder/config.private
-
- if test ! -f /etc/disorder/config.www-data; then
- echo password "$webpw" > /etc/disorder/config.www-data.new
- chgrp www-data /etc/disorder/config.www-data.new
- chmod 640 /etc/disorder/config.www-data.new
- mv /etc/disorder/config.www-data.new /etc/disorder/config.www-data
- fi
- umask $u
- fi
-
- if test ! -f /etc/disorder/http.users; then
- u=`umask`
- umask 077
- touch /etc/disorder/http.users
- chgrp www-data /etc/disorder/http.users
- chmod 640 /etc/disorder/http.users
- umask $u
- fi
- chown jukebox:jukebox /var/lib/disorder
- configure_init_d
- restart_server
- if test ! -e /etc/disorder/http.users; then
- touch /etc/disorder/http.users
- fi
- db_stop
- ldconfig -n /usr/lib
- ;;
-abort-upgrade )
- /etc/init.d/disorder restart
- ;;
-reconfigure )
- /etc/init.d/disorder reload
- ;;
-esac