view debian/postinst @ 483:a02417000b7b noffle

[svn] * src/server.c: Whenever an article was read, all referenced articles were marked as INTERESTING and hence downloaded on the next fetch if in OVER or THREAD mode. This is contary to the docs and to my expectations.
author bears
date Fri, 22 Oct 2004 13:21:35 +0100
parents fb5e1ef118eb
children a5cb498bcbed
line wrap: on
line source

#!/bin/sh
# $Id: postinst 604 2003-07-14 06:56:43Z godisch $

set -e

[ "$1" = configure ] || exit 0

maxfetch_default=300
defexpire_default=14

if [ -e /usr/share/debconf/confmodule ]; then
	. /usr/share/debconf/confmodule
	db_version 2.0

	db_get noffle/server
	server="$RET"
	[ "$server" ] || server=news
	db_get noffle/username
	username="$RET"
	db_get noffle/password
	password="$RET"
	db_get noffle/fetchmode
	fetchmode="$RET"
	[ "$fetchmode" ] || if [ -x /usr/sbin/pppd ]; then
		fetchmode=ppp
	else
		fetchmode=cron
	fi
	db_get noffle/maxfetch
	maxfetch="$RET"
	[ "$maxfetch" ] || maxfetch="$maxfetch_default"
	db_get noffle/default-expire
	defexpire="$RET"
	[ "$defexpire" ] || defexpire="$defexpire_default"

	# /etc/news/noffle.conf may contain sensitive data for NNTP authentication
	umask 027
	cat /usr/share/noffle/noffle.conf | \
		sed "s/^server[[:space:]].*/server $server $username $password/" | \
		sed "s/^max-fetch[[:space:]].*/max-fetch $maxfetch/" | \
		sed "s/^default-expire[[:space:]].*/default-expire $defexpire/" \
		> /etc/news/noffle.conf.new
	chgrp news /etc/news/noffle.conf.new
	ucf /etc/news/noffle.conf.new /etc/news/noffle.conf < /dev/tty
	rm -f /etc/news/noffle.conf.new

	umask 022
	cat /usr/share/noffle/conf.debian | \
		sed "s/^NOFFLE_FETCHMODE=.*/NOFFLE_FETCHMODE=$fetchmode/" \
		> /etc/default/noffle.new
	ucf /etc/default/noffle.new /etc/default/noffle < /dev/tty
	rm -f /etc/default/noffle.new

	db_get noffle/port
	port="$RET"
	if [ -z "$port" -o "$port" = 119 ]; then
		port=nntp
	fi
	update-inetd --remove "/usr/bin/noffle -r"
	update-inetd --group MAIL --add "$port\tstream\ttcp\tnowait\tnews\t/usr/sbin/tcpd /usr/bin/noffle -r"

	db_stop
else
	ucf /usr/share/noffle/noffle.conf /etc/news/noffle.conf < /dev/tty
	ucf /usr/share/noffle/conf.debian /etc/default/noffle < /dev/tty
	port="`grep "/usr/bin/noffle -r" /etc/inetd.conf 2> /dev/null | sed 's/[[:space:]].*$//'`" || true
	if [ "$port" ]; then
		update-inetd --enable "$port"
	else
		update-inetd --group MAIL --add "nntp\tstream\ttcp\tnowait\tnews\t/usr/sbin/tcpd /usr/bin/noffle -r"
	fi
fi

# sanity checks
chgrp news    /etc/news/noffle.conf
chmod g+r,o-r /etc/news/noffle.conf
chown -R news:news /var/lock/noffle /var/spool/noffle
chmod -R go-w      /var/lock/noffle /var/spool/noffle
find /var/lock/noffle /var/spool/noffle -type d -print0 | xargs -0 chmod g+s

# init.d startup
update-rc.d noffle defaults > /dev/null
if [ -x /usr/sbin/invoke-rc.d ]; then
	invoke-rc.d noffle start
elif [ -x /etc/init.d/noffle ]; then
	/etc/init.d/noffle start
fi

if [ -z "$2" ]; then
	echo
	echo "You need to query your parent NNTP server manually for a group overview"
	echo "and descriptions. Have a look at /usr/share/doc/noffle/README.Debian for"
	echo "information how to do this."
	echo
fi

exit 0