summaryrefslogtreecommitdiffstats
path: root/perl-install/standalone/finish-install
diff options
context:
space:
mode:
authorOlivier Blin <oblin@mandriva.org>2006-02-28 17:32:18 +0000
committerOlivier Blin <oblin@mandriva.org>2006-02-28 17:32:18 +0000
commit305e8718e9c1018d63139de7d9673a43244d96d6 (patch)
tree9605d3afb6ac211cae99b9d5a656ad2588e0e0cf /perl-install/standalone/finish-install
parent3059ff9a6e8cfa69ed1ddceef47c6e7f29bdb2b9 (diff)
downloaddrakx-305e8718e9c1018d63139de7d9673a43244d96d6.tar
drakx-305e8718e9c1018d63139de7d9673a43244d96d6.tar.gz
drakx-305e8718e9c1018d63139de7d9673a43244d96d6.tar.bz2
drakx-305e8718e9c1018d63139de7d9673a43244d96d6.tar.xz
drakx-305e8718e9c1018d63139de7d9673a43244d96d6.zip
ask for timezone (#21271)
Diffstat (limited to 'perl-install/standalone/finish-install')
-rwxr-xr-xperl-install/standalone/finish-install10
1 files changed, 10 insertions, 0 deletions
diff --git a/perl-install/standalone/finish-install b/perl-install/standalone/finish-install
index c44b73cc7..15f615267 100755
--- a/perl-install/standalone/finish-install
+++ b/perl-install/standalone/finish-install
@@ -49,6 +49,15 @@ sub ask_keyboard() {
keyboard::configure_and_set_standalone($keyboard);
}
+sub ask_timezone() {
+ require timezone;
+ my $t = {};
+ $t->{timezone} = timezone::bestTimezone($locale->{country});
+ $t->{timezone} = $in->ask_from_treelist(N("Timezone"), N("Which is your timezone?"), '/', [ timezone::getTimeZones() ], $t->{timezone}) or return;
+ $t->{UTC} = $in->ask_yesorno(N("Timezone"), N("Is your hardware clock set to GMT?"), $t->{UTC});
+ timezone::write($t);
+}
+
sub ask_network() {
my $modules_conf = modules::any_conf->read;
require network::netconnect;
@@ -101,6 +110,7 @@ sub call {
call('license');
call('language');
call('keyboard');
+call('timezone');
call('network');
if (defined $::WizardWindow) {
$::WizardWindow->destroy;
213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278
#!/bin/sh
# @configure_input@
#***********************************************************************
#
# adsl-connect
#
# Shell script to connect to an ADSL provider using PPPoE
#
# Copyright (C) 2000 Roaring Penguin Software Inc.
#
# $Id$
#
# This file may be distributed under the terms of the GNU General
# Public License.
#
# Usage: adsl-connect [config_file]
#        adsl-connect interface user [config_file]
# Second form overrides USER and ETH from config file.
# If config_file is omitted, defaults to /etc//ppp/pppoe.conf
#
#***********************************************************************

# From AUTOCONF
prefix=@prefix@
exec_prefix=@exec_prefix@
localstatedir=/var

# Paths to programs
IFCONFIG=/sbin/ifconfig
PPPD=@PPPD@
SETSID=@SETSID@
PPPOE=@sbindir@/pppoe
LOGGER="/usr/bin/logger -t `basename $0`"

# Must be root
if test "`@ID@ -u`" != 0 ; then
    echo "$0: You must be root to run this script" >& 2
    exit 1
fi

if test "$SETSID" != "" -a ! -x "$SETSID"; then
    SETSID=""
fi

CONFIG=/etc//ppp/pppoe.conf
USER=""
ETH=""

# Sort out command-line arguments
case "$#" in
    1)
	CONFIG="$1"
	;;
    3)
	CONFIG="$3"
	;;
esac

if test ! -f "$CONFIG" -o ! -r "$CONFIG" ; then
    echo "$0: Cannot read configuration file '$CONFIG'" >& 2
    exit 1
fi

. $CONFIG

PPPOE_PIDFILE="$PIDFILE.pppoe"
PPPD_PIDFILE="$PIDFILE.pppd"

# Check for command-line overriding of ETH and USER
case "$#" in
    2|3)
	ETH="$1"
	USER="$2"
	;;
esac

# Check that config file is sane
if test "$USER" = "" ; then
    echo "$0: Check '$CONFIG' -- no setting for USER" >& 2
    exit 1
fi
if test "$ETH" = "" ; then
    echo "$0: Check '$CONFIG' -- no setting for ETH" >& 2
    exit 1
fi

PPPD_PID=0

# Catch common error
if test "$DEBUG" = "1" ; then
    echo "*** If you want to use DEBUG, invoke adsl-start, not adsl-connect."
    exit 1
fi

if test "$DEBUG" != "" ; then
    if test "$LINUX_PLUGIN" != "" ; then
	echo "Cannot use DEBUG mode and LINUX_PLUGIN at the same time."
	echo "Kernel-mode PPPoE is experimental and unsupported."
	exit 1
    fi
    echo "* The following section identifies your Ethernet interface" >> $DEBUG
    echo "* and user name.  Some ISP's need 'username'; others" >> $DEBUG
    echo "* need 'username@isp.com'.  Try both" >> $DEBUG
    echo "ETH=$ETH; USER=$USER" >> $DEBUG
    echo "---------------------------------------------" >> $DEBUG
fi

# MTU of Ethernet card attached to modem MUST be 1500.  This apparently
# fails on some *BSD's, so we'll only do it under Linux

if test `uname -s` = Linux ; then
    $IFCONFIG $ETH up mtu 1500
    # For 2.4 kernels.  Will fail on 2.2.x, but who cares?
    modprobe ppp_generic > /dev/null 2>&1
    modprobe ppp_async > /dev/null 2>&1
    modprobe ppp_synctty > /dev/null 2>&1
    if test -n "$LINUX_PLUGIN" ; then
	modprobe pppox > /dev/null 2>&1
	modprobe pppoe > /dev/null 2>&1
    fi
fi

if test "$SYNCHRONOUS" = "yes" ; then
	PPPOE_SYNC=-s
	PPPD_SYNC=sync
	# Increase the chances of it working on Linux...
	if test `uname -s` = Linux ; then
	    modprobe n_hdlc > /dev/null 2>&1
	fi
else
	PPPOE_SYNC=""
	PPPD_SYNC=""
fi

if test -n "$ACNAME" ; then
    ACNAME="-C $ACNAME"
fi

if test -n "$SERVICENAME" ; then
    SERVICENAME="-S $SERVICENAME"
fi

if test "$CLAMPMSS" = "no" ; then
	CLAMPMSS=""
else
	CLAMPMSS="-m $CLAMPMSS"
fi

# If DNSTYPE is SERVER, we must use "usepeerdns" option to pppd.
if test "$DNSTYPE" = "SERVER" ; then
	USEPEERDNS=yes
fi

if test "$USEPEERDNS" = "yes" ; then
	USEPEERDNS="usepeerdns"
else
	USEPEERDNS=""
fi

# Backward config file compatibility
if test "$DEMAND" = "" ; then
	DEMAND=no
fi

if test "$DEMAND" = "no" ; then
	DEMAND=""
else
	DEMAND="demand persist idle $DEMAND 10.112.112.112:10.112.112.113 ipcp-accept-remote ipcp-accept-local connect true noipdefault ktune"
fi

case "$FIREWALL" in
    STANDALONE)
	. /etc/ppp/firewall-standalone
	;;
    MASQUERADE)
	. /etc/ppp/firewall-masq
	;;
