summaryrefslogtreecommitdiffstats
path: root/drakpxelinux.pl
diff options
context:
space:
mode:
authorAntoine Ginies <aginies@mandriva.com>2004-08-13 01:05:57 +0000
committerAntoine Ginies <aginies@mandriva.com>2004-08-13 01:05:57 +0000
commitaa2c823bfe4aaaae11557efd2b54a9bf2d7d6598 (patch)
tree408e18e529ee889ccee43bcf4bd9a0d7c47a57e3 /drakpxelinux.pl
parent2ccf4b7127f0daaf0e3e78e3c80d601e8ae01552 (diff)
downloaddrakpxelinux-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
Diffstat (limited to 'drakpxelinux.pl')
-rw-r--r--drakpxelinux.pl34
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;