summaryrefslogtreecommitdiffstats
path: root/perl-install
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install')
-rw-r--r--perl-install/Makefile1
-rw-r--r--perl-install/Makefile.config2
-rw-r--r--perl-install/c/stuff.xs.pm2
-rw-r--r--perl-install/common.pm9
-rw-r--r--perl-install/install2.pm6
-rw-r--r--perl-install/install_any.pm4
-rw-r--r--perl-install/install_steps_gtk.pm41
-rw-r--r--perl-install/install_steps_interactive.pm3
-rw-r--r--perl-install/partition_table_raw.pm4
-rw-r--r--perl-install/share/list64
10 files changed, 88 insertions, 48 deletions
diff --git a/perl-install/Makefile b/perl-install/Makefile
index b0c8e27f9..230d61fec 100644
--- a/perl-install/Makefile
+++ b/perl-install/Makefile
@@ -56,6 +56,7 @@ install_pms: $(DIRS)
get_needed_files: $(DIRS)
# export PERL_INSTALL_TEST=1 ; strace -f -e trace=file -o '| grep -v "(No such file or directory)" | sed -e "s/[^\"]*\"//" -e "s/\".*//" | grep "^/" | grep -v -e "^/tmp" -e "^/home" -e "^/proc" -e "^/var" -e "^/dev" -e "^/etc" -e "^/usr/lib/rpm" > /tmp/list ' $(PERL) -d install2 < /dev/null
cp -f list /tmp/list
+ perl -pi -e "s/ARCH/$(ARCH)/" /tmp/list
find auto -follow -name "*.so" >> /tmp/list
for i in $(LOCALFILES) `cat /tmp/list` ; do \
diff --git a/perl-install/Makefile.config b/perl-install/Makefile.config
index 24cfdb2c9..f3055677c 100644
--- a/perl-install/Makefile.config
+++ b/perl-install/Makefile.config
@@ -17,3 +17,5 @@ EXCLUDE = $(LOCALFILES) boot.img keymaps consolefonts install
CFLAGS = -Wall
override CFLAGS += -pipe
+ARCH := $(patsubst i%86,i386,$(shell uname -m))
+ARCH := $(patsubst sparc%,sparc,$(ARCH))
diff --git a/perl-install/c/stuff.xs.pm b/perl-install/c/stuff.xs.pm
index 322266c67..69e7f2d78 100644
--- a/perl-install/c/stuff.xs.pm
+++ b/perl-install/c/stuff.xs.pm
@@ -550,7 +550,7 @@ rpmRunTransactions(trans, callbackOpen, callbackClose, callbackMessage, force)
} break;
case RPMCALLBACK_INST_PROGRESS:
- if ((amount - last_amount) * 4 / total) {
+ if (total && (amount - last_amount) * 4 / total) {
msg = "Progressing installing package";
param_s = n;
param_ul1 = &amount;
diff --git a/perl-install/common.pm b/perl-install/common.pm
index 441440033..d6c602487 100644
--- a/perl-install/common.pm
+++ b/perl-install/common.pm
@@ -6,7 +6,7 @@ use vars qw(@ISA %EXPORT_TAGS @EXPORT_OK $printable_chars $sizeof_int $bitof_int
@ISA = qw(Exporter);
%EXPORT_TAGS = (
- common => [ qw(__ even odd min max sqr sum and_ or_ sign product bool invbool listlength bool2text text2bool to_int to_float ikeys member divide is_empty_array_ref is_empty_hash_ref add2hash add2hash_ set_new set_add round round_up round_down first second top uniq translate untranslate warp_text formatAlaTeX formatLines deref) ],
+ common => [ qw(__ even odd arch min max sqr sum and_ or_ sign product bool invbool listlength bool2text text2bool to_int to_float ikeys member divide is_empty_array_ref is_empty_hash_ref add2hash add2hash_ set_new set_add round round_up round_down first second top uniq translate untranslate warp_text formatAlaTeX formatLines deref) ],
functional => [ qw(fold_left compose map_index grep_index map_each grep_each list2kv map_tab_hash mapn mapn_ difference2 before_leaving catch_cdie cdie) ],
file => [ qw(dirname basename touch all glob_ cat_ output symlinkf chop_ mode typeFromMagic) ],
system => [ qw(sync makedev unmakedev psizeof strcpy gettimeofday syscall_ salt getVarsFromSh setVarsInSh setVarsInCsh substInFile availableRam availableMemory removeXiBSuffix template2file formatTime) ],
@@ -95,6 +95,13 @@ sub remove_spaces { local $_ = shift; s/^ +//; s/ +$//; $_ }
sub mode { my @l = stat $_[0] or die "unable to get mode of file $_[0]: $!\n"; $l[2] }
sub psizeof { length pack $_[0] }
+sub arch() {
+ require Config;
+ Config->import;
+ no strict;
+ $Config{archname} =~ /(.*)-/ and $1;
+}
+
sub touch {
my ($f) = @_;
unless (-e $f) {
diff --git a/perl-install/install2.pm b/perl-install/install2.pm
index 6c7f6d784..f6ca92a64 100644
--- a/perl-install/install2.pm
+++ b/perl-install/install2.pm
@@ -189,9 +189,9 @@ $o = $::o = {
#- display => "192.168.1.19:1",
steps => \%installSteps,
orderedSteps => \@orderedInstallSteps,
-
- base => [ qw(basesystem sed initscripts console-tools mkbootdisk utempter ld.so ldconfig chkconfig ntsysv setup filesystem SysVinit bdflush crontabs dev e2fsprogs etcskel fileutils findutils getty_ps grep gzip hdparm info initscripts isapnptools kernel less ldconfig lilo logrotate losetup man mkinitrd mingetty modutils mount net-tools passwd procmail procps psmisc mandrake-release rootfiles rpm sash ash setserial shadow-utils sh-utils stat sysklogd tar termcap textutils time tmpwatch util-linux vim-minimal vixie-cron which perl-base msec) ],
-#-GOLD base => [ qw(basesystem sed initscripts console-tools mkbootdisk anacron utempter ldconfig chkconfig ntsysv mktemp setup filesystem SysVinit bdflush crontabs dev e2fsprogs etcskel fileutils findutils getty_ps grep groff gzip hdparm info initscripts isapnptools kbdconfig kernel less ldconfig lilo logrotate losetup man mkinitrd mingetty modutils mount net-tools passwd procmail procps psmisc mandrake-release rootfiles rpm sash ash setconsole setserial shadow-utils sh-utils slocate stat sysklogd tar termcap textutils time tmpwatch util-linux vim-minimal vixie-cron which cpio perl) ],
+ base => [ qw(basesystem sed initscripts console-tools utempter ldconfig chkconfig ntsysv setup filesystem SysVinit bdflush crontabs dev e2fsprogs etcskel fileutils findutils getty_ps grep gzip hdparm info initscripts isapnptools kernel less ldconfig logrotate losetup man mingetty modutils mount net-tools passwd procmail procps psmisc mandrake-release rootfiles rpm sash ash setserial shadow-utils sh-utils stat sysklogd tar termcap textutils time tmpwatch util-linux vim-minimal vixie-cron which perl-base msec) ],
+ base_i386 => [ "lilo", "mkbootdisk" ],
+ base_alpha => [ "aboot" ],
#- for the list of fields available for user and superuser, see @etc_pass_fields in install_steps.pm
#- intf => [ { DEVICE => "eth0", IPADDR => '1.2.3.4', NETMASK => '255.255.255.128' } ],
diff --git a/perl-install/install_any.pm b/perl-install/install_any.pm
index 006834939..e690c7e32 100644
--- a/perl-install/install_any.pm
+++ b/perl-install/install_any.pm
@@ -2,6 +2,8 @@ package install_any;
use diagnostics;
use strict;
+use Config;
+
use vars qw(@ISA %EXPORT_TAGS @EXPORT_OK);
@ISA = qw(Exporter);
@@ -136,6 +138,8 @@ sub setPackages($) {
pkgs::getDeps($o->{packages});
+ push @{$o->{base}}, @{delete($o->{"base_" . arch()}) || []};
+
my $c; ($o->{compss}, $c) = pkgs::readCompss($o->{packages});
$o->{compssListLevels} = pkgs::readCompssList($o->{packages}, $c);
($o->{compssUsers}, $o->{compssUsersSorted}) = pkgs::readCompssUsers($o->{packages}, $o->{compss});
diff --git a/perl-install/install_steps_gtk.pm b/perl-install/install_steps_gtk.pm
index 41e17160f..5a852c444 100644
--- a/perl-install/install_steps_gtk.pm
+++ b/perl-install/install_steps_gtk.pm
@@ -17,6 +17,7 @@ use Gtk;
use devices;
use fsedit;
use modules;
+use pkgs;
use install_steps;
use install_steps_interactive;
use interactive_gtk;
@@ -189,25 +190,32 @@ sub new($$) {
}
0;
};
+ my @servers = qw(FBDev VGA16);
+ @servers = qw(FBDev 3DLabs TGA) if arch() eq "alpha";
- if (!$o->{vga16} && listlength(cat_("/proc/fb"))) {
- &$launchX("XF86_FBDev");
- $o->{allowFB} = 1; #- keep in mind FB is used.
- } else {
+ foreach (@servers) {
+ log::l("Trying with server $_");
my $dir = "/usr/X11R6/bin";
- unless (-x "$dir/XF86_VGA16") {
- unlink "$dir/XF86_FBDev";
- local *F; open F, ">$dir/XF86_VGA16" or die '';
+ unless (-x "$dir/XF86_$_") {
+ unlink $_ foreach glob_("$dir/XF86_*");
+ local *F; open F, ">$dir/XF86_$_" or die '';
local $/ = \ (16 * 1024);
- my $f = install_any::getFile("$dir/XF86_VGA16") or die '';
+ my $f = install_any::getFile("$dir/XF86_$_") or next;
syswrite F, $_ foreach <$f>;
- chmod 0755, "$dir/XF86_VGA16";
+ chmod 0755, "$dir/XF86_$_";
+ }
+ if (/FB/) {
+ !$o->{vga16} && listlength(cat_("/proc/fb")) or next;
+
+ $o->{allowFB} = &$launchX("XF86_$_") #- keep in mind FB is used.
+ and last;
+ } else {
+ &$launchX("XF86_$_") and last;
}
- &$launchX("XF86_VGA16");
}
}
}
- @themes = @themes_vga16 if $o->{simple_themes} || !$o->{display} && !($o->{allowFB} ||= $::testing);
+ @themes = @themes_vga16 if $o->{simple_themes} || $o->{vga16};
install_theme($o);
create_logo_window($o);
@@ -857,6 +865,17 @@ Section "Screen"
EndSection
Section "Screen"
+ Driver "accel"
+ Device "Generic VGA"
+ Monitor "My Monitor"
+ Subsection "Display"
+ Depth 16
+ Modes "640x480"
+ ViewPort 0 0
+ EndSubsection
+EndSection
+
+Section "Screen"
Driver "fbdev"
Device "Generic VGA"
Monitor "My Monitor"
diff --git a/perl-install/install_steps_interactive.pm b/perl-install/install_steps_interactive.pm
index c844e5a9c..be0c64839 100644
--- a/perl-install/install_steps_interactive.pm
+++ b/perl-install/install_steps_interactive.pm
@@ -1064,7 +1064,8 @@ You may have to restart installation and give ``%s'' at the prompt", $ide));
}
}
- modules::load_thiskind($type, sub { $w = wait_load_module($o, $type, @_) }, $pcmcia);
+ eval { modules::load_thiskind($type, sub { $w = wait_load_module($o, $type, @_) }, $pcmcia) };
+ $@ and $o->errorInStep($@);
}
#------------------------------------------------------------------------------
diff --git a/perl-install/partition_table_raw.pm b/perl-install/partition_table_raw.pm
index 9aa790aee..35287e965 100644
--- a/perl-install/partition_table_raw.pm
+++ b/perl-install/partition_table_raw.pm
@@ -54,6 +54,10 @@ sub kernel_read($) {
sub zero_MBR($) {
my ($hd) = @_;
+# unless (ref($hd) =~ /partition_table/) {
+ my $type = arch() eq "alpha" ? "bsd" : "dos";
+ bless $hd, "partition_table_$type";
+# }
$hd->{isDirty} = $hd->{needKernelReread} = 1;
$hd->{primary} = $hd->clear_raw();
delete $hd->{extended};
diff --git a/perl-install/share/list b/perl-install/share/list
index a878a847c..65524be90 100644
--- a/perl-install/share/list
+++ b/perl-install/share/list
@@ -29,44 +29,46 @@
/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/i386-linux/Config.pm
-/usr/lib/perl5/5.00503/i386-linux/DynaLoader.pm
-/usr/lib/perl5/5.00503/i386-linux/Fcntl.pm
-/usr/lib/perl5/5.00503/i386-linux/auto/Fcntl/Fcntl.bs
-/usr/lib/perl5/5.00503/i386-linux/auto/Fcntl/Fcntl.so
-/usr/lib/perl5/5.00503/i386-linux/IO/File.pm
-/usr/lib/perl5/5.00503/i386-linux/IO/Handle.pm
-/usr/lib/perl5/5.00503/i386-linux/IO/Seekable.pm
-/usr/lib/perl5/5.00503/i386-linux/IO/Socket.pm
-/usr/lib/perl5/5.00503/i386-linux/Socket.pm
-/usr/lib/perl5/5.00503/i386-linux/_h2ph_pre.ph
-/usr/lib/perl5/5.00503/i386-linux/asm/unistd.ph
-/usr/lib/perl5/5.00503/i386-linux/auto/Data/Dumper/Dumper.bs
-/usr/lib/perl5/5.00503/i386-linux/auto/Data/Dumper/Dumper.so
-/usr/lib/perl5/5.00503/i386-linux/auto/IO/IO.so
-/usr/lib/perl5/5.00503/i386-linux/auto/Socket/Socket.bs
-/usr/lib/perl5/5.00503/i386-linux/auto/Socket/Socket.so
-/usr/lib/perl5/5.00503/i386-linux/bits/syscall.ph
-/usr/lib/perl5/5.00503/i386-linux/sys/syscall.ph
-/usr/lib/perl5/5.00503/i386-linux/syscall.ph
+/usr/lib/perl5/5.00503/ARCH-linux/Config.pm
+/usr/lib/perl5/5.00503/ARCH-linux/DynaLoader.pm
+/usr/lib/perl5/5.00503/ARCH-linux/Fcntl.pm
+/usr/lib/perl5/5.00503/ARCH-linux/auto/Fcntl/Fcntl.bs
+/usr/lib/perl5/5.00503/ARCH-linux/auto/Fcntl/Fcntl.so
+/usr/lib/perl5/5.00503/ARCH-linux/IO/File.pm
+/usr/lib/perl5/5.00503/ARCH-linux/IO/Handle.pm
+/usr/lib/perl5/5.00503/ARCH-linux/IO/Seekable.pm
+/usr/lib/perl5/5.00503/ARCH-linux/IO/Socket.pm
+/usr/lib/perl5/5.00503/ARCH-linux/Socket.pm
+/usr/lib/perl5/5.00503/ARCH-linux/_h2ph_pre.ph
+/usr/lib/perl5/5.00503/ARCH-linux/asm/unistd.ph
+/usr/lib/perl5/5.00503/ARCH-linux/auto/Data/Dumper/Dumper.bs
+/usr/lib/perl5/5.00503/ARCH-linux/auto/Data/Dumper/Dumper.so
+/usr/lib/perl5/5.00503/ARCH-linux/auto/IO/IO.so
+/usr/lib/perl5/5.00503/ARCH-linux/auto/Socket/Socket.bs
+/usr/lib/perl5/5.00503/ARCH-linux/auto/Socket/Socket.so
+/usr/lib/perl5/5.00503/ARCH-linux/bits/syscall.ph
+/usr/lib/perl5/5.00503/ARCH-linux/sys/syscall.ph
+/usr/lib/perl5/5.00503/ARCH-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/i386-linux/Gtk.pm
-/usr/lib/perl5/site_perl/5.005/i386-linux/Gtk/Types.pm
-/usr/lib/perl5/site_perl/5.005/i386-linux/Net/Cmd.pm
-/usr/lib/perl5/site_perl/5.005/i386-linux/Net/Config.pm
-/usr/lib/perl5/site_perl/5.005/i386-linux/Net/FTP.pm
-/usr/lib/perl5/site_perl/5.005/i386-linux/Net/FTP/A.pm
-/usr/lib/perl5/site_perl/5.005/i386-linux/Net/FTP/I.pm
-/usr/lib/perl5/site_perl/5.005/i386-linux/Net/FTP/dataconn.pm
-/usr/lib/perl5/site_perl/5.005/i386-linux/Net/Netrc.pm
-/usr/lib/perl5/site_perl/5.005/i386-linux/auto/Gtk/Gtk.bs
-/usr/lib/perl5/site_perl/5.005/i386-linux/auto/Gtk/Gtk.so
+/usr/lib/perl5/site_perl/5.005/ARCH-linux/Gtk.pm
+/usr/lib/perl5/site_perl/5.005/ARCH-linux/Gtk/Types.pm
+/usr/lib/perl5/site_perl/5.005/ARCH-linux/Net/Cmd.pm
+/usr/lib/perl5/site_perl/5.005/ARCH-linux/Net/Config.pm
+/usr/lib/perl5/site_perl/5.005/ARCH-linux/Net/FTP.pm
+/usr/lib/perl5/site_perl/5.005/ARCH-linux/Net/FTP/A.pm
+/usr/lib/perl5/site_perl/5.005/ARCH-linux/Net/FTP/I.pm
+/usr/lib/perl5/site_perl/5.005/ARCH-linux/Net/FTP/dataconn.pm
+/usr/lib/perl5/site_perl/5.005/ARCH-linux/Net/Netrc.pm
+/usr/lib/perl5/site_perl/5.005/ARCH-linux/auto/Gtk/Gtk.bs
+/usr/lib/perl5/site_perl/5.005/ARCH-linux/auto/Gtk/Gtk.so
/usr/lib/rpm/rpmrc
/usr/X11R6/bin/XF86_FBDev
/usr/X11R6/bin/XF86_VGA16
+/usr/X11R6/bin/XF86_3DLabs
+/usr/X11R6/bin/XF86_TGA
/usr/X11R6/bin/xmodmap
/usr/X11R6/lib/modules/xf86Wacom.so
/usr/sbin/ext2resize