chiark / gitweb /
debian/: Rewrite using Debhelper.
[disorder] / debian / postinst.disorder-server
diff --git a/debian/postinst.disorder-server b/debian/postinst.disorder-server
deleted file mode 100755 (executable)
index 316f1e9..0000000
+++ /dev/null
@@ -1,197 +0,0 @@
-#! /bin/sh
-#
-# This file is part of DisOrder
-# Copyright (C) 2004, 2007-2009 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 3 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, see <http://www.gnu.org/licenses/>.
-#
-
-set -e
-
-. /usr/share/debconf/confmodule
-
-add_jukebox_user() {
-  adduser --quiet --system --group --shell /bin/sh --home /var/lib/disorder \
-    --no-create-home jukebox
-  # If it happens that there's no audio group we don't fail; perhaps only
-  # network play was required.
-  adduser jukebox audio || true
-}
-
-configure_init_d() {
-  update-rc.d disorder defaults 92 19 > /dev/null
-}
-
-restart_server() {
-  local first
-  local time
-  invoke-rc.d disorder restart
-  # Wait for the server to start
-  first=true
-  time=0
-  while :; do
-    if disorder version >/dev/null 2>&1; then
-      break
-    else
-      if [ $time -gt 30 ]; then
-        echo
-        echo "Server did not stabilise in a reasonable amount of time"
-        exit 1
-      fi
-      if $first; then
-       printf "Waiting for server to stabilise"
-       first=false
-      fi
-      printf "."
-      sleep 1
-    fi
-    time=`expr $time + 1`
-  done
-  echo
-}
-
-setup_guest() {
-  echo "Checking whether guest user exists..." >&2
-  TMPFILE="$(mktemp -t)"
-  if disorder users > "$TMPFILE"; then
-    if grep -q '^guest$' "$TMPFILE"; then
-      echo "Guest user has already been set up." >&2
-    else
-      echo "Attempting to set up guest user..." >&2
-      if disorder setup-guest; then
-        echo "Created guest user." >&2
-      else
-        echo "Failed to create guest user." >&2
-        echo "You can use 'disorder setup-guest' to do this step manually." >&2
-        echo >&2
-      fi
-    fi
-  else
-    echo "Cannot determine whether guest user has been set up." >&2
-    echo >&2
-  fi
-  rm -f "$TMPFILE"
-}
-
-fix_configuration() {
-  # Once the server has started up, we can remove some of the obsolete
-  # directives from the config file.
-  if grep -q ^trust /etc/disorder/config; then
-    echo "Removing obsolete 'trust' directive from /etc/disorder/config" >&2
-    sed < /etc/disorder/config > /etc/disorder/config.new \
-       's/^trust/#trust/'
-    chmod 644 /etc/disorder/config.new
-    mv /etc/disorder/config.new /etc/disorder/config
-  fi
-  if test -e /etc/disorder/config.private \
-      && grep -q ^allow /etc/disorder/config.private; then
-    echo "Removing obsolete 'allow' directive(s) from /etc/disorder/config.private" >&2
-    u=$(umask)
-    umask 077
-    sed < /etc/disorder/config.private > /etc/disorder/config.private.new \
-       's/^allow/#allow/'
-    umask $u
-    chmod 640 /etc/disorder/config.private.new
-    chown root:jukebox /etc/disorder/config.private.new
-    mv /etc/disorder/config.private.new /etc/disorder/config.private
-  fi
-}
-
-# Create configuration from debconf answers
-create_config() {
-  db_get disorder/roots || true
-  roots="$RET"
-  db_get disorder/scratches || true
-  scratches="$RET"
-  db_get disorder/encoding || true
-  encoding="$RET"
-  db_get disorder/port || true
-  port="$RET"
-  db_get disorder/mail_sender || true
-  mail_sender="$RET"
-  db_get disorder/interface || true
-  interface="$RET"
-  if test "x$interface" = xnetwork; then
-    db_get disorder/mcast_address || true
-    mcast_address="$RET"
-    db_get disorder/mcast_port || true
-    mcast_port="$RET"
-  fi
-
-  mkdir -p /etc/disorder
-  cat > /etc/disorder/conf.debconf.new <<EOF
-# created automatically from debconf information
-# do not edit manually
-# run 'dpkg-reconfigure disorder' instead
-EOF
-
-  echo >> /etc/disorder/conf.debconf.new
-  echo "# Collection roots"  >> /etc/disorder/conf.debconf.new
-  for r in $roots; do
-    echo "collection fs $encoding $r" >> /etc/disorder/conf.debconf.new
-  done
-
-  echo >> /etc/disorder/conf.debconf.new
-  echo "# Scratches" >> /etc/disorder/conf.debconf.new
-  for s in $scratches; do
-    echo "scratch $s" >> /etc/disorder/conf.debconf.new
-  done
-
-  if test "$mail_sender" != ""; then
-    echo "" >> /etc/disorder/conf.debconf.new
-    echo "# Source mail address" >> /etc/disorder/conf.debconf.new
-    echo "mail_sender $mail_sender" >> /etc/disorder/conf.debconf.new
-  fi
-
-  if test "$port" != none && test "$port" != ""; then
-    echo >> /etc/disorder/conf.debconf.new
-    echo "# Listen for remote clients" >> /etc/disorder/conf.debconf.new
-    echo "listen 0.0.0.0 $port" >> /etc/disorder/conf.debconf.new
-  fi
-
-  if test "x$interface" = xnetwork; then
-    echo "" >> /etc/disorder/conf.debconf.new
-    echo "# Target address for RTP frames" >> /etc/disorder/conf.debconf.new
-    echo "broadcast $mcast_address $mcast_port" >> /etc/disorder/conf.debconf.new
-  fi
-
-  mv /etc/disorder/conf.debconf.new /etc/disorder/conf.debconf
-}
-
-case "$1" in
-configure )
-  if grep -q ^jukebox: /etc/passwd; then
-    :
-  else
-    add_jukebox_user
-  fi
-  chown jukebox:jukebox /var/lib/disorder
-  configure_init_d
-  create_config
-  restart_server
-  fix_configuration
-  setup_guest
-  ;;
-reconfigure )
-  create_config
-  ;;
-abort-upgrade )
-  invoke-rc.d disorder restart
-  ;;
-reconfigure )
-  invoke-rc.d disorder reload
-  ;;
-esac
-
-db_stop