#!/bin/sh -e

. /usr/share/debconf/confmodule

# Get a more reasonable default for the remote news server name if it 
# has not been chosen by the user.
db_fget leafnode/server isdefault || true
if [ "$RET" = "true" ]; then
   remoteserver=""
   # Is there an existing configuration? 
   if [ -f /etc/news/leafnode/config ]; then
      # I *think* this is valid.
      remoteserver=`grep -v '#' /etc/news/leafnode/config | awk '{ if ($1 = "server") printf("%s\n", substr($0,index($0,"=")+1)); exit}' | tr -d ' '`

   # Try the server name set in debconf
   elif db_get shared/news/server ; then
      remoteserver=$RET

   # Otherwise, try the value of /etc/news/server
   elif [ -e /etc/news/server ]; then
      remoteserver=`cat /etc/news/server`
   fi

   # If we found something, set it
   if [ "$remoteserver" != "" ]; then
      db_set leafnode/server $remoteserver
      db_fset leafnode/server isdefault true
   fi
fi

db_beginblock

# Where do we get news from?  
db_input high leafnode/server || true

# What sort of network connection do we have?  
db_input high leafnode/network || true

# Should we use tcp wrappers?
db_input low leafnode/tcpd || true

# Should we download the list of groups when we're done?
db_input medium leafnode/update-groups || true

# Flush all the user selections.
db_endblock
db_go 

# We only need to do most of these warnings if we're upgrading
if [ "$1" = "configure" -a -n "$1" ]; then
   db_beginblock

   # Warn about location change of config file
   if [ ! -e /etc/news/leafnode/config -a -e /etc/leafnode.conf ]; then
      db_text medium leafnode/moving-config || true
   fi

   # Warn about network type selections only taking effect if we are
   # using the right config files
   if [ -n "$2" ] && dpkg --compare-versions $2 le 1.9.4-5 ; then
      db_text low leafnode/network-upgrade || true
   fi

   # Warn about configuration file changes
   if [ -n "$2" -a -e /etc/news/leafnode/config -a -e /var/lib/leafnode/groupinfo -a ! -e /var/spool/leafnode/leaf.node/groupinfo ]; then
      # 1.6
      db_text low leafnode/update-groupinfo || true
   elif [ -n "$2" ] && dpkg --compare-versions "$2" lt "1.9.3"; then
      db_text low leafnode/update-groupinfo || true
   fi

   # /etc/expireinfo is now longer used
   if [ -e /etc/expireinfo ] ; then
      db_text medium leafnode/expireinfo || true
   fi
   
   # We've just been queueing these warnings up - force display now.
   db_endblock
   db_go || true
fi