esac

# If we're using kernel-mode PPPoE on Linux...
if test "$LINUX_PLUGIN" != "" ; then
    PLUGIN_OPTS="plugin $LINUX_PLUGIN $ETH"
    modprobe pppoe > /dev/null 2>&1
fi

# Standard PPP options we always use
PPP_STD_OPTIONS="$PLUGIN_OPTS noipdefault noauth default-asyncmap defaultroute hide-password nodetach $USEPEERDNS local mtu 1492 mru 1492 noaccomp noccp nobsdcomp nodeflate nopcomp novj novjccomp user $USER lcp-echo-interval $LCP_INTERVAL lcp-echo-failure $LCP_FAILURE $PPPD_EXTRA"

# Jigger DNS if required...
if test "$DNSTYPE" = "SERVER" ; then
    # Sorry, dude...
    rm -f /etc/resolv.conf
    ln -s /etc/ppp/resolv.conf /etc/resolv.conf
elif test "$DNSTYPE" = "SPECIFY" ; then
    # Sorry, dude...
    rm -f /etc/resolv.conf
    echo "nameserver $DNS1" > /etc/resolv.conf
    if test -n "$DNS2" ; then
	echo "nameserver $DNS2" >> /etc/resolv.conf
    fi
fi

# PPPoE invocation
PPPOE_CMD="$PPPOE -p $PPPOE_PIDFILE -I $ETH -T $PPPOE_TIMEOUT -U $PPPOE_SYNC $CLAMPMSS $ACNAME $SERVICENAME $PPPOE_EXTRA"
if test "$DEBUG" != "" ; then
    if test "$DEMAND" != "" ; then
	echo "(Turning off DEMAND for debugging purposes)"
	DEMAND=""
    fi
    echo "* The following section shows the pppd command we will invoke" >> $DEBUG
    echo "pppd invocation" >> $DEBUG
    echo "$SETSID $PPPD pty '$PPPOE_CMD' $PPP_STD_OPTIONS $PPPD_SYNC debug" >> $DEBUG
    echo "---------------------------------------------" >> $DEBUG
    $SETSID $PPPD pty "$PPPOE_CMD -D $DEBUG-0" \
	$PPP_STD_OPTIONS \
	$PPPD_SYNC \
	debug >> $DEBUG 2>&1
    echo "---------------------------------------------" >> $DEBUG
    echo "* The following section is an extract from your log." >> $DEBUG
    echo "* Look for error messages from pppd, such as" >> $DEBUG
    echo "* a lack of kernel support for PPP, authentication failure" >> $DEBUG
    echo "* etc." >> $DEBUG
    echo "Extract from /var/log/messages" >> $DEBUG
    grep 'ppp' /var/log/messages | tail -150 >> $DEBUG
    date >> $DEBUG
    echo "---------------------------------------------" >> $DEBUG
    echo "* The following section is a dump of the packets" >> $DEBUG
    echo "* sent and received by rp-pppoe.  If you don't see" >> $DEBUG
    echo "* any output, it's an Ethernet driver problem.  If you only" >> $DEBUG
    echo "* see three PADI packets and nothing else, check your cables" >> $DEBUG
    echo "* and modem.  Make sure the modem lights flash when you try" >> $DEBUG
    echo "* to connect.  Check that your Ethernet card is in" >> $DEBUG
    echo "* half-duplex, 10Mb/s mode.  If all else fails," >> $DEBUG
    echo "* try using pppoe-sniff." >> $DEBUG
    echo "rp-pppoe debugging dump" >> $DEBUG
    cat $DEBUG-0 >> $DEBUG
    rm -f $DEBUG-0
    for i in 1 2 3 4 5 6 7 8 9 10 ; do
    echo ""
    echo ""
    echo ""
    done
    echo "*** Finished debugging run.  Please review the file"
    echo "*** '$DEBUG' and try to"
    echo "*** figure out what is going on."
    echo "***"
    echo "*** Unfortunately, we can NO LONGER accept debugging"
    echo "*** output for analysis.  Please do not send this to"
    echo "*** Roaring Penguin; it is too time-consuming for"
    echo "*** us to deal with all the analyses we have been sent."
    exit 0
fi

echo $$ > $PIDFILE

while [ true ] ; do
    if test "$LINUX_PLUGIN" != "" ; then
	$SETSID $PPPD $PPP_STD_OPTIONS $DEMAND &
	echo "$!" > $PPPD_PIDFILE
    else
	$SETSID $PPPD pty "$PPPOE_CMD" \
	    $PPP_STD_OPTIONS \
	    $DEMAND \
	    $PPPD_SYNC &
	echo "$!" > $PPPD_PIDFILE
    fi
    wait

    # Run /etc/ppp/adsl-lost if it exists
    test -x /etc/ppp/adsl-lost && /etc/ppp/adsl-lost

    # Re-establish the connection
    $LOGGER -p daemon.notice \
        "ADSL connection lost; attempting re-connection."

    # Wait a bit in case a problem causes tons of log messages :-)
    sleep 5
done