summaryrefslogtreecommitdiffstats
path: root/perl-install/bootloader.pm
Commit message (Expand)AuthorAgeFilesLines
* fix lilo-menu not working (bug #3048)Pascal Rigaux2003-03-111-14/+15
* use lilo-like code for selecting mapdrive or notPascal Rigaux2003-02-271-6/+9
* - add "Force No APIC"Pascal Rigaux2003-02-201-8/+32
* to workaround perl bug removing UTF8 flag when passing scalars to die's, passGuillaume Cottenceau2003-02-191-2/+2
* in lilo.conf, "unsafe" is incompatible with "table=..." (fixes bug #1382)Pascal Rigaux2003-02-101-2/+3
* integrated chmouel fixes.Francois Pons2003-02-031-0/+6
* fix grub installed on {first_hd_device} instead of {boot} (bug #1199)Pascal Rigaux2003-02-021-1/+1
* add isFat_or_NTFS() and use it where possible instead of isFat() since WindowsPascal Rigaux2003-01-301-3/+3
* fix call to sanitize_ver by giving it linux-$version instead of linux$ext.Francois Pons2003-01-221-1/+1
* English proofreading by Stew BenedictsPablo Saratxaga2003-01-211-1/+1
* (suggest_onmbr): log the choicePascal Rigaux2003-01-151-0/+1
* use "if any" instead of "if grep", and various other occurences of "any", "ev...Pascal Rigaux2003-01-071-2/+2
* (method_choices): returns the choices of bootloaders (lilo, grub, yaboot...) ...Pascal Rigaux2003-01-071-132/+154
* when reading existing config, remove double quotes around the default labelPascal Rigaux2003-01-061-0/+1
* drop loadlin handlingPascal Rigaux2002-12-131-96/+0
* perl_checker --generate-pot is a bit picky about the localisation of "#-PO:" ...Pascal Rigaux2002-12-101-4/+4
* parameter passing using $_ is badPascal Rigaux2002-12-051-4/+5
* remove unused variables or rename them with an underscore (eg: $o becomes $_o)Pascal Rigaux2002-12-041-7/+5
* use if_() where possible (as reported by perl_checker)Pascal Rigaux2002-12-041-2/+2
* use output()Pascal Rigaux2002-12-021-4/+3
* - compare labels case insensitively (thanks to D.Faure)Pascal Rigaux2002-11-281-4/+10
* perl_checker adaptationsPascal Rigaux2002-11-281-1/+1
* perl_checker adaptationsPascal Rigaux2002-11-271-1/+1
* - add/remove spaces to make perl_checker happyPascal Rigaux2002-11-141-4/+4
* add/remove some spaces to make perl_checker happyPascal Rigaux2002-11-121-1/+1
* - have "local *FILEHANDLE" before each "open FILEHANDLE, ..."Pascal Rigaux2002-11-061-4/+4
* cleanup get_of_dev (aka ofpath)Pascal Rigaux2002-11-061-15/+6
* replace complex "unless"s with "if"sPascal Rigaux2002-11-061-2/+2
* remove unneeded parentheses on the right side of infix if/foreach/unlessPascal Rigaux2002-11-061-3/+3
* please perl_checker:Pascal Rigaux2002-11-061-1/+1
* replace "_" with "N" and "__" with "N_"Pascal Rigaux2002-11-061-10/+10
* use each_index instead of map_index when the return value is not usedPascal Rigaux2002-11-051-1/+1
* Reflect changes in yaboot package.Stew Benedict2002-10-291-4/+4
* (read): cleanup duplicate labels (in case file is corrupted)Pascal Rigaux2002-09-061-5/+13
* (read): fixPascal Rigaux2002-09-061-1/+1
* better NT & Fat bootloader entry adding or notPascal Rigaux2002-09-051-1/+3
* do not add an nt label if there is no magicPascal Rigaux2002-09-051-2/+3
* use name mangling for labels (taken from installkernel)Pascal Rigaux2002-09-051-1/+41
* (same_entries): compare kernel options sorted (this is an approximation ofPascal Rigaux2002-09-041-4/+10
* :xPascal Rigaux2002-08-271-4/+0
* correctly handle empty and commented lines in lilo.confPascal Rigaux2002-08-261-1/+2
* since lba32 is the default in lilo.confPascal Rigaux2002-08-181-1/+2
* (add_entry): new entry will now keep its label, the conflicting one will be r...Pascal Rigaux2002-08-161-8/+11
* fix "You can't install the bootloader on a xfs partition" happening in weird ...Pascal Rigaux2002-08-141-1/+1
* fix typoPascal Rigaux2002-08-121-1/+1
* - compare_entries is now called same_entriesPascal Rigaux2002-08-111-25/+37
* (mkinitrd): when an initrd is already there, it means an initrd is neededPascal Rigaux2002-08-091-1/+1
* (get_kernels_and_labels): only take kernels for which we have the correspondi...Pascal Rigaux2002-08-061-0/+1
* s/__END__/1;Thierry Vignaud2002-08-051-1/+1
* kill "wonderful perl"Thierry Vignaud2002-08-051-4/+1
$choosed_serv =~ s/(\S+)\s*(.*)$/$1/; timezone::ntp_server($1); system("/sbin/chkconfig --level 35 ntpd on"); system("service ntpd stop"); #verify that we have a valid hostname (thx sam) $choosed_serv =~ s/[^-a-zA-Z0-9.]//g; system("/usr/sbin/ntpdate", $choosed_serv); system("service ntpd start"); } else { if (-e $ntpdlock) { system("service ntpd stop"); system("/sbin/chkconfig --level 35 ntpd off"); } } my ($year, $month, $day) = $calendar->get_date; $month++; my ($hour, $min, $sec) = ($adjh->get_value, $adjm->get_value, $adjs->get_value); system("date " . join('', map { print_it0($_) } ($month, $day, $hour, $min, $year)) . '.' . print_it0($sec)); -e '/sbin/hwclock' and system('/sbin/hwclock --systohc'); system("dcop kicker Panel restart") if $ENV{DESKTOP} eq 'kde'; ugtk2->exit(0); }, }, undef, undef, '', [ N("Reset"), sub { $its_reset = 1; $timer = Glib::Timeout->add(120, \&update_time); Repaint($drawing_area, 1); $calendar->select_month($old_month, $old_year); $calendar->select_day($old_day); $button_reset->set_sensitive(0); $its_reset = 0; } ] ), ) ); $button_reset = $w->{buttons}{N("Reset")}; $time_box->set_direction('ltr'); my $servers = get_server(); $combo_ntpserver->set_popdown_strings(@$servers); if (-e $ntpfile && -e $ntpdlock) { $ntp = timezone::ntp_server(); $ntp and ntp_widget_state(1); foreach my $s (@$servers) { $s =~ /^\Q$ntp / and $fullntp = $s; $fullntp and last } $fullntp |= $ntp; $combo_ntpserver->entry->set_text($fullntp); } else { ntp_widget_state(0) } my $pressed; $drawing_area->set_events([ 'button_press_mask', 'button_release_mask', "pointer_motion_mask" ]); $drawing_area->signal_connect(expose_event => \&expose_event); $drawing_area->signal_connect(realize => sub { my $window = $drawing_area->window; $pixmap = Gtk2::Gdk::Pixmap->new($window, @image_size, $window->get_depth); }); $drawing_area->signal_connect(button_press_event => sub { $pressed = 1 }); $drawing_area->signal_connect(button_release_event => sub { $first = 1; $pressed = 0 }); $drawing_area->signal_connect(motion_notify_event => \&motion_event); $spinner_h->set_wrap(1); $spinner_h->signal_connect(activate => \&spinned); $spinner_h->signal_connect(button_release_event => \&spinned); $spinner_h->signal_connect(changed => \&changed); $spinner_m->set_wrap(1); $spinner_m->signal_connect(activate => \&spinned); $spinner_m->signal_connect(button_release_event => \&spinned); $spinner_s->set_wrap(1); $spinner_s->signal_connect(activate => \&spinned); $spinner_s->signal_connect(button_release_event => \&spinned); $my_win->{window}->show_all; gtkflush(); my $is24 = $h_old > 12; $old_year += 1900; $calendar->select_month($old_month, $old_year); $calendar->select_day($old_day); $button_reset->set_sensitive(0); $timer = Glib::Timeout->add(120, \&update_time); $drawing_area->show; $my_win->main; ugtk2->exit(0); sub ntp_widget_state { my ($state) = @_; $check_ntp->set_active($state); $hb_ntp->set_sensitive($state); $mode = $state; } sub install_ntp() { $my_win->{window}->set_sensitive(0); if (warn_dialog(N("Warning"), N("We need to install ntp package\n to enable Network Time Protocol Do you want to install ntp ?"))) { $in->do_pkgs->install('ntp'); } else { ntp_widget_state(0); } $my_win->{window}->set_sensitive(1); } sub get_server() { my $servs = timezone::ntp_servers(); [ map { "$_ ($servs->{$_})" } sort keys %$servs ] } sub update_time() { Repaint($drawing_area, 1); }; sub cal_changed() { !$its_reset and $timer and Glib::Source->remove($timer); $button_reset->set_sensitive(1); } sub changed() { my $val = $adjh->get_value; my $limit = ($is24 ? 18 : 6); if (($limit > $val && $h_old > $limit && $h_old < ($is24 ? 24 : 12)) || ($limit < $val && $h_old < $limit && $val-$h_old != 12)) { $is24 = !$is24; } $h_old = $val; } sub spinned() { Glib::Source->remove($timer); $button_reset->set_sensitive(1); time_to_rad($adjs->get_value, $adjm->get_value, $adjh->get_value); Repaint($drawing_area); 0; } sub motion_event { my ($widget, $event) = @_; $pressed or return; if ($first) { Glib::Source->remove($timer); $Radian = determine_radian($event->x, $event->y); $button_reset->set_sensitive(1); } $$Radian = -atan2($event->x - $midx, $event->y - $midy) + $PI; Repaint($widget); rad_to_time(); $first = 0; } sub determine_radian { my ($x, $y) = @_; my $res; my $r; foreach (\$dRadians_hour, \$dRadians_min, \$dRadians_sec) { my $d = sqrt(($x - ($midx + 7/10 * $radius * sin($$_)))**2 + ($y - ($midy - 7/10 * $radius * cos($$_)))**2); $res or $res = $d, $r = $_; $d < $res and $res = $d, $r = $_; } $r; } sub expose_event { my ($widget, $event) = @_; my ($x, $y, $width, $height) = $event->area->values; $widget->window->draw_drawable($widget->style->fg_gc('normal'), $pixmap, $x, $y, $x, $y, $width, $height); 0; } sub rad_to_time() { $adjh->set_value(POSIX::floor($dRadians_hour * 6 / $PI) + ($is24 ? 12 : 0)); $adjm->set_value(POSIX::floor($dRadians_min*30/$PI)); $adjs->set_value(POSIX::floor($dRadians_sec*30/$PI)); } sub time_to_rad { my ($sec, $min, $hour) = @_; $dRadians_hour = $hour % 12 * $PI / 6; $dRadians_min = $min * $PI / 30; $dRadians_sec = $sec * $PI / 30; $adjh->set_value($hour); $adjm->set_value($min); $adjs->set_value($sec); } sub Repaint { my ($drawing_area, $o_update_time) = @_; my ($sec, $min, $hour) = localtime(time()); time_to_rad($sec, $min, $hour) if $o_update_time; my ($width, $height) = ($drawing_area->allocation->width, $drawing_area->allocation->height); my $dRadians_hour_real = $dRadians_hour + $dRadians_min / 12; my $dRadians_min_real = POSIX::floor($dRadians_min / $PI * 30) * $PI / 30; my $dRadians_sec_real = $dRadians_sec; $pixmap->draw_rectangle($drawing_area->style->white_gc, 1, 0, 0, $width, $height); my ($midx, $midy) = ($width / 2, $height / 2); $radius = ($midx < $midy ? $midx : $midy) - 10; my $gray_gc = $drawing_area->style->bg_gc('normal'); my $black_gc = $drawing_area->style->black_gc; foreach ([ $gray_gc, 5 ], [ $black_gc, 0 ]) { &DrawTickAt($pixmap, $_->[0], $midx, $midy, $_->[1]); &DrawHour($pixmap, $_->[0], $midx, $midy, $dRadians_hour_real, $_->[1]); &DrawMin($pixmap, $_->[0], $midx, $midy, $dRadians_min_real, $_->[1]); &DrawSec($pixmap, $_->[0], $midx, $midy, $dRadians_sec_real, $_->[1]); } &DrawPointAt($pixmap, $black_gc, $_, $midx, $midy) foreach (1..60); $drawing_area->queue_draw; 1; } sub DrawSec { my ($pixmap, $gc, $midx, $midy, $dRadians, $dec) = @_; $pixmap->draw_line($gc, $midx+$dec, $midy+$dec, $midx+$dec + (8/10 * $radius * sin($dRadians)), $midy+$dec - (8/10 * $radius * cos($dRadians))) } sub DrawMin { my ($pixmap, $gc, $midx, $midy, $dRadians, $dec) = @_; $pixmap->draw_polygon($gc, 1, $midx+$dec - 3/100 * $radius * sin($dRadians), $midy+$dec + 3/100 * $radius * cos($dRadians), $midx+$dec - 3/100 * $radius * sin($dRadians+$PI/2), $midy+$dec + 3/100 * $radius * cos($dRadians+$PI/2), $midx+$dec + 8/10 * $radius * sin($dRadians), $midy+$dec - 8/10 * $radius * cos($dRadians), $midx+$dec + 3/100 * $radius * sin($dRadians+$PI/2), $midy+$dec - 3/100 * $radius * cos($dRadians+$PI/2) ); } sub DrawHour { my ($pixmap, $gc, $midx, $midy, $dRadians, $dec) = @_; $pixmap->draw_polygon($gc, 1, $midx+$dec - 5/100 * $radius * sin($dRadians), $midy+$dec + 5/100 * $radius * cos($dRadians), $midx+$dec - 5/100 * $radius * sin($dRadians+$PI/2), $midy+$dec + 5/100 * $radius * cos($dRadians+$PI/2), $midx+$dec + 7/10 * $radius * sin($dRadians), $midy+$dec - 7/10 * $radius * cos($dRadians), $midx+$dec + 5/100 * $radius * sin($dRadians+$PI/2), $midy+$dec - 5/100 * $radius * cos($dRadians+$PI/2) ); } sub DrawTickAt { my ($pixmap, $gc, $cx, $cy, $dec) = @_; foreach my $nHour (1..12) { my $dRadians = $nHour * $PI / 6.0; $pixmap->draw_line($gc, $cx + $dec + 9/10 * $radius * sin($dRadians), $cy + $dec - 9/10 * $radius * cos($dRadians), $cx + $dec + 1 * $radius * sin($dRadians), $cy + $dec - 1 * $radius * cos($dRadians)); } } sub DrawPointAt { my ($pixmap, $black_gc, $nHour, $cx, $cy) = @_; my $dRadians = $nHour * $PI / 30; $pixmap->draw_points($black_gc, $cx + 95/100 * $radius * sin($dRadians), $cy - 95/100 * $radius * cos($dRadians)) } sub print_it0 { sprintf("%02d", $_[0]) }