yacy_search_server/debian/config

90 lines
2.4 KiB
Plaintext
Raw Normal View History

#!/bin/sh
set -e
# if we do not have debconf, we just skip this
. /usr/share/debconf/confmodule || exit 0
CONFIGFILE=/var/lib/yacy/SETTINGS/yacy.conf
if [ ! -e $CONFIGFILE ]; then
db_set yacy/peername $(hostname)
else
db_set yacy/peername $(grep "^peerName=" $CONFIGFILE | sed -e "s/peerName=\(.*\)/\1/")
NETWORK_URL=$(grep "^network\.unit\.definition=" $CONFIGFILE | sed -e "s/network\.unit\.definition=\(.*\)/\1/")
case "$NETWORK_URL" in
defaults/yacy.network.freeworld.unit)
db_set yacy/network freeworld
;;
defaults/yacy.network.intranet.unit)
db_set yacy/network intranet
;;
defaults/yacy.network.allip.unit)
db_set yacy/network allip
;;
defaults/yacy.network.webportal.unit)
db_set yacy/network webportal
;;
*)
db_set yacy/network url
db_set yacy/network-url "$NETWORK_URL"
;;
esac
db_set yacy/memory-start $(grep "^javastart_Xms=" $CONFIGFILE | sed -e "s/javastart_Xms=Xms\(.*\)m/\1/")
db_set yacy/memory-max $(grep "^javastart_Xmx=" $CONFIGFILE | sed -e "s/javastart_Xmx=Xmx\(.*\)m/\1/")
fi
db_capb backup
# use state machine to support step back
STATE=1
while true; do
case "$STATE" in
1)
# Two unrelated questions.
db_input high yacy/peername || true
db_input high yacy/password || true
db_input high yacy/network || true
;;
2)
# Only ask this question if the
# first question was answered with
# url
db_get yacy/network
if [ "$RET" = "url" ]; then
db_input high yacy/network-url || true
fi
;;
3)
db_input high yacy/memory-start || true
db_input high yacy/memory-max || true
;;
*)
# The default case catches when $STATE is greater than the
# last implemented state, and breaks out of the loop. This
# requires that states be numbered consecutively from 1
# with no gaps, as the default case will also be entered
# if there is a break in the numbering
break # exits the enclosing "while" loop
;;
esac
if db_go; then
STATE=$(($STATE + 1))
else
STATE=$(($STATE - 1))
fi
done
if [ $STATE -eq 0 ]; then
# The user has asked to back up from the first
# question. This case is problematical. Regular
# dpkg and apt package installation isn't capable
# of backing up questions between packages as this
# is written, so this will exit leaving the package
# unconfigured - probably the best way to handle
# the situation.
exit 10
fi