view debian/config @ 390:2ad4c1c97734 noffle

[svn] * src/client.c: Return correct status from Client_postArt() and add function comment detailing what return code should be, because it's not obvious that the return code should report success when the posting failed for reasons other than connection problems. This should fix problem with failing posting stopping fetches. Thanks to Dan Jacobson for spotting this. * src/client.c: Fix problemette with filter discards not updating remote group article count and so the overview being refetched until and article appears that doesn't fall foul of the filter and thus does update the remove group 'next article' marker. Thanks to Dan Jacobson for spotting this. * src/content.c: Don't be fooled into thinking a filename starting ".." is just "..". * src/outgoing.c: Don't assume "." and ".." are the first files returned from readdir(). Thanks to Andreas Happe for spotting this. * src/noffle.c: Update online help to include 'm' group posting status. * src/server.c: Move incorrect updating of server.grp in doGrp() which was causing doGrp() to not retrieve remote article details when in online mode. Thanks to Miernik and Andreas Happe for reporting the problem.
author bears
date Thu, 22 May 2003 10:04:38 +0100
parents 36296f2b60e6
children 056d5fcb7f4b
line wrap: on
line source

#!/bin/sh
# $Id: config 503 2003-03-29 08:06:12Z godisch $

set -e
. /usr/share/debconf/confmodule
db_version 2.0
db_capb backup

server_config=/etc/news/noffle.conf
debian_config=/etc/default/noffle

# for backward compatibility = 1.1.2-1, since postinst is not run yet
if [ ! -e $server_config -a -e /etc/noffle.conf ]; then
	server_config=/etc/noffle.conf
fi
# for backward compatibility < 1.1.2-1
if [ ! -e $server_config -a ! -e $debian_config -a -e /etc/noffle/conf ]; then
	server_config=/etc/noffle/conf
	debian_config=/etc/noffle/conf.debian
fi

# are we using debconf?
db_input high noffle/debconf && db_go || :
db_get noffle/debconf
if [ "$RET" = false ]; then
	db_stop
	exit 0
fi

# read server port value from inetd.conf
port="`grep '[[:space:]]/usr/bin/noffle[[:space:]]' /etc/inetd.conf | head -n 1 | sed 's/^#<off># //;s/[[:space:]].*//' 2> /dev/null`" || :
if [ "$port" ]; then
	# read port value from debconf db
	db_get noffle/port
	# for upgrading from < 1.1.2
	[ "$RET" = 119 ] && RET=nntp || :
	# we need confirmation, if they differ
	[ "$port" = "$RET" ] || db_fset noffle/port seen false
	# write current port from inetd.conf into debconf db
	[ "$port" = "${port#\#}" ] && db_set noffle/port "$port" || :
fi

# read server, username, password, maxfetch, default-expire from $server_config
if [ -s "$server_config" ]; then
	db_get noffle/server
	server="`grep '^server' $server_config | head -n 1 | sed 's/^server[[:space:]]*//;s/[[:space:]].*//' 2> /dev/null`" || :
	[ "$server" = "$RET" ] || db_fset noffle/server seen false
	[ "$server" ] && db_set noffle/server "$server" || :

	db_get noffle/username
	server="`grep '^server' $server_config | head -n 1 | sed 's/^server[[:space:]]*//;s/[^[:space:]]*[[:space:]]*//;s/[[:space:]].*//' 2> /dev/null`" || :
	[ "$username" = "$RET" ] || db_fset noffle/username seen false
	[ "$username" ] && db_set noffle/username "$username" || :

	db_get noffle/password
	server="`grep '^server' $server_config | head -n 1 | sed 's/^server[[:space:]]*//;s/[^[:space:]]*[[:space:]]*//;s/[^[:space:]]*[[:space:]]*//;s/[[:space:]].*//' 2> /dev/null`" || :
	[ "$password" = "$RET" ] || db_fset noffle/password seen false
	[ "$password" ] && db_set noffle/password "$password" || :

	db_get noffle/maxfetch
	maxfetch="`grep '^max-fetch' $server_config | head -n 1 | sed 's/^max-fetch[[:space:]]*//' 2> /dev/null`" || :
	[ "$maxfetch" = "$RET" ] || db_fset noffle/maxfetch seen false
	[ "$maxfetch" ] && db_set noffle/maxfetch "$maxfetch" || :

	db_get noffle/default-expire
	defexpire="`grep '^default-expire' $server_config | head -n 1 | sed 's/^default-expire[[:space:]]*//' 2> /dev/null`" || :
	[ "$defexpire" = "$RET" ] || db_fset noffle/defexpire seen false
	[ "$defexpire" ] && db_set noffle/default-expire "$defexpire" || :
fi

# for backward compatibility < 1.1.2-1
if dpkg --compare-versions "$2" lt-nl 1.1.2; then
	db_get noffle/fetchmode
	case "$RET" in
		'via dialup') db_set noffle/fetchmode ppp;;
		'via permanent connection') db_set noffle/fetchmode cron;;
	esac
fi

# read NOFFLE_FETCHMODE from $debian_config
[ -s "$debian_config" ] && . $debian_config || :
[ "$NOFFLE_FETCHMODE" = ppp -o "$NOFFLE_FETCHMODE" = cron ] || \
if [ -x /usr/sbin/pppd ]; then
	NOFFLE_FETCHMODE=ppp
else
	NOFFLE_FETCHMODE=cron
fi
# do we need confirmation?
db_get noffle/fetchmode
[ "$NOFFLE_FETCHMODE" = "$RET" ] || db_fset noffle/fetchmode seen false

# input configuration using backup capability, see debconf-devel(8)
state=1
laststate=7
while [ "$state" -ge 0 -a "$state" -le "$laststate" ]; do
	case "$state" in
	0)	db_input high noffle/debconf || :
		;;
	1)	db_input low noffle/port || :
		;;
	2)	db_input high noffle/server || :
		;;
	3)	db_input medium noffle/username || :
		;;
	4)	db_get noffle/username
		[ "$RET" ] && db_input medium noffle/password || :
		;;
	5)	db_input medium noffle/fetchmode || :
		;;
	6)	db_input medium noffle/maxfetch || :
		;;
	7)	db_input low noffle/default-expire || :
		;;
	esac
	if db_go; then
		if [ "$state" -eq 0 ]; then
			db_get noffle/debconf
			[ "$RET" = true ] || break
		fi
		state=$(($state + 1))
	else
		state=0
	fi
done

db_stop
exit 0