diff options
Diffstat (limited to 'perl-install')
-rw-r--r-- | perl-install/install2.pm | 27 | ||||
-rw-r--r-- | perl-install/install_steps_gtk.pm | 17 | ||||
-rw-r--r-- | perl-install/install_steps_interactive.pm | 5 | ||||
-rw-r--r-- | perl-install/keyboard.pm | 1 | ||||
-rw-r--r-- | perl-install/list.sparc | 74 | ||||
-rw-r--r-- | perl-install/partition_table.pm | 12 | ||||
-rw-r--r-- | perl-install/partition_table_raw.pm | 1 | ||||
-rw-r--r-- | perl-install/pkgs.pm | 6 | ||||
-rw-r--r-- | perl-install/share/list.sparc | 105 |
9 files changed, 185 insertions, 63 deletions
diff --git a/perl-install/install2.pm b/perl-install/install2.pm index 721240715..086eeaa3f 100644 --- a/perl-install/install2.pm +++ b/perl-install/install2.pm @@ -143,6 +143,33 @@ $o = $::o = { #- packages => [ qw() ], partitioning => { clearall => 0, eraseBadPartitions => 0, auto_allocate => 0 }, #-, readonly => 0 }, #- security => 2, +#arch() =~ /^sparc/ ? ( +# partitions => [ +# { mntpoint => "/", size => 600 << 11, type => 0x83, ratio => 5, maxsize =>1000 << 11 }, +# { mntpoint => "swap", size => 128 << 11, type => 0x82, ratio => 1, maxsize => 400 << 11 }, +# { mntpoint => "/usr", size => 300 << 11, type => 0x83, ratio => 3, maxsize =>1500 << 11 }, +# { mntpoint => "/home", size => 300 << 11, type => 0x83, ratio => 5 }, +# ], +#) : ( +# partitions => [ +# { mntpoint => "/boot", size => 10 << 11, type => 0x83, maxsize => 30 << 11 }, +# { mntpoint => "/", size => 300 << 11, type => 0x83, ratio => 5, maxsize => 1500 << 11 }, +# { mntpoint => "swap", size => 64 << 11, type => 0x82, ratio => 1, maxsize => 250 << 11 }, +# { mntpoint => "/home", size => 300 << 11, type => 0x83, ratio => 5 }, +# ], +#), +#- partitions => [ +#- { mntpoint => "/boot", size => 16 << 11, type => 0x83 }, +#- { mntpoint => "/", size => 256 << 11, type => 0x83 }, +#- { mntpoint => "/usr", size => 512 << 11, type => 0x83, growable => 1 }, +#- { mntpoint => "/var", size => 256 << 11, type => 0x83 }, +#- { mntpoint => "/home", size => 512 << 11, type => 0x83, growable => 1 }, +#- { mntpoint => "swap", size => 64 << 11, type => 0x82 } +#- { mntpoint => "/boot", size => 16 << 11, type => 0x83 }, +#- { mntpoint => "/", size => 300 << 11, type => 0x83 }, +#- { mntpoint => "swap", size => 64 << 11, type => 0x82 }, +#- { mntpoint => "/usr", size => 400 << 11, type => 0x83, growable => 1 }, +#- ], shells => [ map { "/bin/$_" } qw(bash tcsh zsh ash ksh) ], authentication => { md5 => 1, shadow => 1 }, lang => 'en', diff --git a/perl-install/install_steps_gtk.pm b/perl-install/install_steps_gtk.pm index 2169b8bb4..483936295 100644 --- a/perl-install/install_steps_gtk.pm +++ b/perl-install/install_steps_gtk.pm @@ -54,6 +54,7 @@ sub new($$) { my $f = "/tmp/Xconf"; createXconf($f, @{$o->{mouse}}{"XMOUSETYPE", "device"}, $o->{wacom}); + devices::make("/dev/kbd"); if ($ENV{DISPLAY} eq ":0") { my $launchX = sub { @@ -88,9 +89,10 @@ sub new($$) { foreach (@servers) { log::l("Trying with server $_"); + sleep 3; my $dir = "/usr/X11R6/bin"; my $prog = /Xsun/ ? $_ : "XF86_$_"; - unless (-x "$dir/XF86_$_") { + unless (-x "$dir/$prog") { unlink $_ foreach glob_("$dir/X*"); install_any::getAndSaveFile("$dir/$prog", "$dir/$prog") or die "failed to get server: $!"; chmod 0755, "$dir/$prog"; @@ -822,7 +824,7 @@ sub init_sizes() { sub createXconf { my ($file, $mouse_type, $mouse_dev, $wacom_dev) = @_; - devices::make("/dev/kdb") if arch() =~ /^sparc/; #- used by Xsun style server. + devices::make("/dev/kbd") if arch() =~ /^sparc/; #- used by Xsun style server. symlinkf($mouse_dev, "/dev/mouse"); #- needed for imlib to start on 8-bit depth visual. @@ -944,6 +946,9 @@ Section "Screen" EndSubsection EndSection +END + if (arch() =~ /^sparc/) { + print F <<END_FBDEV_SPARC; Section "Screen" Driver "svga" Device "svga" @@ -954,7 +959,9 @@ Section "Screen" ViewPort 0 0 EndSubsection EndSection - +END_FBDEV_SPARC + } else { + print F <<END_FBDEV; Section "Screen" Driver "accel" Device "svga" @@ -965,8 +972,8 @@ Section "Screen" ViewPort 0 0 EndSubsection EndSection -END - +END_FBDEV + } } #- ModeLine "640x480" 28 640 672 768 800 480 490 492 525 #-###################################################################################### diff --git a/perl-install/install_steps_interactive.pm b/perl-install/install_steps_interactive.pm index 21453e785..464ac7f2b 100644 --- a/perl-install/install_steps_interactive.pm +++ b/perl-install/install_steps_interactive.pm @@ -959,7 +959,7 @@ sub miscellaneous { exists $u->{LAPTOP} or $u->{LAPTOP} = 1; my $s = $o->{security}; - add2hash_ $o, { useSupermount => $s < 4 }; + add2hash_ $o, { useSupermount => $s < 4 && arch() =~ /^sparc/ }; $s = $l{$s} || $s; !$::beginner || $clicked and $o->ask_from_entries_refH('', @@ -967,7 +967,8 @@ sub miscellaneous { _("Use hard drive optimisations?") => { val => \$u->{HDPARM}, type => 'bool', text => _("(may cause data corruption)") }, _("Choose security level") => { val => \$s, list => [ map { $l{$_} } ikeys %l ], not_edit => 1 }, _("Precise RAM size if needed (found %d MB)", availableRam / 1024 + 3) => \$u->{memsize}, #- add three for correction. -_("Removable media automounting") => { val => \$o->{useSupermount}, type => 'bool', text => 'supermount' }, +arch() !~ /^sparc/ ? ( +_("Removable media automounting") => { val => \$o->{useSupermount}, type => 'bool', text => 'supermount' }, ) : (), $::expert ? ( _("Clean /tmp at each boot") => { val => \$u->{CLEAN_TMP}, type => 'bool' }, ) : (), diff --git a/perl-install/keyboard.pm b/perl-install/keyboard.pm index e907fa35a..86aba5e8d 100644 --- a/perl-install/keyboard.pm +++ b/perl-install/keyboard.pm @@ -244,6 +244,7 @@ sub xmodmap_file { } sub setup($) { + return if arch() =~ /^sparc/; my ($keyboard) = @_; my $o = $keyboards{$keyboard} or return; diff --git a/perl-install/list.sparc b/perl-install/list.sparc new file mode 100644 index 000000000..448e0b63e --- /dev/null +++ b/perl-install/list.sparc @@ -0,0 +1,74 @@ +/bin/ash +/bin/cpio +/lib/libnss_nis.so.2 +/lib/libnss_files.so.2 +/lib/libnss_dns.so.2 +/lib/libresolv.so.2 +/etc/protocols +/sbin/fdisk +/sbin/ifport +/sbin/insmod +/sbin/mkraid +/sbin/rmmod +/sbin/mkdosfs +/sbin/mke2fs +/sbin/raidstart +/usr/bin/bzip2 +/usr/bin/perl +/usr/lib/libimlib-png.so +/usr/lib/gtk/themes/engines/libpixmap.so +/usr/lib/gtk/themes/engines/libpixmap.la +/usr/lib/libimlib-png.so +/usr/lib/perl5/5.00503/AutoLoader.pm +/usr/lib/perl5/5.00503/Carp.pm +/usr/lib/perl5/5.00503/Data/Dumper.pm +/usr/lib/perl5/5.00503/Exporter.pm +/usr/lib/perl5/5.00503/FileHandle.pm +/usr/lib/perl5/5.00503/SelectSaver.pm +/usr/lib/perl5/5.00503/SelfLoader.pm +/usr/lib/perl5/5.00503/Symbol.pm +/usr/lib/perl5/5.00503/Time/Local.pm +/usr/lib/perl5/5.00503/dumpvar.pl +/usr/lib/perl5/5.00503/sparc-linux/Config.pm +/usr/lib/perl5/5.00503/sparc-linux/DynaLoader.pm +/usr/lib/perl5/5.00503/sparc-linux/Fcntl.pm +/usr/lib/perl5/5.00503/sparc-linux/auto/Fcntl/Fcntl.bs +/usr/lib/perl5/5.00503/sparc-linux/auto/Fcntl/Fcntl.so +/usr/lib/perl5/5.00503/sparc-linux/IO/File.pm +/usr/lib/perl5/5.00503/sparc-linux/IO/Handle.pm +/usr/lib/perl5/5.00503/sparc-linux/IO/Seekable.pm +/usr/lib/perl5/5.00503/sparc-linux/IO/Socket.pm +/usr/lib/perl5/5.00503/sparc-linux/Socket.pm +/usr/lib/perl5/5.00503/sparc-linux/_h2ph_pre.ph +/usr/lib/perl5/5.00503/sparc-linux/asm/unistd.ph +/usr/lib/perl5/5.00503/sparc-linux/asm-sparc/unistd.ph +/usr/lib/perl5/5.00503/sparc-linux/asm-sparc64/unistd.ph +/usr/lib/perl5/5.00503/sparc-linux/auto/Data/Dumper/Dumper.bs +/usr/lib/perl5/5.00503/sparc-linux/auto/Data/Dumper/Dumper.so +/usr/lib/perl5/5.00503/sparc-linux/auto/IO/IO.so +/usr/lib/perl5/5.00503/sparc-linux/auto/Socket/Socket.bs +/usr/lib/perl5/5.00503/sparc-linux/auto/Socket/Socket.so +/usr/lib/perl5/5.00503/sparc-linux/bits/syscall.ph +/usr/lib/perl5/5.00503/sparc-linux/sys/syscall.ph +/usr/lib/perl5/5.00503/sparc-linux/syscall.ph +/usr/lib/perl5/5.00503/lib.pm +/usr/lib/perl5/5.00503/overload.pm +/usr/lib/perl5/5.00503/strict.pm +/usr/lib/perl5/5.00503/vars.pm +/usr/lib/perl5/site_perl/5.005/sparc-linux/Gtk.pm +/usr/lib/perl5/site_perl/5.005/sparc-linux/Gtk/Types.pm +/usr/lib/perl5/site_perl/5.005/sparc-linux/Net/Cmd.pm +/usr/lib/perl5/site_perl/5.005/sparc-linux/Net/Config.pm +/usr/lib/perl5/site_perl/5.005/sparc-linux/Net/FTP.pm +/usr/lib/perl5/site_perl/5.005/sparc-linux/Net/FTP/A.pm +/usr/lib/perl5/site_perl/5.005/sparc-linux/Net/FTP/I.pm +/usr/lib/perl5/site_perl/5.005/sparc-linux/Net/FTP/dataconn.pm +/usr/lib/perl5/site_perl/5.005/sparc-linux/Net/Netrc.pm +/usr/lib/perl5/site_perl/5.005/sparc-linux/auto/Gtk/Gtk.bs +/usr/lib/perl5/site_perl/5.005/sparc-linux/auto/Gtk/Gtk.so +/usr/lib/rpm/rpmrc +/usr/X11R6/bin/XF86_FBDev +/usr/X11R6/bin/XF86_Mach64 +/usr/X11R6/bin/Xsun +/usr/X11R6/bin/xmodmap +/usr/X11R6/lib/modules/xf86Wacom.so diff --git a/perl-install/partition_table.pm b/perl-install/partition_table.pm index 1dc606b8e..b3719cf81 100644 --- a/perl-install/partition_table.pm +++ b/perl-install/partition_table.pm @@ -442,12 +442,14 @@ sub write($) { $hd->write(0, $hd->{primary}{raw}, $hd->{primary}{info}) or die "writing of partition table failed"; #- should be fixed but a extended exist with no real extended partition, that blanks mbr! - foreach (@{$hd->{extended}}) { - # in case of extended partitions, the start sector must be local to the partition - $_->{normal}{local_start} = $_->{normal}{start} - $_->{start}; - $_->{extended} and $_->{extended}{local_start} = $_->{extended}{start} - $hd->{primary}{extended}{start}; + if (arch() !~ /^sparc/) { + foreach (@{$hd->{extended}}) { + # in case of extended partitions, the start sector must be local to the partition + $_->{normal}{local_start} = $_->{normal}{start} - $_->{start}; + $_->{extended} and $_->{extended}{local_start} = $_->{extended}{start} - $hd->{primary}{extended}{start}; - $hd->write($_->{start}, $_->{raw}) or die "writing of partition table failed"; + $hd->write($_->{start}, $_->{raw}) or die "writing of partition table failed"; + } } $hd->{isDirty} = 0; diff --git a/perl-install/partition_table_raw.pm b/perl-install/partition_table_raw.pm index 45fbdd424..7b886a1f8 100644 --- a/perl-install/partition_table_raw.pm +++ b/perl-install/partition_table_raw.pm @@ -78,6 +78,7 @@ sub get_geometry($) { local *F; sysopen F, $dev, 0 or return; ioctl(F, c::HDIO_GETGEO(), $g) or return; my %geom; @geom{qw(heads sectors cylinders start)} = unpack "CCSL", $g; + $geom{totalcylinders} = $geom{cylinders}; #- $geom{cylinders} is no good (only a ushort, that means less than 2^16 => at best 512MB) if (my $total = c::total_sectors(fileno F)) { diff --git a/perl-install/pkgs.pm b/perl-install/pkgs.pm index 46c52c229..e03dcc241 100644 --- a/perl-install/pkgs.pm +++ b/perl-install/pkgs.pm @@ -183,7 +183,7 @@ my $A = -1.922e-05; my $B = 1.18411; my $C = 23.2; #- doesn't take hdlist's into account as getAvailableSpace will do it. sub correctSize { max($_[0], ($A * $_[0] + $B) * $_[0] + $C) } #- size correction in MB. -sub invCorrectSize { min($_[0], (sqrt(sqr($B) + 4 * $A * ($_[0] - $C)) - $B) / 2 / $A) } #- size correction in MB. +sub invCorrectSize { min($_[0], (sqrt(max(sqr($B) + 4 * $A * ($_[0] - $C), 0)) - $B) / 2 / $A) } #- size correction in MB. sub selectedSize { my ($packages) = @_; @@ -995,8 +995,8 @@ sub install($$$;$$) { install_any::getFile('XXX'); #- reset ftp handlers before forking, otherwise well ;-( - require ftp; - ftp::rewindGetFile(); + #require ftp; + #ftp::rewindGetFile(); local (*INPUT, *OUTPUT); pipe INPUT, OUTPUT; if (my $pid = fork()) { diff --git a/perl-install/share/list.sparc b/perl-install/share/list.sparc index 45fd1d34b..442862710 100644 --- a/perl-install/share/list.sparc +++ b/perl-install/share/list.sparc @@ -19,54 +19,63 @@ /usr/lib/gtk/themes/engines/libpixmap.so /usr/lib/gtk/themes/engines/libpixmap.la /usr/lib/libimlib-png.so -/usr/lib/perl5/5.00503/AutoLoader.pm -/usr/lib/perl5/5.00503/Carp.pm -/usr/lib/perl5/5.00503/Data/Dumper.pm -/usr/lib/perl5/5.00503/Exporter.pm -/usr/lib/perl5/5.00503/FileHandle.pm -/usr/lib/perl5/5.00503/SelectSaver.pm -/usr/lib/perl5/5.00503/SelfLoader.pm -/usr/lib/perl5/5.00503/Symbol.pm -/usr/lib/perl5/5.00503/Time/Local.pm -/usr/lib/perl5/5.00503/dumpvar.pl -/usr/lib/perl5/5.00503/sparc-linux/Config.pm -/usr/lib/perl5/5.00503/sparc-linux/DynaLoader.pm -/usr/lib/perl5/5.00503/sparc-linux/Fcntl.pm -/usr/lib/perl5/5.00503/sparc-linux/auto/Fcntl/Fcntl.bs -/usr/lib/perl5/5.00503/sparc-linux/auto/Fcntl/Fcntl.so -/usr/lib/perl5/5.00503/sparc-linux/IO/File.pm -/usr/lib/perl5/5.00503/sparc-linux/IO/Handle.pm -/usr/lib/perl5/5.00503/sparc-linux/IO/Seekable.pm -/usr/lib/perl5/5.00503/sparc-linux/IO/Socket.pm -/usr/lib/perl5/5.00503/sparc-linux/Socket.pm -/usr/lib/perl5/5.00503/sparc-linux/_h2ph_pre.ph -/usr/lib/perl5/5.00503/sparc-linux/asm/unistd.ph -/usr/lib/perl5/5.00503/sparc-linux/asm-sparc/unistd.ph -/usr/lib/perl5/5.00503/sparc-linux/asm-sparc64/unistd.ph -/usr/lib/perl5/5.00503/sparc-linux/auto/Data/Dumper/Dumper.bs -/usr/lib/perl5/5.00503/sparc-linux/auto/Data/Dumper/Dumper.so -/usr/lib/perl5/5.00503/sparc-linux/auto/IO/IO.so -/usr/lib/perl5/5.00503/sparc-linux/auto/Socket/Socket.bs -/usr/lib/perl5/5.00503/sparc-linux/auto/Socket/Socket.so -/usr/lib/perl5/5.00503/sparc-linux/bits/syscall.ph -/usr/lib/perl5/5.00503/sparc-linux/sys/syscall.ph -/usr/lib/perl5/5.00503/sparc-linux/syscall.ph -/usr/lib/perl5/5.00503/lib.pm -/usr/lib/perl5/5.00503/overload.pm -/usr/lib/perl5/5.00503/strict.pm -/usr/lib/perl5/5.00503/vars.pm -/usr/lib/perl5/site_perl/5.005/sparc-linux/Gtk.pm -/usr/lib/perl5/site_perl/5.005/sparc-linux/Gtk/Types.pm -/usr/lib/perl5/site_perl/5.005/sparc-linux/Net/Cmd.pm -/usr/lib/perl5/site_perl/5.005/sparc-linux/Net/Config.pm -/usr/lib/perl5/site_perl/5.005/sparc-linux/Net/FTP.pm -/usr/lib/perl5/site_perl/5.005/sparc-linux/Net/FTP/A.pm -/usr/lib/perl5/site_perl/5.005/sparc-linux/Net/FTP/I.pm -/usr/lib/perl5/site_perl/5.005/sparc-linux/Net/FTP/dataconn.pm -/usr/lib/perl5/site_perl/5.005/sparc-linux/Net/Netrc.pm -/usr/lib/perl5/site_perl/5.005/sparc-linux/auto/Gtk/Gtk.bs -/usr/lib/perl5/site_perl/5.005/sparc-linux/auto/Gtk/Gtk.so +/usr/lib/perl5/5.6.0/AutoLoader.pm +/usr/lib/perl5/5.6.0/Carp.pm +/usr/lib/perl5/5.6.0/sparc-linux/Data/Dumper.pm +/usr/lib/perl5/5.6.0/Exporter.pm +/usr/lib/perl5/5.6.0/Carp/Heavy.pm +/usr/lib/perl5/5.6.0/Exporter/Heavy.pm +/usr/lib/perl5/5.6.0/FileHandle.pm +/usr/lib/perl5/5.6.0/SelectSaver.pm +/usr/lib/perl5/5.6.0/SelfLoader.pm +/usr/lib/perl5/5.6.0/Symbol.pm +/usr/lib/perl5/5.6.0/Time/Local.pm +/usr/lib/perl5/5.6.0/dumpvar.pl +/usr/lib/perl5/5.6.0/warnings.pm +/usr/lib/perl5/5.6.0/warnings/register.pm +/usr/lib/perl5/5.6.0/sparc-linux/File/Glob.pm +/usr/lib/perl5/5.6.0/sparc-linux/auto/File/Glob/Glob.bs +/usr/lib/perl5/5.6.0/sparc-linux/auto/File/Glob/Glob.so +/usr/lib/perl5/5.6.0/sparc-linux/Config.pm +/usr/lib/perl5/5.6.0/sparc-linux/XSLoader.pm +/usr/lib/perl5/5.6.0/sparc-linux/DynaLoader.pm +/usr/lib/perl5/5.6.0/sparc-linux/Fcntl.pm +/usr/lib/perl5/5.6.0/sparc-linux/auto/Fcntl/Fcntl.bs +/usr/lib/perl5/5.6.0/sparc-linux/auto/Fcntl/Fcntl.so +/usr/lib/perl5/5.6.0/sparc-linux/IO/File.pm +/usr/lib/perl5/5.6.0/sparc-linux/IO/Handle.pm +/usr/lib/perl5/5.6.0/sparc-linux/IO/Seekable.pm +/usr/lib/perl5/5.6.0/sparc-linux/IO/Socket.pm +/usr/lib/perl5/5.6.0/sparc-linux/Socket.pm +/usr/lib/perl5/5.6.0/sparc-linux/_h2ph_pre.ph +/usr/lib/perl5/5.6.0/sparc-linux/asm/unistd.ph +/usr/lib/perl5/5.6.0/sparc-linux/asm-sparc/unistd.ph +/usr/lib/perl5/5.6.0/sparc-linux/asm-sparc64/unistd.ph +/usr/lib/perl5/5.6.0/sparc-linux/auto/Data/Dumper/Dumper.bs +/usr/lib/perl5/5.6.0/sparc-linux/auto/Data/Dumper/Dumper.so +/usr/lib/perl5/5.6.0/sparc-linux/auto/IO/IO.so +/usr/lib/perl5/5.6.0/sparc-linux/auto/Socket/Socket.bs +/usr/lib/perl5/5.6.0/sparc-linux/auto/Socket/Socket.so +/usr/lib/perl5/5.6.0/sparc-linux/bits/syscall.ph +/usr/lib/perl5/5.6.0/sparc-linux/sys/syscall.ph +/usr/lib/perl5/5.6.0/sparc-linux/syscall.ph +/usr/lib/perl5/5.6.0/sparc-linux/auto/DynaLoader/dl_findfile.al +/usr/lib/perl5/5.6.0/lib.pm +/usr/lib/perl5/5.6.0/overload.pm +/usr/lib/perl5/5.6.0/strict.pm +/usr/lib/perl5/5.6.0/vars.pm +/usr/lib/perl5/site_perl/5.6.0/sparc-linux/Gtk.pm +/usr/lib/perl5/site_perl/5.6.0/sparc-linux/Gtk/Types.pm +/usr/lib/perl5/site_perl/5.6.0/sparc-linux/Net/Cmd.pm +/usr/lib/perl5/site_perl/5.6.0/sparc-linux/Net/Config.pm +/usr/lib/perl5/site_perl/5.6.0/sparc-linux/Net/FTP.pm +/usr/lib/perl5/site_perl/5.6.0/sparc-linux/Net/FTP/A.pm +/usr/lib/perl5/site_perl/5.6.0/sparc-linux/Net/FTP/I.pm +/usr/lib/perl5/site_perl/5.6.0/sparc-linux/Net/FTP/dataconn.pm +/usr/lib/perl5/site_perl/5.6.0/sparc-linux/Net/Netrc.pm +/usr/lib/perl5/site_perl/5.6.0/sparc-linux/auto/Gtk/Gtk.bs +/usr/lib/perl5/site_perl/5.6.0/sparc-linux/auto/Gtk/Gtk.so /usr/lib/rpm/rpmrc -/usr/X11R6/bin/XF86_FBDev +/usr/X11R6/bin/XF86_Xsun24 /usr/X11R6/bin/XF86_Mach64 /usr/X11R6/bin/xmodmap |