diff options
-rw-r--r-- | Makefile | 12 | ||||
-rw-r--r-- | docs/TODO | 2 | ||||
-rwxr-xr-x | make_boot_img | 10 | ||||
-rw-r--r-- | perl-install/Makefile | 1 | ||||
-rw-r--r-- | perl-install/Makefile.config | 2 | ||||
-rw-r--r-- | perl-install/c/stuff.xs.pm | 2 | ||||
-rw-r--r-- | perl-install/common.pm | 9 | ||||
-rw-r--r-- | perl-install/install2.pm | 6 | ||||
-rw-r--r-- | perl-install/install_any.pm | 4 | ||||
-rw-r--r-- | perl-install/install_steps_gtk.pm | 41 | ||||
-rw-r--r-- | perl-install/install_steps_interactive.pm | 3 | ||||
-rw-r--r-- | perl-install/partition_table_raw.pm | 4 | ||||
-rw-r--r-- | perl-install/share/list | 64 |
13 files changed, 106 insertions, 54 deletions
@@ -1,7 +1,14 @@ +ARCH := $(patsubst i%86,i386,$(shell uname -m)) +ARCH := $(patsubst sparc%,sparc,$(ARCH)) + BOOT_IMG = hd.img cdrom.img network.img network_ks.img pcmcia.img pcmcia_ks.img BOOT_RDZ = $(BOOT_IMG:%.img=%.rdz) BINS = install/install install/full-install install/local-install install/installinit/init -DIRS = tools install install/installinit perl-install lnx4win +DIRS = tools install install/installinit perl-install +ifeq (i386,$(ARCH)) +DIRS += lnx4win +endif + ROOTDEST = /export UPLOAD_DEST_ = ~/oxygen UPLOAD_DEST = $(UPLOAD_DEST_)/oxygen @@ -9,6 +16,7 @@ UPLOAD_DEST_CONTRIB = $(UPLOAD_DEST_)/contrib AUTOBOOT = $(ROOTDEST)/dosutils/autoboot/mdkinst + .PHONY: dirs $(FLOPPY_IMG) install: build autoboot @@ -48,7 +56,7 @@ $(BOOT_IMG:%=%f): %f: % xmessage "Floppy done" clean: - rm -rf $(BOOT_IMG) $(BINS) modules install_pcmcia_modules vmlinuz System.map + rm -rf $(BOOT_IMG) $(BOOT_RDZ) $(BINS) modules install_pcmcia_modules vmlinuz System.map rm -rf install/*/sbin/install install/*/sbin/init for i in $(DIRS); do make -C $$i clean; done find . -name "*~" -o -name ".#*" | xargs rm -f @@ -96,6 +96,8 @@ bug in defcfg in with lang=fr_FR, display is buggy feature missing: cancel installation cancel button in packages installation +crypto: add a cancel while downloading + bug keyboard focus: after switch in console at Xconfig step rpmdrake proposition for cdrom labels diff --git a/make_boot_img b/make_boot_img index c6f5431bf..d5f3f5c4a 100755 --- a/make_boot_img +++ b/make_boot_img @@ -6,7 +6,7 @@ $instdir = "install"; $ks = "kickstart=floppy" if $type =~ s/_ks//; -$mnt = "/mnt/disk"; +$mnt = "/tmp/drakx_mnt"; $mke2fs = "/sbin/mke2fs -q -m 0 -F -s 1"; if ($>) { @@ -14,6 +14,11 @@ if ($>) { $ENV{PATH} = "/sbin:/usr/sbin:$ENV{PATH}"; } +sub __ { print @_, "\n"; system(@_); } +sub _ { __ @_; $? and die; } + +_ "$sudo mkdir $mnt" unless -e $mnt; + $install = $ {{ pcmcia => "full-install", network => "install", @@ -24,9 +29,6 @@ $install = $ {{ $img =~ /rdz$/ ? initrd($mnt, $img) : msg_boot_img($mnt, $img); #boot_img($mnt, $img); -sub __ { print @_, "\n"; system(@_); } -sub _ { __ @_; $? and die; } - sub install_s { _ "strip $_[0]"; _ "$sudo install $_[0] $_[1]" } sub initrd { 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 |