summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/TODO4
-rw-r--r--perl-install/Makefile2
-rw-r--r--perl-install/Makefile.config3
-rw-r--r--perl-install/Makefile.drakxtools2
-rw-r--r--perl-install/Xconfig.pm3
-rw-r--r--perl-install/install2.pm1
-rw-r--r--perl-install/install_any.pm11
-rw-r--r--perl-install/install_steps.pm12
-rw-r--r--perl-install/install_steps_interactive.pm25
-rw-r--r--perl-install/keyboard.pm21
-rw-r--r--perl-install/lang.pm10
-rw-r--r--perl-install/partition_table_raw.pm1
-rw-r--r--perl-install/pkgs.pm2
-rw-r--r--perl-install/raid.pm2
-rw-r--r--perl-install/share/compssList5
-rw-r--r--perl-install/timezone.pm1
-rw-r--r--tools/Makefile2
-rwxr-xr-xtools/make_mdkinst_stage225
-rwxr-xr-xupdate_kernel2
19 files changed, 94 insertions, 40 deletions
diff --git a/docs/TODO b/docs/TODO
index a7d140995..0edadea10 100644
--- a/docs/TODO
+++ b/docs/TODO
@@ -2,7 +2,9 @@ with 2MB of video ram, chooses 8bpp instead of 16bpp
the XFdrake test does not handle the fontset
--c optional for mke2fs
+when you set the kde icons to Large, maybe it'd be good to chown the .kderc
+
+(done,pix)-c optional for mke2fs
remount ro before X test.
diff --git a/perl-install/Makefile b/perl-install/Makefile
index 98d43ab02..b0c8e27f9 100644
--- a/perl-install/Makefile
+++ b/perl-install/Makefile
@@ -73,7 +73,7 @@ get_needed_files: $(DIRS)
install -d $(DEST)/usr/X11R6/lib/X11
install -d $(ROOTDEST)/Mandrake/base
install -s $(LOCALFILES) $(DEST)/usr/bin
- cp -f $(LOCALFILES2) $(DEST)/usr/bin
+# cp -f $(LOCALFILES2) $(DEST)/usr/bin
for i in `cat /tmp/list`; do \
if (echo $$i | grep -q "lib/[^/]*\.so"); then \
diff --git a/perl-install/Makefile.config b/perl-install/Makefile.config
index 3890b77a6..225d82895 100644
--- a/perl-install/Makefile.config
+++ b/perl-install/Makefile.config
@@ -11,8 +11,7 @@ STAGE2 = $(ROOTDEST)/Mandrake/base/mdkinst_stage2
BASE = $(ROOTDEST)/Mandrake/base
DESTREP4PMS = $(DEST)$(REP4PMS)
PERL = perl
-LOCALFILES = $(patsubst %, ../tools/%,e2fsck.shared ddcprobe/ddcxinfos pnp_serial/pnp_serial xhost+)
-LOCALFILES2 = extract_archive
+LOCALFILES = $(patsubst %, ../tools/%,e2fsck.shared ddcprobe/ddcxinfos pnp_serial/pnp_serial xhost+ extract_archive)
DIRS = c Newt po pci_probing resize_fat
EXCLUDE = $(LOCALFILES) boot.img keymaps consolefonts install
CFLAGS = -Wall
diff --git a/perl-install/Makefile.drakxtools b/perl-install/Makefile.drakxtools
index b630647e1..ae3dcae5d 100644
--- a/perl-install/Makefile.drakxtools
+++ b/perl-install/Makefile.drakxtools
@@ -22,7 +22,7 @@ install:
install $(STANDALONEPMS) $(SBINDEST)
mv -f $(SBINDEST)/lspcidrake $(BINDEST)
install -s ddcprobe/ddcxinfos pnp_serial/pnp_serial $(SBINDEST)
- ln -s ../$(patsubst $(PREFIX)/usr%,%,$(SBINDEST))/XFdrake $(BINX11DEST)/Xdrakres
+ ln -s ../../$(patsubst $(PREFIX)/usr%,%,$(SBINDEST))/XFdrake $(BINX11DEST)/Xdrakres
for i in *.pm ; do perl -pe '$$_ = "\n" if /\s*use\s+(diagnostics|vars|strict)/' $$i > $(LIBDEST)/$$i ; done
install -m 644 MonitorsDB $(LIBX11DEST)
diff --git a/perl-install/Xconfig.pm b/perl-install/Xconfig.pm
index 759696207..71a75cc67 100644
--- a/perl-install/Xconfig.pm
+++ b/perl-install/Xconfig.pm
@@ -107,8 +107,7 @@ sub getinfoFromSysconfig {
add2hash($o->{mouse} ||= {}, { getVarsFromSh("$prefix/etc/sysconfig/mouse") });
if (my %keyboard = getVarsFromSh "$prefix/etc/sysconfig/keyboard") {
- $keyboard{KEYTABLE} or last;
- $o->{keyboard}{xkb_keymap} ||= keymap_translate($keyboard{KEYTABLE});
+ $o->{keyboard}{xkb_keymap} ||= keymap_translate($keyboard{KEYTABLE}) if $keyboard{KEYTABLE};
}
$o;
}
diff --git a/perl-install/install2.pm b/perl-install/install2.pm
index 2b6da107d..8c5a0c085 100644
--- a/perl-install/install2.pm
+++ b/perl-install/install2.pm
@@ -348,6 +348,7 @@ sub choosePackages {
$o->setPackages if $_[1] == 1;
$o->selectPackagesToUpgrade($o) if $o->{isUpgrade} && $_[1] == 1;
if ($_[1] > 1 || !$o->{isUpgrade} || $::expert) {
+ do { $o->{compssUsersChoice}{$_} = 1 foreach @{$o->{compssUsersSorted}}, 'Miscellaneous' } if $_[1] == 1;
$o->choosePackages($o->{packages}, $o->{compss},
$o->{compssUsers}, $o->{compssUsersSorted}, $_[1] == 1);
pkgs::unselect($o->{packages}, $o->{packages}{kdesu}) if $o->{packages}{kdesu} && $o->{security} > 3;
diff --git a/perl-install/install_any.pm b/perl-install/install_any.pm
index e9905906a..7ccb2e73e 100644
--- a/perl-install/install_any.pm
+++ b/perl-install/install_any.pm
@@ -578,14 +578,9 @@ sub kderc_largedisplay($) {
kdeiconstyle => "KDEIconStyle=Large\n",
});
foreach ("/etc/skel", "/root", list_home()) {
- my $found;
substInFile {
- $found ||= /KFM Misc Defaults/;
- $_ .=
-"[KFM Misc Defaults]
-GridWidth=78
-GridHeight=75
-" if eof && !$found;
+ s/^(GridWidth)=85/$1=100/;
+ s/^(GridWidth)=70/$1=75/;
} "$prefix$_/.kde/share/config/kfmrc"
}
}
@@ -643,7 +638,7 @@ sub kdeicons_postinstall($) {
foreach my $dir (map { "$prefix$_/Desktop" } qw(/etc/skel /root)) {
-d $dir or next;
foreach (grep { /\.kdelnk$/ } all($dir)) {
- cat_("$dir/$_") =~ /^Name\[$lang\]=(.*)/m
+ cat_("$dir/$_") =~ /^Name\[$lang\]=(.{2,14})$/m
and rename "$dir/$_", "$dir/$1.kdelnk";
}
}
diff --git a/perl-install/install_steps.pm b/perl-install/install_steps.pm
index 64aeba2b5..7e782dc18 100644
--- a/perl-install/install_steps.pm
+++ b/perl-install/install_steps.pm
@@ -269,6 +269,18 @@ sub afterInstallPackages($) {
substInFile { s/^(UserView)=false/$1=true/ } "$o->{prefix}/usr/share/config/kdmrc" if $o->{security} < 3;
run_program::rooted($o->{prefix}, "kdeDesktopCleanup");
+ foreach ("/etc/skel", "/root", install_any::list_home()) {
+ my $found;
+ substInFile {
+ $found ||= /KFM Misc Defaults/;
+ $_ .=
+"[KFM Misc Defaults]
+GridWidth=85
+GridHeight=70
+" if eof && !$found;
+ } "$o->{prefix}$_/.kde/share/config/kfmrc"
+ }
+
#- move some file after an upgrade that may be seriously annoying.
if ($o->{isUpgrade}) {
log::l("moving previous desktop files that have been updated to \$HOME/tmp of each user");
diff --git a/perl-install/install_steps_interactive.pm b/perl-install/install_steps_interactive.pm
index 1cedbccf7..7b69d5c98 100644
--- a/perl-install/install_steps_interactive.pm
+++ b/perl-install/install_steps_interactive.pm
@@ -201,9 +201,16 @@ sub choosePartitionsToFormat($$) {
$_->{toFormat} ||= $_->{toFormatUnsure} foreach @l;
log::l("preparing to format $_->{mntpoint}") foreach grep { $_->{toFormat} } @l;
+ my %label;
+ $label{$_} = (isSwap($_) ? type2name($_->{type}) : $_->{mntpoint}) . " ($_->{device})" foreach @l;
+
$o->ask_many_from_list_ref('', _("Choose the partitions you want to format"),
- [ map { isSwap($_) ? type2name($_->{type}) . " ($_->{device})" : $_->{mntpoint} } @l ],
+ [ map { $label{$_} } @l ],
[ map { \$_->{toFormat} } @l ]) or die "cancel";
+ @l = grep { $_->{toFormat} } @l;
+ $o->ask_many_from_list_ref('', _("Check bad blocks?"),
+ [ map { $label{$_} } @l ],
+ [ map { \$_->{toFormatCheck} } @l ]) or die "cancel" if $::expert;
}
sub formatPartitions {
@@ -237,12 +244,14 @@ sub choosePackages {
unless ($o->{isUpgrade}) {
my $available = pkgs::invCorrectSize(install_any::getAvailableSpace($o) / sqr(1024)) * sqr(1024);
- delete $_->{skip} foreach values %$packages;
+ foreach (values %$packages) {
+ delete $_->{skip};
+ delete $_->{unskip};
+ }
pkgs::unselect_all($packages);
- pkgs::setSelectedFromCompssList($o->{compssListLevels}, $packages, $::expert ? 95 : 80, $available, $o->{installClass});
+ pkgs::setSelectedFromCompssList($o->{compssListLevels}, $packages, $::expert ? 90 : 80, $available, $o->{installClass});
my $min_size = pkgs::size_selected($packages);
- do { $o->{compssUsersChoice}{$_} = 1 foreach @$compssUsersSorted, 'Miscellaneous' } if $first_time;
$o->chooseGroups($packages, $compssUsers, $compssUsersSorted) unless $::beginner;
my %save_selected; $save_selected{$_->{name}} = $_->{selected} foreach values %$packages;
@@ -250,7 +259,7 @@ sub choosePackages {
my $max_size = pkgs::size_selected($packages);
$_->{selected} = $save_selected{$_->{name}} foreach values %$packages;
- my $size2install = $::beginner ? $available * 0.7 : $o->chooseSizeToInstall($packages, $min_size, $max_size);
+ my $size2install = $::beginner ? $available * 0.7 : $o->chooseSizeToInstall($packages, $min_size, $max_size) or goto &choosePackages;
($o->{packages_}{ind}) =
pkgs::setSelectedFromCompssList($o->{compssListLevels}, $packages, 1, $size2install, $o->{installClass});
@@ -278,7 +287,6 @@ sub chooseGroups {
unless ($o->{compssUsersChoice}{Miscellaneous}) {
my %l;
$l{@{$compssUsers->{$_}}} = () foreach @$compssUsersSorted;
-# exists $l{$_} or print ">>$_\n" foreach keys %$packages;
exists $l{$_} or $packages->{$_}{skip} = 1 foreach keys %$packages;
}
foreach (@$compssUsersSorted) {
@@ -286,7 +294,10 @@ sub chooseGroups {
}
foreach (@$compssUsersSorted) {
$o->{compssUsersChoice}{$_} or next;
- delete $_->{skip} foreach @{$compssUsers->{$_}};
+ foreach (@{$compssUsers->{$_}}) {
+ $_->{unskip} = 1;
+ delete $_->{skip};
+ }
}
my $f = "$o->{prefix}/etc/sysconfig/desktop";
output($f, "KDE\n") if $o->{compssUsersChoice}{KDE};
diff --git a/perl-install/keyboard.pm b/perl-install/keyboard.pm
index 0190668af..5d02fdb67 100644
--- a/perl-install/keyboard.pm
+++ b/perl-install/keyboard.pm
@@ -179,20 +179,29 @@ sub load($) {
}
$count++;
}
- log::l("loaded $count keymap tables");
+ #- log::l("loaded $count keymap tables");
}
sub setup($) {
my ($keyboard) = @_;
my $o = $keyboards{$keyboard} or return;
- if (my $file = commands::install_cpio("/usr/share/keymaps", "$o->[1].kmap")) {
- log::l("loading keymap $o->[1]");
- load(cat_($file)) if -e $file;
+ log::l("loading keymap $o->[1]");
+ if (-e (my $f = "/usr/share/keymaps/$o->[1].kmap")) {
+ load(cat_($f));
+ } else {
+ local *F;
+ open F, "extract_archive /usr/share/keymaps '' $o->[1].kmap |";
+ local $/ = undef;
+ eval { load(<F>) };
}
- if (my $file = commands::install_cpio("/usr/share/xmodmap", "xmodmap.$keyboard")) {
- eval { run_program::run('xmodmap', $file) } unless $::testing;
+
+ my $f = "/usr/share/xmodmap/xmodmap.$keyboard";
+ if (! -e $f) {
+ run_program::run("extract_archive", "/usr/share/xmodmap", '/tmp', "xmodmap.$keyboard");
+ $f = "/tmp/xmodmap.$keyboard";
}
+ eval { run_program::run('xmodmap', $f) } unless $::testing;
}
sub write($$;$) {
diff --git a/perl-install/lang.pm b/perl-install/lang.pm
index df8eb6835..15c5436a7 100644
--- a/perl-install/lang.pm
+++ b/perl-install/lang.pm
@@ -268,11 +268,19 @@ sub load_po($) {
local *F;
unless (-e $f) {
-e ($f = "$_/po/$lang.po.bz2") and last foreach @INC;
- open F, "bzip2 -dc $f 2>/dev/null |";
+ if (-e $f) {
+ open F, "bzip2 -dc $f 2>/dev/null |";
+ } else {
+ -e ($f = "$_/po.cz2") and last foreach @INC;
+ $f =~ s/\.cz2//;
+ log::l("loading $lang.po from $f");
+ open F, "extract_archive $f '' $lang.po 2>/dev/null |";
+ }
} else {
open F, $f; #- not returning here help avoiding reading the same multiple times.
}
foreach (<F>) {
+ log::l("load_po: $_");
/^msgstr/ and $state = 1;
/^msgid/ && !$fuzzy and $state = 2;
diff --git a/perl-install/partition_table_raw.pm b/perl-install/partition_table_raw.pm
index 21ad27582..50d6a0b3e 100644
--- a/perl-install/partition_table_raw.pm
+++ b/perl-install/partition_table_raw.pm
@@ -16,6 +16,7 @@ my $offset = $common::SECTORSIZE - length($magic) - $nb_primary * common::psizeo
my @MBR_signatures = (
[ 'empty', 0, "\0\0\0\0" ],
+ [ 'lilo', 0x2, "LILO" ],
[ 'lilo', 0x6, "LILO" ],
[ 'osbs', 0x2, "OSBS" ], #- http://www.prz.tu-berlin.de/~wolf/os-bs.html
[ 'pqmagic', 0xef, "PQV" ],
diff --git a/perl-install/pkgs.pm b/perl-install/pkgs.pm
index 660f55965..8cae2a75f 100644
--- a/perl-install/pkgs.pm
+++ b/perl-install/pkgs.pm
@@ -314,7 +314,7 @@ sub setSelectedFromCompssList {
map_index { $ind = $::i if $_ eq $install_class } @$compssListLevels;
defined $ind or log::l("unknown install class $install_class in compssList"), return;
- my @values = map { $_->{values}[$ind] } @packages;
+ my @values = map { $_->{values}[$ind] + ($_->{unskip} ? 10 : 0) } @packages;
sort { $values[$b] <=> $values[$a] } 0 .. $#packages;
};
foreach (@places) {
diff --git a/perl-install/raid.pm b/perl-install/raid.pm
index f964cfd4f..2c762c025 100644
--- a/perl-install/raid.pm
+++ b/perl-install/raid.pm
@@ -133,7 +133,7 @@ sub make {
sub format_part($$) {
my ($raid, $part) = @_;
make($raid->{raid}, $part) if is($part);
- fs::format_part($part);
+ fs::format_part($part, $_->{toFormatCheck} ? "-c" : ());
if (is($part)) {
$_->{isFormatted} = 1 foreach @{$part->{disks}};
}
diff --git a/perl-install/share/compssList b/perl-install/share/compssList
index 54285af1a..3cc694121 100644
--- a/perl-install/share/compssList
+++ b/perl-install/share/compssList
@@ -38,6 +38,7 @@ bind-utils 65 80 65
binutils 47 0 87
bison 10 0 80
BitchX 43 0 15
+blackbox 43 0 45
blt 10 0 75
bootparamd 20 82 0
byacc 16 0 80
@@ -126,7 +127,7 @@ freetype 10 0 4
freetype-devel 10 0 0
fribidi 10 0 0
ftp 90 90 90
-fvwm 50 0 36
+fvwm 20 0 36
fvwm2 23 0 36
fvwm2-icons 23 0 36
fwhois 25 0 36
@@ -229,7 +230,7 @@ guile-devel 10 0 75
gv 55 0 49
GXedit 60 0 55
helptool 55 0 53
-hexedit 17 0 87
+hexedit 91 91 91
howto 55 0 49
howto-html 55 0 53
howto-sgml 31 0 22
diff --git a/perl-install/timezone.pm b/perl-install/timezone.pm
index 5136feb46..eb24e8224 100644
--- a/perl-install/timezone.pm
+++ b/perl-install/timezone.pm
@@ -47,6 +47,7 @@ my %l2t = (
'French (France)' => 'Europe/Paris',
'French (Belgium)' => 'Europe/Brussels',
'French (Canada)' => 'Canada/Atlantic', # or Newfoundland ? or Eastern ?
+'Gaeilge (Ireland)' => 'Europe/Dublin',
'German (Germany)' => 'Europe/Berlin',
'Hungarian (Hungary)' => 'Europe/Budapest',
'Icelandic (Iceland)' => 'Atlantic/Reykjavik',
diff --git a/tools/Makefile b/tools/Makefile
index 3ffd8a0cd..cfc861723 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -14,7 +14,7 @@ $(DIRS):
install:
$(MAKE) gendepslist rpm2header
- install make_mdkinst_stage2 gendepslist rpm2header genhdlist $(ROOTDEST)/misc
+ install make_mdkinst_stage2 build_archive gendepslist rpm2header genhdlist $(ROOTDEST)/misc
mkdir -p $(DEST)/usr/bin
xhost+: %: %.c
diff --git a/tools/make_mdkinst_stage2 b/tools/make_mdkinst_stage2
index f2619095e..483bdfaaa 100755
--- a/tools/make_mdkinst_stage2
+++ b/tools/make_mdkinst_stage2
@@ -13,6 +13,13 @@ REP4PMS=/usr/bin/perl-install
DEST=$1
STAGE2=$2
+testandset() { [ -x $1/build_archive ] && BUILD_ARCHIVE=$1/build_archive; }
+testandset `pwd`/misc
+testandset `pwd`/.
+testandset /$DEST/../../misc
+testandset `pwd`/$DEST/../../misc
+[ -z "$BUILD_ARCHIVE" ] && { echo "can't find build_archive"; exit 1; }
+
if [ $EUID != "0" ]; then
SUDO="sudo"
PATH="/sbin:/usr/sbin:$PATH"
@@ -24,19 +31,27 @@ $SUDO cp -a $DEST/* $STAGE2TMP
mkdir -p $MNTPOINT 2>/dev/null
for i in $MNTPOINT $STAGE2; do $SUDO umount $i 2>/dev/null ; done
-dd if=/dev/zero of=$STAGE2 bs=1k count=15700
+dd if=/dev/zero of=$STAGE2 bs=1k count=16000
$MKE2FS -N 1000 $STAGE2
$SUDO mount -t ext2 $STAGE2 $MNTPOINT -o loop
# hack to reduce the STAGE2 image (do not edit without modifying in DrakX)
-rm $STAGE2TMP/usr/X11R6/bin/XF86_VGA16
-for i in /usr/share/locale /usr/share/keymaps /usr/share/xmodmap $REP4PMS/po; do \
- name=`basename $i` ; \
- (cd $STAGE2TMP/$i ; find * | cpio -o 2>/dev/null | bzip2 > ../$name.cpio.bz2 ; cd .. ; rm -rf $name) \
+rm -f $STAGE2TMP/usr/X11R6/bin/XF86_VGA16
+rm -f $STAGE2TMP/$REP4PMS/po/DrakX.pot
+for i in /usr/share/locale; do \
+ name=`basename $i` ; \
+ (cd $STAGE2TMP/$i ; find * | cpio -o 2>/dev/null | bzip2 > ../$name.cpio.bz2 ; cd .. ; rm -rf $name) \
+done
+for i in /usr/share/keymaps /usr/share/xmodmap $REP4PMS/po; do
+ name=`basename $i`
+ (cd $STAGE2TMP/$i ; ls * | $BUILD_ARCHIVE ../$name 400000)
+ rm -rf $STAGE2TMP/$i
done
+
$SUDO cp -a $STAGE2TMP/* $MNTPOINT
$SUDO rm -rf $STAGE2TMP
+df $MNTPOINT
$SUDO umount $STAGE2
rmdir $MNTPOINT
diff --git a/update_kernel b/update_kernel
index 77a0b3161..6c6da79c2 100755
--- a/update_kernel
+++ b/update_kernel
@@ -38,7 +38,7 @@ install -d lnx4win/initrd/modules
cp -f `find ../"$KERNEL_BOOT_PATH"/lib/modules/ -name "*.o"` .
/sbin/depmod -m ../System.map -i -e *.o | grep ': ' | sed 's/\.o//g' > modules.dep
perl -pi -e 's/((plip|ppa|imm): parport)/$1 parport_pc/' modules.dep
- ls *.o | ../build_archive modules 400000
+ ls *.o | ../tools/build_archive modules 400000
ls *.o | cpio --quiet -H crc -o | bzip2 -9> modules.cpio.bz2
ls $NETWORK_MODULES | cpio --quiet -H crc -o | gzip -9 > network_modules.cgz
ls $CDROM_MODULES | cpio --quiet -H crc -o | gzip -9 > cdrom_modules.cgz