diff options
author | Antoine Ginies <aginies@mandriva.com> | 2004-08-13 01:05:57 +0000 |
---|---|---|
committer | Antoine Ginies <aginies@mandriva.com> | 2004-08-13 01:05:57 +0000 |
commit | aa2c823bfe4aaaae11557efd2b54a9bf2d7d6598 (patch) | |
tree | 408e18e529ee889ccee43bcf4bd9a0d7c47a57e3 | |
parent | 2ccf4b7127f0daaf0e3e78e3c80d601e8ae01552 (diff) | |
download | drakpxelinux-aa2c823bfe4aaaae11557efd2b54a9bf2d7d6598.tar drakpxelinux-aa2c823bfe4aaaae11557efd2b54a9bf2d7d6598.tar.gz drakpxelinux-aa2c823bfe4aaaae11557efd2b54a9bf2d7d6598.tar.bz2 drakpxelinux-aa2c823bfe4aaaae11557efd2b54a9bf2d7d6598.tar.xz drakpxelinux-aa2c823bfe4aaaae11557efd2b54a9bf2d7d6598.zip |
- add test on IP address
- fix dhcp/IP
-rw-r--r-- | drakpxelinux.pl | 34 |
1 files changed, 22 insertions, 12 deletions
diff --git a/drakpxelinux.pl b/drakpxelinux.pl index 3967170..b3fc03c 100644 --- a/drakpxelinux.pl +++ b/drakpxelinux.pl @@ -1,4 +1,4 @@ -#!/usr/bin/perl -w +#!/usr/bin/perl # # Copyright (C) 2004 by Mandrakesoft aginies _ateuh_ mandrakesoft.com # @@ -28,6 +28,7 @@ use lib qw(/usr/lib/libDrakX); use standalone; use strict; use common; +use network::network; #use MDK::Common; use ugtk2 qw(:ask :helpers :wrappers :create :dialogs); use interactive; @@ -57,7 +58,7 @@ my $SYSLINUXPATH = '/usr/lib/syslinux/'; my $MEMDISK = $SYSLINUXPATH . '/memdisk'; my $XINETDDIR = "/etc/xinetd.d"; -my $interface = 'eth1'; +my $interface = 'eth0'; my ($IPSERVER) = `/sbin/ip addr show dev $interface` =~ /^\s*inet\s+(\d+\.\d+\.\d+\.\d+)/m; my $DOMAINNAME = chomp_(`dnsdomainname`); @@ -325,10 +326,10 @@ sub wizard_add_entry { use wizards; my $WPXENAME = "Mandrakeclustering"; my $WINFO = "install Mandrakeclustering"; -# my $WALLRDZ = "/home/nis/install/clic/isolinux/alt0/all.rdz"; - my $WALLRDZ = "/tmp/all.rdz"; -# my $WVMLINUZ = "/home/nis/install/clic/isolinux/alt0/vmlinuz"; - my $WVMLINUZ = "/tmp/vmlinuz"; + my $WALLRDZ = "/home/nis/install/clic/isolinux/alt0/all.rdz"; +# my $WALLRDZ = "/tmp/all.rdz"; + my $WVMLINUZ = "/home/nis/install/clic/isolinux/alt0/vmlinuz"; +# my $WVMLINUZ = "/tmp/vmlinuz"; my $w = wizards->new; my $wiz = { name => N("Add PXE entry"), @@ -589,8 +590,13 @@ sub edit_box_item { # display IPADDRESS only if dhcp is not selected my $ipaddr = Gtk2::Entry->new; my $toggledhcp = Gtk2::CheckButton->new(N("DHCP or IP address")); - if ($listpxe[$i]{network} eq "dhcp") { $toggledhcp->set_active(1) and $ipaddr->set_sensitive(0) - } else { $toggledhcp->set_active(0) and $ipaddr->set_sensitive(1) } + if ($listpxe[$i]{network} eq "dhcp") { $toggledhcp->set_active(1); + $ipaddr->set_sensitive(0); + } else { + $toggledhcp->set_active(0); + $ipaddr->set_sensitive(1); + $ipaddr->set_text($listpxe[$i]{network}); + } $toggledhcp->signal_connect(clicked => sub { my $s = $toggledhcp->get_active; @@ -638,9 +644,6 @@ sub edit_box_item { cancel_clicked => sub { $dialog->destroy }, ok_clicked => sub { my $vgacode = $list_vga_code{$vga->entry->get_text}; - my $test = $ipaddr->get_text; - my $net; - if ($test) { my $net = $ipaddr->get_text } else { my $net = "dhcp" } #ask_okcancel("are you sure you want to update all those values ?"); $listpxe[$i]{label} = $label->get_text; $listpxe[$i]{info} = $info->get_text; @@ -648,7 +651,14 @@ sub edit_box_item { $listpxe[$i]{initrd} = $initrd->get_text; $listpxe[$i]{automatic} = $automatic->entry->get_text; $listpxe[$i]{interface} = $interface->entry->get_text; - $listpxe[$i]{network} = $net; + # check dhcp or ipaddress + my $s = $toggledhcp->get_active; + if ($toggledhcp->get_active eq "1") { + $listpxe[$i]{network} = "dhcp"; + } else { + $listpxe[$i]{network} = $ipaddr->get_text; + is_ip($listpxe[$i]{network}) or err_dialog(N("Error !"), N("Please enter a valid IP address.")) and return; + } $listpxe[$i]{server} = $server->get_text; $listpxe[$i]{directory} = $directory->get_text; $listpxe[$i]{ramdisk} = $ramdisk->entry->get_text; |