summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--perl-install/Makefile1
-rw-r--r--perl-install/install2.pm10
-rw-r--r--perl-install/install_any.pm8
-rw-r--r--perl-install/install_steps.pm2
-rw-r--r--perl-install/install_steps_interactive.pm18
-rw-r--r--perl-install/interactive_gtk.pm7
-rw-r--r--perl-install/interactive_newt.pm51
-rw-r--r--perl-install/partition_table_raw.pm3
-rw-r--r--perl-install/share/themes.rc6
9 files changed, 60 insertions, 46 deletions
diff --git a/perl-install/Makefile b/perl-install/Makefile
index c5bd1bfae..9de2f57b6 100644
--- a/perl-install/Makefile
+++ b/perl-install/Makefile
@@ -124,6 +124,7 @@ get_needed_files: $(DIRS)
fi; \
fi; \
done
+ mv -f $(DEST)/lib/libimlib-xpm.so $(DEST)/usr/lib
mv -f $(DEST)/bin/* $(DEST)/sbin/* $(DEST)/usr/bin
cd $(DEST)/usr/bin ; mv insmod insmod_
diff --git a/perl-install/install2.pm b/perl-install/install2.pm
index 364e1ef78..4d6d5102e 100644
--- a/perl-install/install2.pm
+++ b/perl-install/install2.pm
@@ -123,8 +123,8 @@ $o = $::o = {
autoSCSI => 0,
mkbootdisk => 1, #- no mkbootdisk if 0 or undef, find a floppy with 1, or fd1
#- packages => [ qw() ],
- partitioning => { clearall => 0, eraseBadPartitions => 0, auto_allocate => 0, autoformat => 0, readonly => 0 },
-#- security => 3,
+ partitioning => { clearall => 0, eraseBadPartitions => 0, auto_allocate => 0, autoformat => 0 }, #- , readonly => 0
+#- security => 2,
#- partitions => [
#- { mntpoint => "/boot", size => 16 << 11, type => 0x83 },
#- { mntpoint => "/", size => 256 << 11, type => 0x83 },
@@ -178,7 +178,7 @@ $o = $::o = {
#- user => { name => 'foo', password => 'bar', home => '/home/foo', shell => '/bin/bash', realname => 'really, it is foo' },
#- keyboard => 'de',
-#- display => "192.168.1.19:2",
+#- display => "192.168.1.15:0",
steps => \%installSteps,
orderedSteps => \@orderedInstallSteps,
@@ -269,8 +269,6 @@ sub setupSCSI {
sub partitionDisks {
return
$o->{fstab} = [
- #{ device => "loop7", mntpoint => "/", type => 0x83, size => ((cat_('/dos/lnx4win/size.txt'))[0]*2048), isFormatted => 1, isMounted => 1, noMakeDevice => 1 },
- #{ device => "/initrd/dos/lnx4win/swapfile", mntpoint => "swap", type => 0x82, isFormatted => 1, isMounted => 1, noMakeDevice => 1 },
{ device => "loop7", type => 0x83, mntpoint => "/", isFormatted => 1, isMounted => 1 },
{ device => "/initrd/dos/lnx4win/swapfile", type => 0x82, mntpoint => "swap", isFormatted => 1, isMounted => 1 },
] if $o->{lnx4win};
@@ -558,7 +556,7 @@ sub main {
last if $o->{step} eq 'exitInstall';
}
- substInFile { s|/sbin/mingetty tty1.*|/bin/bash --login| } "$o->{prefix}/etc/inittab" if $o->{security} < 2;
+ substInFile { s|/sbin/mingetty tty1.*|/bin/bash --login| } "$o->{prefix}/etc/inittab" if $o->{security} < 1;
fs::write($o->{prefix}, $o->{fstab});
modules::write_conf("$o->{prefix}/etc/conf.modules", 'append');
diff --git a/perl-install/install_any.pm b/perl-install/install_any.pm
index 06c135288..654e703b3 100644
--- a/perl-install/install_any.pm
+++ b/perl-install/install_any.pm
@@ -17,6 +17,7 @@ use common qw(:common :system :functional :file);
use commands;
use run_program;
use partition_table qw(:types);
+use partition_table_raw;
use devices;
use fsedit;
use network;
@@ -164,8 +165,11 @@ sub getHds {
my ($o) = @_;
my ($ok, $ok2) = 1;
+ my @drives = detect_devices::hds();
+ add2hash_($o->{partitioning}, { readonly => 1 }) if partition_table_raw::typeOfMBR($drives[0]{device}) eq 'system_commander';
+
getHds:
- $o->{hds} = catch_cdie { fsedit::hds([ detect_devices::hds() ], $o->{partitioning}) }
+ $o->{hds} = catch_cdie { fsedit::hds(\@drives, $o->{partitioning}) }
sub {
$o->ask_warn(_("Error"),
_("I can't read your partition table, it's too corrupted for me :(
@@ -415,6 +419,6 @@ sub pkg_install {
}
sub fsck_option() {
- my $y = $::o->{security} < 4 && $::beginner && "-y ";
+ my $y = $::o->{security} < 3 && $::beginner && "-y ";
substInFile { s/^(\s*fsckoptions=)(-y )?/$1$y/ } "$::o->{prefix}/etc/rc.d/rc.sysinit";
}
diff --git a/perl-install/install_steps.pm b/perl-install/install_steps.pm
index 60718fc88..225a0d3c1 100644
--- a/perl-install/install_steps.pm
+++ b/perl-install/install_steps.pm
@@ -323,7 +323,7 @@ sub addUser($) {
foreach (@l) {
if (! -d "$p$_->{home}") {
- my $mode = $o->{security} < 3 ? 0755 : 0750;
+ my $mode = $o->{security} < 2 ? 0755 : 0750;
eval { commands::cp("-f", "$p/etc/skel", "$p$_->{home}") };
if ($@) {
log::l("copying of skel failed: $@"); mkdir("$p$_->{home}", $mode);
diff --git a/perl-install/install_steps_interactive.pm b/perl-install/install_steps_interactive.pm
index e46c99c19..d027f4d98 100644
--- a/perl-install/install_steps_interactive.pm
+++ b/perl-install/install_steps_interactive.pm
@@ -17,6 +17,7 @@ use pci_probing::main;
use install_any;
use detect_devices;
use timezone;
+use run_program;
use fsedit;
use network;
use mouse;
@@ -541,9 +542,9 @@ sub setRootPassword($) {
my $sup = $o->{superuser} ||= {};
$sup->{password2} ||= $sup->{password} ||= "";
- return if $o->{security} < 2 && !$clicked;
+ return if $o->{security} < 1 && !$clicked;
- $o->{security} < 2 or
+ $o->{security} < 1 or
$o->ask_from_entries_ref([_("Set root password"), _("Ok"), _("No password")],
_("Set root password"),
[_("Password:"), _("Password (again):"), $o->{installClass} eq "server" || $::expert ? (_("Use shadow file"), _("Use MD5 passwords")) : (), $::beginner ? () : _("Use NIS") ],
@@ -555,7 +556,7 @@ sub setRootPassword($) {
],
complete => sub {
$sup->{password} eq $sup->{password2} or $o->ask_warn('', [ _("The passwords do not match"), _("Please try again") ]), return (1,1);
- length $sup->{password} < ($o->{security} > 4 ? 10 : 6)
+ length $sup->{password} < ($o->{security} > 3 ? 10 : 6)
and $o->ask_warn('', _("This password is too simple")), return (1,0);
return 0
}
@@ -577,7 +578,7 @@ sub setRootPassword($) {
#------------------------------------------------------------------------------
sub addUser($) {
my ($o, $clicked) = @_;
- my $u = $o->{user} ||= $o->{security} < 2 ? { name => "mandrake", realname => "default" } : {};
+ my $u = $o->{user} ||= $o->{security} < 1 ? { name => "mandrake", realname => "default" } : {};
$u->{password2} ||= $u->{password} ||= "";
my @fields = qw(realname name password password2);
my @shells = install_any::shells($o);
@@ -585,7 +586,7 @@ sub addUser($) {
if ($o->{security} < 2 && !$clicked || $o->ask_from_entries_ref(
[ _("Add user"), _("Accept user"), _("Done") ],
_("Enter a user\n%s", $o->{users} ? _("(already added %s)", join(", ", map { $_->{realname} } @{$o->{users}})) : ''),
- [ _("Real name"), _("User name"), $o->{security} < 3 ? () : (_("Password"), _("Password (again)")), $::beginner ? () : _("Shell") ],
+ [ _("Real name"), _("User name"), $o->{security} < 2 ? () : (_("Password"), _("Password (again)")), $::beginner ? () : _("Shell") ],
[ \$u->{realname}, \$u->{name},
{val => \$u->{password}, hidden => 1}, {val => \$u->{password2}, hidden => 1},
{val => \$u->{shell}, list => \@shells, not_edit => !$::expert},
@@ -605,7 +606,7 @@ sub addUser($) {
)) {
push @{$o->{users}}, $o->{user};
$o->{user} = {};
- goto &addUser unless $o->{security} < 2 && !$clicked;
+ goto &addUser unless $o->{security} < 1 && !$clicked;
}
install_steps::addUser($o);
}
@@ -673,7 +674,7 @@ _("Linear (needed for some SCSI drives)") => { val => \$b->{linear}, type => "bo
_("Compact") => { val => \$b->{compact}, type => "bool", text => _("compact") },
_("Delay before booting default image") => \$b->{timeout},
_("Video mode") => { val => \$b->{vga}, list => [ keys %lilo::vga_modes ], not_edit => $::beginner },
-$o->{security} < 3 ? () : (
+$o->{security} < 2 ? () : (
_("Password") => { val => \$b->{password}, hidden => 1 },
_("Restrict command line options") => { val => \$b->{restricted}, type => "bool", text => _("restrict") },
)
@@ -763,7 +764,8 @@ _("Default") => { val => \$default, type => 'bool' },
sub miscellaneous {
my ($o, $clicked) = @_;
my %l = (
- 1 => _("Windows(TM)"),
+ 0 => _("Windows(TM)"),
+ 1 => _("Poor"),
2 => _("Low"),
3 => _("Medium"),
4 => _("High"),
diff --git a/perl-install/interactive_gtk.pm b/perl-install/interactive_gtk.pm
index 7074e6664..3063a2d19 100644
--- a/perl-install/interactive_gtk.pm
+++ b/perl-install/interactive_gtk.pm
@@ -48,14 +48,13 @@ sub ask_from_listW {
sub ask_many_from_list_refW($$$$$) {
my ($o, $title, $messages, $list, $val) = @_;
- my $n = 0;
my $w = my_gtk->new('', %$o);
my $box = gtkpack(new Gtk::VBox(0,0),
map {
- my $nn = $n++;
+ my $i = $::i;
my $o = Gtk::CheckButton->new($_);
- $o->set_active(${$val->[$nn]});
- $o->signal_connect(clicked => sub { invbool \${$val->[$nn]} });
+ $o->set_active(${$val->[$i]});
+ $o->signal_connect(clicked => sub { invbool \${$val->[$i]} });
$o;
} @$list);
gtkadd($w->{window},
diff --git a/perl-install/interactive_newt.pm b/perl-install/interactive_newt.pm
index 254e27eb1..a6ae69d25 100644
--- a/perl-install/interactive_newt.pm
+++ b/perl-install/interactive_newt.pm
@@ -10,6 +10,9 @@ use interactive;
use common qw(:common :functional);
use Term::Newt;
+my $width = 80;
+my $height = 25;
+
my $n = Term::Newt->new;
$n->init;
$n->cls;
@@ -28,36 +31,36 @@ sub ask_from_listW {
$l->[$n->win_ternary($title, @$l, $mesg) - 1];
} else {
my $i; map_index { $i = $::i if $def eq $_ } @$l;
- print STDERR "($i)\n";
my ($r, $e) = $n->newtWinMenu($title, $mesg, 40, 5, 5, 8, $l, $i, @okcancel);
return if $r > 1;
$l->[$e];
}
}
-#sub ask_many_from_list_refW($$$$$) {
-# my ($o, $title, $messages, $list, $val) = @_;
-# my $n = 0;
-# my $w = my_gtk->new('', %$o);
-# my $box = gtkpack(new Gtk::VBox(0,0),
-# map {
-# my $nn = $n++;
-# my $o = Gtk::CheckButton->new($_);
-# $o->set_active(${$val->[$nn]});
-# $o->signal_connect(clicked => sub { invbool \${$val->[$nn]} });
-# $o;
-# } @$list);
-# gtkadd($w->{window},
-# gtkpack_(create_box_with_title($w, @$messages),
-# 1, @$list > 11 ? gtkset_usize(createScrolledWindow($box), 0, 250) : $box,
-# 0, $w->create_okcancel,
-# )
-# );
-# $w->{ok}->grab_focus;
-# $w->main && $val;
-#}
-#
-#
+sub ask_many_from_list_refW($$$$$) {
+ my ($o, $title, $messages, $list, $val) = @_;
+ my $w = my_gtk->new('', %$o);
+ my @box = map_index {
+ $n->newtCheckbox(1, $::i + 1, $_, ${$val->[$::i]} ? '*' : ' ', " *", ${$val->[$::i]});
+ } @$list;
+
+ my $l = max(22, 2 + max map { length } @$list);
+ my $h = max(10, 2 + @$list + @$messages);
+
+ $n->open_window(($width - $l) / 2, ($height - $h) / 2, $l, $h, $title);
+ my $form = $n->form(\ (my $ref = 0),'', 0);
+
+ $n->form_add_components($form, @box,
+ $n->button(1, @$list + 3, _("Ok")),
+ $n->button(10, @$list + 3, _("Cancel")));
+
+ $n->run_form($form);
+ $n->form_destroy($form);
+
+ $$_ = $$_ eq "*" foreach @$val;
+}
+
+
#sub ask_from_entries_refW {
# my ($o, $title, $messages, $l, $val, %hcallback) = @_;
# my ($title_, @okcancel) = ref $title ? @$title : $title;
diff --git a/perl-install/partition_table_raw.pm b/perl-install/partition_table_raw.pm
index 87e0ffdf5..1e1d1a09f 100644
--- a/perl-install/partition_table_raw.pm
+++ b/perl-install/partition_table_raw.pm
@@ -18,7 +18,8 @@ my @MBR_signatures = (
[ 'empty', 0, "\0\0\0\0" ],
[ 'lilo', 0x6, "LILO" ],
[ 'osbs', 0x2, "OSBS" ], #- http://www.prz.tu-berlin.de/~wolf/os-bs.html
- [ 'pqmagic', 0xef, "PQV" ],
+ [ 'pqmagic', 0xef, "PQV" ],
+ [ 'BootStar', 0x130, "BootStar:" ],
[ 'DocsBoot', 0x148, 'DocsBoot' ],
[ 'system_commander', 0x1ad, "SYSCMNDRSYS" ],
[ 'dos', 0xa0, "\x25\x03\x4E\x02\xCD\x13" ],
diff --git a/perl-install/share/themes.rc b/perl-install/share/themes.rc
index 5b05c2294..1cfb40937 100644
--- a/perl-install/share/themes.rc
+++ b/perl-install/share/themes.rc
@@ -3,6 +3,11 @@ style "marble3d"
bg[NORMAL] = { 0.80, 0.80, 0.8 }
bg[PRELIGHT] = { 0.9, 0.9, 0.9 }
}
+style "DarkMarble"
+{
+ bg[NORMAL] = { 0.4, 0.45, 0.4 }
+ bg[PRELIGHT] = { 0.5, 0.55, 0.5 }
+}
style "savane"
{
bg[NORMAL] = { 1.0, 0.67, 0 }
@@ -19,6 +24,7 @@ style "blue"
bg[PRELIGHT] = { 0, 0, 1.0 }
}
widget "*marble3d*" style "marble3d"
+widget "*DarkMarble*" style "DarkMarble"
widget "*savane*" style "savane"
widget "*blackwhite*" style "blackwhite"
widget "*blue*" style "blue"