From 4eff584aa8d9fbe794e2d334824a052d4f69ccf4 Mon Sep 17 00:00:00 2001 From: damien Date: Wed, 4 Jul 2001 22:14:46 +0000 Subject: modularization continuated --- perl-install/network/ethernet.pm | 63 +++++++++++++++++++++++++++++++++++----- 1 file changed, 55 insertions(+), 8 deletions(-) (limited to 'perl-install/network/ethernet.pm') diff --git a/perl-install/network/ethernet.pm b/perl-install/network/ethernet.pm index e3dc4bf9f..52b4afd70 100644 --- a/perl-install/network/ethernet.pm +++ b/perl-install/network/ethernet.pm @@ -1,10 +1,11 @@ package network::ethernet; -use network; +use network::network; use modules; use any; use detect_devices; -use common qw(:file); +use common qw(:file :common); +use run_program; use vars qw(@ISA @EXPORT); use globals "network", qw($in $prefix $install); @@ -49,11 +50,9 @@ Default is dhcpcd"), sub configure_lan { my ($netcnx, $netc, $intf, $first_time) = @_; $::isInstall and $in->set_help('configureNetworkIP'); - print "plop2 ------------ $in ----------- \n"; require Data::Dumper; - print "plop :" . Data::Dumper->Dump([\$in], ['$in']) . "\n"; - network::configureNetwork($prefix, $netc, $in, $intf, $first_time) or return; - network::configureNetwork2($in, $prefix, $netc, $intf, $install); + configureNetwork($netc, $intf, $first_time) or return; + configureNetwork2($in, $prefix, $netc, $intf, $install); if ($::isStandalone and $in->ask_yesorno(_("Network configuration"), _("Do you want to restart the network"), 1)) { run_program::rooted($prefix, "/etc/rc.d/init.d/network stop"); @@ -105,7 +104,7 @@ I cannot set up this connection type.")) and return; my $device=conf_network_card_backend($prefix, $netc, $intf, $type, $interface, $ipadr, $netadr, $interface); if ( $::isStandalone and !($type eq "dhcp")) { $in->ask_yesorno(_("Network interface"), - _("I'm about to restart the network device:\n") . $device . _("\nDo you agree?"), 1) and network::configureNetwork2($in, $prefix, $netc, $intf) and system("$prefix/sbin/ifdown $device;$prefix/sbin/ifup $device"); + _("I'm about to restart the network device:\n") . $device . _("\nDo you agree?"), 1) and configureNetwork2($in, $prefix, $netc, $intf) and system("$prefix/sbin/ifdown $device;$prefix/sbin/ifup $device"); } 1; } @@ -168,7 +167,7 @@ sub go_ethernet { my ($netc, $intf, $type, $ipadr, $netadr, $first_time) = @_; conf_network_card($netc, $intf, $type, $ipadr, $netadr) or return; $netc->{NET_INTERFACE}=$netc->{NET_DEVICE}; - network::configureNetwork($prefix, $netc, $in, $intf, $first_time) or return; + configureNetwork($netc, $intf, $first_time) or return; output "$prefix$connect_file", qq( #!/bin/bash @@ -188,4 +187,52 @@ ifdown $netc->{NET_DEVICE} 1; } +sub configureNetwork { + my ($netc, $intf, $first_time) = @_; + print "plop3 -- $prefix \n"; + local $_; + any::setup_thiskind($in, 'net', !$::expert, 1); + my @l = detect_devices::getNet() or die _("no network card found"); + my @all_cards = network::ethernet::conf_network_card_backend ($prefix, $netc, $intf, undef, undef, undef, undef); + + configureNetwork_step_1: + my $n_card=0; + $netc ||= {}; + my $last; foreach (@l) { + my $intf2 = findIntf($intf ||= {}, $_); + add2hash($intf2, $last); + add2hash($intf2, { NETMASK => '255.255.255.0' }); + configureNetworkIntf($netc, $in, $intf2, $netc->{NET_DEVICE}, 0, $all_cards[$n_card]->[1]) or return; + + $last = $intf2; + $n_card++; + } + #- { + #- my $wait = $o->wait_message(_("Hostname"), _("Determining host name and domain...")); + #- network::guessHostname($o->{prefix}, $o->{netc}, $o->{intf}); + #- } + $last or return; + if ($last->{BOOTPROTO} =~ /^(dhcp|bootp)$/) { + $netc->{minus_one} = 1; + my $dhcp_hostname = $netc->{HOSTNAME}; + $::isInstall and $in->set_help('configureNetworkHostDHCP'); + $in->ask_from_entries_refH(_("Configuring network"), +_("Please enter your host name if you know it. +Some DHCP servers require the hostname to work. +Your host name should be a fully-qualified host name, +such as ``mybox.mylab.myco.com''."), + [ { label => _("Host name"), val => \$netc->{HOSTNAME} }]) or goto configureNetwork_step_1; + $netc->{HOSTNAME} ne $dhcp_hostname and $netc->{DHCP_HOSTNAME} = $netc->{HOSTNAME}; + } else { + configureNetworkNet($in, $netc, $last ||= {}, @l) or goto configureNetwork_step_1; + if ( $netc->{GATEWAY} ) { + unlink "$prefix/etc/sysconfig/network-scripts/net_cnx_up"; + unlink "$prefix/etc/sysconfig/network-scripts/net_cnx_down"; + undef $netc->{NET_DEVICE}; + } + } + miscellaneousNetwork($in); + 1; +} + 1; -- cgit v1.2.1