summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--perl-install/Xconfigurator.pm87
-rw-r--r--perl-install/Xconfigurator_consts.pm50
-rw-r--r--perl-install/devices.pm2
-rw-r--r--perl-install/fs.pm4
-rw-r--r--perl-install/install2.pm10
-rw-r--r--perl-install/install_any.pm27
-rw-r--r--perl-install/share/compssList490
7 files changed, 383 insertions, 287 deletions
diff --git a/perl-install/Xconfigurator.pm b/perl-install/Xconfigurator.pm
index 3439510dc..5973f4b8d 100644
--- a/perl-install/Xconfigurator.pm
+++ b/perl-install/Xconfigurator.pm
@@ -2,7 +2,7 @@ package Xconfigurator;
use diagnostics;
use strict;
-use vars qw($in $install $resolution_wanted @depths @monitorSize2resolution @hsyncranges %min_hsync4wres @vsyncranges %depths @resolutions %serversdriver @svgaservers @accelservers @allservers %videomemory @ramdac_name @ramdac_id @clockchip_name @clockchip_id %keymap_translate %standard_monitors $intro_text $finalcomment_text $s3_comment $cirrus_comment $probeonlywarning_text $monitorintro_text $hsyncintro_text $vsyncintro_text $XF86firstchunk_text $keyboardsection_start $keyboardsection_part2 $keyboardsection_end $pointersection_text1 $pointersection_text2 $monitorsection_text1 $monitorsection_text2 $monitorsection_text3 $monitorsection_text4 $modelines_text_Trident_TG_96xx $modelines_text $devicesection_text $screensection_text1 %lines %xkb_options);
+use vars qw($in $install $resolution_wanted @depths @monitorSize2resolution @hsyncranges %min_hsync4wres @vsyncranges %depths @resolutions %serversdriver @svgaservers @accelservers @allbutfbservers @allservers %vgamodes %videomemory @ramdac_name @ramdac_id @clockchip_name @clockchip_id %keymap_translate %standard_monitors $intro_text $finalcomment_text $s3_comment $cirrus_comment $probeonlywarning_text $monitorintro_text $hsyncintro_text $vsyncintro_text $XF86firstchunk_text $keyboardsection_start $keyboardsection_part2 $keyboardsection_end $pointersection_text1 $pointersection_text2 $monitorsection_text1 $monitorsection_text2 $monitorsection_text3 $monitorsection_text4 $modelines_text_Trident_TG_96xx $modelines_text $devicesection_text $screensection_text1 %lines %xkb_options);
use pci_probing::main;
use common qw(:common :file :functional :system);
@@ -17,6 +17,8 @@ my ($prefix, %cards, %monitors);
1;
+sub getVGAMode($) { $_[0]->{card}{vga_mode} || $vgamodes{"640x480x16"}; }
+
sub setVirtual($) {
my $vt = '';
local *C;
@@ -142,8 +144,8 @@ sub cardConfigurationAuto() {
$card;
}
-sub cardConfiguration(;$$) {
- my ($card, $noauto) = @_;
+sub cardConfiguration(;$$$) {
+ my ($card, $noauto, $allowFB) = @_;
$card ||= {};
readCardsDB("$prefix/usr/X11R6/lib/X11/Cards");
@@ -152,8 +154,9 @@ sub cardConfiguration(;$$) {
$card->{type} = undef unless $card->{server}; #- bad type as we can't find the server
add2hash($card, cardConfigurationAuto()) unless $card->{server} || $noauto;
+ $card->{server} = 'FBDev' unless !$allowFB || $card->{server} || $noauto;
$card->{type} = $in->ask_from_list('', _("Select a graphic card"), ['Unlisted', keys %cards]) unless $card->{type} || $card->{server};
- $card->{type} = undef, $card->{server} = $in->ask_from_list('', _("Choose a X server"), \@allservers) if $card->{type} eq "Unlisted";
+ $card->{type} = undef, $card->{server} = $in->ask_from_list('', _("Choose a X server"), $allowFB ? \@allservers : \@allbutfbservers ) if $card->{type} eq "Unlisted";
add2hash($card, $cards{$card->{type}}) if $card->{type};
add2hash($card, { vendor => "Unknown", board => "Unknown" });
@@ -178,16 +181,24 @@ sub cardConfiguration(;$$) {
$card;
}
-sub monitorConfiguration(;$) {
+sub monitorConfiguration(;$$) {
my $monitor = shift || {};
+ my $useFB = shift || 0;
+
+ if ($useFB) {
+ #- use smallest values for monitor configuration since FB is used,
+ #- BIOS initialize graphics, hopes X server will not refuses that.
+ $monitor->{hsyncrange} ||= $hsyncranges[0];
+ $monitor->{vsyncrange} ||= $vsyncranges[0];
+ add2hash($monitor, { type => "Unknown", vendor => "Unknown", model => "Unknown" });
+ } else {
+ $monitor->{hsyncrange} && $monitor->{vsyncrange} and return $monitor;
- $monitor->{hsyncrange} && $monitor->{vsyncrange} and return $monitor;
-
- readMonitorsDB(-e "MonitorsDB" ? "MonitorsDB" : "/usr/share/MonitorsDB");
+ readMonitorsDB(-e "MonitorsDB" ? "MonitorsDB" : "/usr/share/MonitorsDB");
- add2hash($monitor, { type => $in->ask_from_list('', _("Choose a monitor"), ['Unlisted', keys %monitors]) }) unless $monitor->{type};
- if ($monitor->{type} eq 'Unlisted') {
- $in->ask_from_entries_ref('',
+ add2hash($monitor, { type => $in->ask_from_list('', _("Choose a monitor"), ['Unlisted', keys %monitors]) }) unless $monitor->{type};
+ if ($monitor->{type} eq 'Unlisted') {
+ $in->ask_from_entries_ref('',
_("The two critical parameters are the vertical refresh rate, which is the rate
at which the whole screen is refreshed, and most importantly the horizontal
sync rate, which is the rate at which scanlines are displayed.
@@ -195,13 +206,14 @@ sync rate, which is the rate at which scanlines are displayed.
It is VERY IMPORTANT that you do not specify a monitor type with a sync range
that is beyond the capabilities of your monitor: you may damage your monitor.
If in doubt, choose a conservative setting."),
- [ _("Horizontal refresh rate"), _("Vertical refresh rate") ],
- [ { val => \$monitor->{hsyncrange}, list => \@hsyncranges },
- { val => \$monitor->{vsyncrange}, list => \@vsyncranges }, ]);
- } else {
- add2hash($monitor, $monitors{$monitor->{type}});
+ [ _("Horizontal refresh rate"), _("Vertical refresh rate") ],
+ [ { val => \$monitor->{hsyncrange}, list => \@hsyncranges },
+ { val => \$monitor->{vsyncrange}, list => \@vsyncranges }, ]);
+ } else {
+ add2hash($monitor, $monitors{$monitor->{type}});
+ }
+ add2hash($monitor, { type => "Unknown", vendor => "Unknown", model => "Unknown" });
}
- add2hash($monitor, { type => "Unknown", vendor => "Unknown", model => "Unknown" });
$monitor;
}
@@ -246,6 +258,8 @@ sub testFinalConfig($;$) {
write_XF86Config($o, $::testing ? $tmpconfig : "$prefix/etc/X11/XF86Config");
+ $o->{card}{server} eq 'FBDev' and return 1; #- avoid testing since untestable without reboot.
+
$auto
or $in->ask_yesorno(_("Test configuration"), _("Do you want to test the configuration?"), 1)
or return 1;
@@ -351,19 +365,25 @@ sub autoDefaultDepth($$) {
my ($card, $wres_wanted) = @_;
my ($best, $depth);
- while (my ($d, $r) = each %{$card->{depth}}) {
- $depth = $depth ? max($depth, $d) : $d;
+ if ($card->{server} eq 'FBDev') {
+ 16; #- assume 16 bits depth for this case.
+ } else {
+ while (my ($d, $r) = each %{$card->{depth}}) {
+ $depth = $depth ? max($depth, $d) : $d;
- # try to have $resolution_wanted
- $best = $best ? max($best, $d) : $d if $r->[0][0] >= $wres_wanted;
+ # try to have $resolution_wanted
+ $best = $best ? max($best, $d) : $d if $r->[0][0] >= $wres_wanted;
+ }
+ $best || $depth or die "no valid modes";
}
- $best || $depth or die "no valid modes";
}
-sub autoDefaultResolution(;$) {
+sub autoDefaultResolution(;$$) {
my $size = round(shift || 14); #- assume a small monitor (size is in inch)
- $monitorSize2resolution[$size] ||
- $monitorSize2resolution[$#monitorSize2resolution]; #- no corresponding resolution for this size. It means a big monitor, take biggest we have
+ my $useFB = shift || 0;
+ $useFB ? "800x600" : #- always take this one since 640x480x16 should allow 800x600x16 in all case (?).
+ $monitorSize2resolution[$size] ||
+ $monitorSize2resolution[$#monitorSize2resolution]; #- no corresponding resolution for this size. It means a big monitor, take biggest we have
}
sub chooseResolutions($$;$) {
@@ -491,7 +511,7 @@ Try with another video card or monitor")), return;
#- remove unusable resolutions (based on the video memory size and the monitor hsync rate)
keepOnlyLegalModes($card, $o->{monitor});
- my $res = $o->{resolution_wanted} || autoDefaultResolution($o->{monitor}{size});
+ my $res = $o->{resolution_wanted} || autoDefaultResolution($o->{monitor}{size}, $o->{card}{server} eq 'FBdev');
my $wres = first(split 'x', $res);
my $depth = eval { $card->{default_depth} || autoDefaultDepth($card, $wres) };
@@ -509,6 +529,7 @@ Try with another video card or monitor")), return;
#- otherwise there'll be a virtual screen :(
$card->{depth}{$depth} = [ grep { $_->[0] <= $wres } @{$card->{depth}{$depth}} ];
$card->{default_depth} = $depth;
+ $card->{vga_mode} = $vgamodes{"${wres}xx$depth"} || $vgamodes{"${res}x$depth"}; #- for use with frame buffer.
1;
}
@@ -610,7 +631,7 @@ Section "Screen"
print F " DefaultColorDepth $defdepth\n" if $defdepth;
foreach (ikeys(%$depths)) {
- my $m = join(" ", map { qq("$_->[0]x$_->[1]") } @{$depths->{$_}});
+ my $m = $server ne "fbdev" ? join(" ", map { qq("$_->[0]x$_->[1]") } @{$depths->{$_}}) : qq("default");
print F qq( Subsection "Display"\n);
print F qq( Depth $_\n) if $_;
print F qq( Modes $m\n);
@@ -640,6 +661,8 @@ Section "Screen"
{ '' => [[ 640, 480 ], [ 800, 600 ]]});
&$screen("accel", $O->{default_depth}, $O->{type}, $O->{depth});
+
+ &$screen("fbdev", $O->{default_depth}, $O->{type}, $O->{depth});
}
sub XF86check_link {
@@ -675,17 +698,17 @@ sub show_info {
#- Program entry point.
sub main {
- my $o;
- ($prefix, $o, $in, $install) = @_;
+ my ($o, $allowFB);
+ ($prefix, $o, $in, $allowFB, $install) = @_;
$o ||= {};
XF86check_link();
- $o->{card} = cardConfiguration($o->{card}, $::noauto);
+ $o->{card} = cardConfiguration($o->{card}, $::noauto, $allowFB);
- $o->{monitor} = monitorConfiguration($o->{monitor});
+ $o->{monitor} = monitorConfiguration($o->{monitor}, $o->{card}{server} eq 'FBDev');
- my $ok = resolutionsConfiguration($o, auto => $::auto, noauto => $::noauto);
+ my $ok = resolutionsConfiguration($o, auto => ($::auto && $o->{card}{server} ne 'FBDev'), noauto => $::noauto);
$ok &&= testFinalConfig($o, $::auto);
diff --git a/perl-install/Xconfigurator_consts.pm b/perl-install/Xconfigurator_consts.pm
index 09a893717..fd1785c41 100644
--- a/perl-install/Xconfigurator_consts.pm
+++ b/perl-install/Xconfigurator_consts.pm
@@ -30,9 +30,53 @@ $resolution_wanted = "1024x768";
'VGA16' => "vga16",
'FBDev' => "fbdev",
);
-@svgaservers = grep { $serversdriver{$_} eq "svga" } keys(%serversdriver);#-qw(SVGA Rage128);
-@accelservers = grep { $serversdriver{$_} eq "accel" } keys(%serversdriver);#-qw(S3 Mach32 Mach8 8514 P9000 AGX W32 Mach64 I128 S3V 3DLabs);
-@allservers = keys(%serversdriver);#-(qw(Mono VGA16), @svgaservers, @accelservers);
+@svgaservers = grep { $serversdriver{$_} eq "svga" } keys(%serversdriver);
+@accelservers = grep { $serversdriver{$_} eq "accel" } keys(%serversdriver);
+@allbutfbservers = grep { $serversdriver{$_} ne "fbdev" } keys(%serversdriver);
+@allservers = keys(%serversdriver);
+
+%vgamodes = (
+ '640xx8' => 769,
+ '640x480x8' => 769,
+ '800xx8' => 771,
+ '800x600x8' => 771,
+ '1024xx8' => 773,
+ '1024x768x8' => 773,
+ '1280xx8' => 775,
+ '1280x1024x8' => 775,
+ '640xx15' => 784,
+ '640x480x15' => 784,
+ '800xx15' => 787,
+ '800x600x15' => 787,
+ '1024xx15' => 790,
+ '1024x768x15' => 790,
+ '1280xx15' => 793,
+ '1280x1024x15' => 793,
+ '640xx16' => 785,
+ '640x480x16' => 785,
+ '800xx16' => 788,
+ '800x600x16' => 788,
+ '1024xx16' => 791,
+ '1024x768x16' => 791,
+ '1280xx16' => 794,
+ '1280x1024x16' => 794,
+ '640xx24' => 786,
+ '640x480x24' => 786,
+ '800xx24' => 789,
+ '800x600x24' => 789,
+ '1024xx24' => 792,
+ '1024x768x24' => 792,
+ '1280xx24' => 795,
+ '1280x1024x24' => 795,
+ '640xx32' => 786, #- just in case.
+ '640x480x32' => 786,
+ '800xx32' => 789,
+ '800x600x32' => 789,
+ '1024xx32' => 792,
+ '1024x768x32' => 792,
+ '1280xx32' => 795,
+ '1280x1024x32' => 795,
+);
{ #- @monitorSize2resolution
my %l = my @l = ( #- size in inch
diff --git a/perl-install/devices.pm b/perl-install/devices.pm
index 01b200632..c1cd5f397 100644
--- a/perl-install/devices.pm
+++ b/perl-install/devices.pm
@@ -90,7 +90,7 @@ sub make($) {
"cdu31a" => [ c::S_IFBLK(), 15, 0 ],
"cdu535" => [ c::S_IFBLK(), 24, 0 ],
"cm206cd" => [ c::S_IFBLK(), 32, 0 ],
- "tty" => [ c::S_IFCHR(), 5, 0 ],
+ "tty" => [ c::S_IFCHR(), 5, 0 ],
"gscd" => [ c::S_IFBLK(), 16, 0 ],
"mcd" => [ c::S_IFBLK(), 23, 0 ],
"mcdx" => [ c::S_IFBLK(), 20, 0 ],
diff --git a/perl-install/fs.pm b/perl-install/fs.pm
index 7e9b460a4..d77a0dc0d 100644
--- a/perl-install/fs.pm
+++ b/perl-install/fs.pm
@@ -233,10 +233,12 @@ sub write_fstab($;$$) {
#- keep in mind the new line for fstab.
@new{($_->{mntpoint}, $_->{"$dir$_->{device}"})} = undef;
+ #- tested? devices::make("$prefix/$dir$_->{device}") if $_->{device} && $dir && !$_->{noMakeDevice};
eval { devices::make("$prefix/$dir$_->{device}") } if $_->{device} && $dir;
mkdir "$prefix/$_->{mntpoint}", 0755 if $_->{mntpoint};
- [ "$dir$_->{device}", $_->{mntpoint}, type2fs($_->{type}), $options, $freq, $passno ];
+ [ ( $_->{device} =~ /^\// ? $_->{device} : "$dir$_->{device}" ),
+ $_->{mntpoint}, type2fs($_->{type}), $options, $freq, $passno ];
} grep { $_->{mntpoint} && type2fs($_->{type}) &&
! exists $new{$_->{mntpoint}} && ! exists $new{"/dev/$_->{device}"} } @$fstab;
diff --git a/perl-install/install2.pm b/perl-install/install2.pm
index d9597c010..c0a6f0c53 100644
--- a/perl-install/install2.pm
+++ b/perl-install/install2.pm
@@ -40,11 +40,11 @@ my @installSteps = (
selectInstallClass => [ __("Select installation class"), 1, 1 ],
setupSCSI => [ __("Setup SCSI"), 1, 0 ],
selectPath => [ __("Choose install or upgrade"), 0, 0, "selectInstallClass" ],
- selectMouse => [ __("Configure mouse"), 1, 1 ],
- selectKeyboard => [ __("Choose your keyboard"), 1, 1 ],
+ selectMouse => [ __("Configure mouse"), 1, 1, "selectPath" ],
+ selectKeyboard => [ __("Choose your keyboard"), 1, 1, "selectPath" ],
partitionDisks => [ __("Setup filesystems"), 1, 0, "selectPath" ],
formatPartitions => [ __("Format partitions"), 1, -1, "partitionDisks" ],
- choosePackages => [ __("Choose packages to install"), 1, 1, "selectInstallClass" ],
+ choosePackages => [ __("Choose packages to install"), 1, 1, "selectPath" ],
doInstallStep => [ __("Install system"), 1, -1, ["formatPartitions", "selectPath"] ],
miscellaneous => [ __("Miscellaneous"), 1, 1 ],
configureNetwork => [ __("Configure networking"), 1, 1, "formatPartitions" ],
@@ -55,7 +55,7 @@ my @installSteps = (
addUser => [ __("Add a user"), 1, 1, "doInstallStep" ],
createBootdisk => [ __("Create a bootdisk"), 1, 0, "doInstallStep" ],
setupBootloader => [ __("Install bootloader"), 1, 1, "doInstallStep" ],
- configureX => [ __("Configure X"), 1, 0, "formatPartitions" ],
+ configureX => [ __("Configure X"), 1, 0, ["formatPartitions", "setupBootloader"] ],
exitInstall => [ __("Exit install"), 0, 0 ],
);
@@ -271,6 +271,8 @@ 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};
diff --git a/perl-install/install_any.pm b/perl-install/install_any.pm
index c76778f63..0d08adebc 100644
--- a/perl-install/install_any.pm
+++ b/perl-install/install_any.pm
@@ -303,7 +303,7 @@ sub lnx4win_postinstall {
run_program::run("rdev", $kernel, "/dev/loop7");
unlink "$dir/size.txt";
- unlink "$dir/swapfile.txt";
+ unlink "$dir/swapsize.txt";
mkdir "$prefix/initrd", 0755;
symlinkf "/initrd/dos", "$prefix/mnt/dos";
@@ -319,6 +319,31 @@ sub unlockCdroms {
foreach detect_devices::cdroms();
}
+sub setupFB {
+ my ($o, $vga) = @_;
+
+ #- install needed packages for frame buffer.
+ pkgs::select($o->{packages}, $o->{packages}{'kernel-fb'});
+ pkgs::select($o->{packages}, $o->{packages}{'XFree86-FBDev'});
+ $o->installPackages($o->{packages});
+
+ #- update lilo entries with a new fb label. a bit hack.
+ my $root = $o->{bootloader}{entries}{'/boot/vmlinuz'}{root};
+ if (lilo::add_kernel($o->{prefix}, $o->{bootloader}, kernelVersion(), 'fb',
+ {
+ label => 'fb',
+ root => $root,
+ vga => $vga || 785, #- TODO default to 640x480x16.
+ })) {
+ $o->{bootloader}{default} = 'fb';
+ lilo::install($o->{prefix}, $o->{bootloader});
+ } else {
+ #- should deactivate X11 in such case.
+ #- TODO
+ die _("I can't access the kernel with frame buffer support.\nDisabling automatic X11 startup if any.");
+ }
+}
+
sub auto_inst_file() { "$::o->{prefix}/root/auto_inst.cfg.pl" }
sub g_auto_install(;$) {
diff --git a/perl-install/share/compssList b/perl-install/share/compssList
index dbcb4350d..c95c2544c 100644
--- a/perl-install/share/compssList
+++ b/perl-install/share/compssList
@@ -257,7 +257,7 @@ kaffe 10 0 50
kapm 82 0 60
kbatmon 82 0 60
kBeroFTPD 59 99 53
-kcmclock 82 0 60
+kcmclock 0 0 0
kcmlaptop 82 0 60
kcpumon 82 0 60
kdbg 30 0 27
@@ -730,247 +730,247 @@ zsh 31 0 72
categories
-administration:rpm:console 90 90 90
-administration:rpm:x11 90 00 90
-administration:system:console 00 00 90
-administration:utilities:console 90 90 90
-administration:utilities:x11 90 00 90
-amusement:console 00 00 90
-amusement:x11 90 00 90
-archiving:console 50 90 90
-archiving:x11 90 00 90
-base 00 00 90
-cd-burning:console 60 00 90
-cd-burning:x11 70 00 90
-communications:modem:console 60 90 90
-communications:modem:x11 70 90 90
-communications:pilot:console 50 90 90
-communications:pilot:x11 70 00 90
-compression:console 60 20 30
-compression:x11 60 50 60
-configuration:kernel:console 50 60 70
-configuration:kernel:x11 50 10 70
-configuration:keyboard:console 60 10 60
-configuration:identification:console 70 80 90
-configuration:identification:x11 90 01 10
-configuration:libs:x11 40 50 60
-configuration:mail:console 50 80 60
-configuration:network:firewall:console 70 80 90
-configuration:network:firewall:x11 00 10 20
-configuration:network:ftp:x11 60 70 80
-configuration:network:http:x11 20 30 40
-configuration:network:mail:console 50 60 70
-configuration:network:mail:x11 80 90 10
-configuration:power:x11 40 60 60
-configuration:time:console 70 90 90
-configuration:time:x11 00 10 20
-configuration:sound:console 30 40 50
-configuration:system:console 90 10 10
-configuration:system:x11 20 30 40
-configuration:xfree:console 50 60 70
-configuration:xfree:x11 80 90 10
-daemons:administartion 00 30 10
-daemons:console 00 00 30
-daemons:database 00 00 80
-daemons:disk 00 00 40
-daemons:kernel 00 00 30
-daemons:network:base 00 00 90
-daemons:network:corba 00 00 70
-daemons:network:dhcp 00 00 60
-daemons:network:ftp 00 00 60
-daemons:network:http 00 00 60
-daemons:network:mail 00 00 10
-daemons:network:midnight_commander 00 00 30
-daemons:network:name_server 00 00 20
-daemons:network:netware 00 00 50
-daemons:network:nfs 00 00 50
-daemons:network:nis 00 00 10
-daemons:network:routing 00 00 60
-daemons:network:samba 00 00 10
-daemons:network:snmp 00 00 50
-daemons:network:slip 00 00 00
-daemons:network:telnet 00 00 00
-daemons:network:uucp 00 00 00
-daemons:network:usenet 00 00 00
-daemons:network:vnc 00 00 00
-daemons:power 00 00 00
-daemons:print 00 00 00
-daemons:security 00 00 00
-daemons:sound 00 00 00
-daemons:time 00 00 00
-daemons:xfree86 00 00 00
-database 10 80 00
-development:debuggers:console 00 00 90
-development:debuggers:x11 10 10 90
-development:libs:cdrecord 00 00 90
-development:libs:compression 00 00 90
-development:libs:database 00 00 90
-development:libs:fonts 00 00 90
-development:libs:gnome 00 00 90
-development:libs:graphics 00 00 90
-development:libs:gtk 00 00 90
-development:libs:filesystems 00 00 90
-development:libs:kde 00 00 90
-development:libs:language 00 10 90
-development:libs:misc 00 00 90
-development:libs:mouse 00 00 90
-development:libs:network 00 00 90
-development:libs:qt 00 00 90
-development:libs:sound 00 00 90
-development:libs:user-interface 00 00 90
-development:language 00 00 90
-development:tools:console 00 00 90
-development:tools:x11 00 00 90
-disks 00 50 70
-documentation:languages:chinese 90 90 90
-documentation:languages:croatian 90 90 90
-documentation:languages:czech 90 90 90
-documentation:languages:en 90 90 90
-documentation:languages:french 90 90 90
-documentation:languages:german 90 90 90
-documentation:languages:greek 90 90 90
-documentation:languages:indonesian 90 90 90
-documentation:languages:italian 90 90 90
-documentation:languages:japanese 90 90 90
-documentation:languages:korean 90 90 90
-documentation:languages:polish 90 90 90
-documentation:languages:russian 90 90 90
-documentation:languages:serbian 90 90 90
-documentation:languages:slovenian 90 90 90
-documentation:languages:spanish 90 90 90
-documentation:languages:swedish 90 90 90
-documentation:languages:turkish 90 90 90
-documentation:misc 90 90 90
-documentation:tools:console 70 80 80
-documentation:tools:x11 90 10 50
-editors:console 30 80 80
-editors:x11 80 10 80
-emulators:console 50 10 50
-emulators 80 10 50
-filemanagers:console 40 80 80
-filemanagers:x11 70 00 70
-files:console 00 50 10
-files:x11 80 10 50
-finances 00 00 00
-games:console 40 10 40
-games:x11 60 10 60
-gnome 80 10 40
-identification:x11 10 40 30
-info:console 40 90 90
-info:x11 60 20 90
-kde:administration:utilities 90
-kde:administration:rpm 90
-kde:amusement 90
-kde:base 00
-kde:cd-burning 90
-kde:communications:fax 90
-kde:communications:modem 90
-kde:communications:pilot 90
-kde:configuration:network 90
-kde:configuration:power 90
-kde:configuration:time 90
-kde:configuration:system 90
-kde:deloppment:tools 60
-kde:filemanagers 90
-kde:games 90
-kde:identification 90
-kde:monitoring 90
-kde:monitoring:cpu 90
-kde:monitoring:disks 90
-kde:monitoring:mail 90
-kde:monitoring:network 90
-kde:monitoring:memory 90
-kde:multimedia:graphics 90
-kde:multimedia:image-viewer 90
-kde:multimedia:sound 90
-kde:multimedia:video 90
-kde:network 90
-kde:office 90
-kde:science 90
-kde:themes 90
-kde:utilities 90
-kernel 00 50 90
-libs:application 00 10 90
-libs:compression 00 10 90
-libs:database 00 10 90
-libs:fonts:console 00 10 90
-libs:fonts:x11 00 10 90
-libs:gnome 00 10 90
-libs:graphics 00 10 90
-libs:gtk 00 10 90
-libs:kde 00 10 90
-libs:math 00 10 90
-libs:misc:console 00 10 90
-libs:misc:x11 00 10 90
-libs:network 00 10 90
-libs:qt 00 10 90
-libs:sound 00 10 90
-libs:user_interface 00 10 90
-misc:console 50 80 80
-monitoring:cpu:x11 50 80 90
-monitoring:disks:x11 50 80 90
-monitoring:misc:console 30 90 90
-monitoring:misc:x11 50 80 90
-monitoring:memory:console 30 90 90
-monitoring:memory:x11 50 80 90
-monitoring:network:console 30 90 90
-monitoring:network:x11 50 80 90
-monitoring:power:x11 50 80 90
-multimedia:graphic:acquisition 70 20 70
-multimedia:graphic:console 70 20 70
-multimedia:graphic:image-viewer 90 10 80
-multimedia:graphic:x11 90 10 80
-multimedia:sound:players:console 80 10 70
-multimedia:sound:players:x11 90 10 70
-multimedia:sounds:sounds 90 10 60
-multimedia:video 90 10 60
-network:ftp:console 70 60 70
-network:ftp:x11 80 10 70
-network:irc&co:console 80 60 70
-network:irc&co:x11 80 10 70
-network:mail:console 60 90 80
-network:mail:x11 70 10 80
-network:misc:console 50 90 80
-network:misc:x11 60 10 80
-network:netware:console 30 90 80
-network:nfs:console 30 90 80
-network:nis:console 30 90 80
-network:tools:console 30 90 80
-network:tools:x11 40 10 80
-network:usenet:console 40 90 80
-network:usenet:x11 80 10 80
-network:web:console 10 90 80
-network:web:x11 90 10 90
-office:dictionary:console 80 50 80
-office:textviewer:x11 80 10 80
-office:word_processor:console 50 50 80
-office:word_processor:x11 90 10 80
-print:console 60 90 60
-print:x11 70 10 70
-productivity:console 60 50 50
-productivity:x11 90 00 80
-science:chemistry:x11 80 00 80
-science:math:console 20 00 80
-science:math:x11 80 00 80
-science:meteo:console 70 00 80
-science:meteo:x11 80 00 80
-shells 00 90 90
-terminal:console 50 90 90
-terminal:x11 70 10 80
-text:console 40 90 90
-text:x11 80 90 90
-time:console 80 90 90
-time:x11 90 10 90
-translations 90 90 90
-updates:console 00 90 90
-updates:x11 90 00 90
-utilities:console:kernel 00 80 90
-utilities:console:misc 50 80 80
-utilities:x11:misc 80 00 80
-window-managers:configuration:console 70 10 70
-window-managers:configuration:x11 90 00 90
-window-managers:themes 90 00 90
-window-managers:window-managers 90 00 90
-xfree86:backgrounds 90 10 90
-xfree86:base 00 00 00
-xfree86:fonts 00 00 00
+administration:rpm:console 90 90 80
+administration:rpm:x11 90 00 80
+administration:system:console 00 00 80
+administration:utilities:console 90 90 80
+administration:utilities:x11 90 00 80
+amusement:console 00 00 80
+amusement:x11 90 00 80
+archiving:console 50 90 80
+archiving:x11 90 00 80
+base 00 00 80
+cd-burning:console 60 00 80
+cd-burning:x11 70 00 80
+communications:modem:console 60 90 80
+communications:modem:x11 70 90 80
+communications:pilot:console 50 90 80
+communications:pilot:x11 70 00 80
+compression:console 60 20 30
+compression:x11 60 50 55
+configuration:kernel:console 50 60 70
+configuration:kernel:x11 50 10 70
+configuration:keyboard:console 60 10 55
+configuration:identification:console 70 80 80
+configuration:identification:x11 90 01 10
+configuration:libs:x11 40 50 55
+configuration:mail:console 50 80 55
+configuration:network:firewall:console 70 80 80
+configuration:network:firewall:x11 00 10 20
+configuration:network:ftp:x11 60 70 72
+configuration:network:http:x11 20 30 40
+configuration:network:mail:console 50 60 70
+configuration:network:mail:x11 80 90 10
+configuration:power:x11 40 60 55
+configuration:time:console 70 90 80
+configuration:time:x11 00 10 20
+configuration:sound:console 30 40 50
+configuration:system:console 90 10 10
+configuration:system:x11 20 30 40
+configuration:xfree:console 50 60 70
+configuration:xfree:x11 80 90 10
+daemons:administartion 00 30 10
+daemons:console 00 00 30
+daemons:database 00 00 72
+daemons:disk 00 00 40
+daemons:kernel 00 00 30
+daemons:network:base 00 00 80
+daemons:network:corba 00 00 70
+daemons:network:dhcp 00 00 55
+daemons:network:ftp 00 00 55
+daemons:network:http 00 00 55
+daemons:network:mail 00 00 10
+daemons:network:midnight_commander 00 00 30
+daemons:network:name_server 00 00 20
+daemons:network:netware 00 00 50
+daemons:network:nfs 00 00 50
+daemons:network:nis 00 00 10
+daemons:network:routing 00 00 55
+daemons:network:samba 00 00 10
+daemons:network:snmp 00 00 50
+daemons:network:slip 00 00 00
+daemons:network:telnet 00 00 00
+daemons:network:uucp 00 00 00
+daemons:network:usenet 00 00 00
+daemons:network:vnc 00 00 00
+daemons:power 00 00 00
+daemons:print 00 00 00
+daemons:security 00 00 00
+daemons:sound 00 00 00
+daemons:time 00 00 00
+daemons:xfree86 00 00 00
+database 10 80 00
+developpment:debuggers:console 00 00 80
+developpment:debuggers:x11 10 10 80
+developpment:libs:cdrecord 00 00 80
+developpment:libs:compression 00 00 80
+developpment:libs:database 00 00 80
+developpment:libs:fonts 00 00 80
+developpment:libs:gnome 00 00 80
+developpment:libs:graphics 00 00 80
+developpment:libs:gtk 00 00 80
+developpment:libs:filesystems 00 00 80
+developpment:libs:kde 00 00 80
+developpment:libs:language 00 10 80
+developpment:libs:misc 00 00 80
+developpment:libs:mouse 00 00 80
+developpment:libs:network 00 00 80
+developpment:libs:qt 00 00 80
+developpment:libs:sound 00 00 80
+developpment:libs:user-interface 00 00 80
+developpment:language 00 00 80
+developpment:tools:console 00 00 80
+developpment:tools:x11 00 00 80
+disks 00 50 70
+documentation:languages:chinese 90 90 80
+documentation:languages:croatian 90 90 80
+documentation:languages:czech 90 90 80
+documentation:languages:en 90 90 80
+documentation:languages:french 90 90 80
+documentation:languages:german 90 90 80
+documentation:languages:greek 90 90 80
+documentation:languages:indonesian 90 90 80
+documentation:languages:italian 90 90 80
+documentation:languages:japanese 90 90 80
+documentation:languages:korean 90 90 80
+documentation:languages:polish 90 90 80
+documentation:languages:russian 90 90 80
+documentation:languages:serbian 90 90 80
+documentation:languages:slovenian 90 90 80
+documentation:languages:spanish 90 90 80
+documentation:languages:swedish 90 90 80
+documentation:languages:turkish 90 90 80
+documentation:misc 90 90 80
+documentation:tools:console 70 80 72
+documentation:tools:x11 90 10 50
+editors:console 30 80 72
+editors:x11 80 10 72
+emulators:console 50 10 50
+emulators 80 10 50
+filemanagers:console 40 80 72
+filemanagers:x11 70 00 70
+files:console 00 50 10
+files:x11 80 10 50
+finances 00 00 00
+games:console 40 10 40
+games:x11 60 10 55
+gnome 80 10 40
+identification:x11 10 40 30
+info:console 40 90 80
+info:x11 60 20 80
+kde:administration:utilities 90 81 81
+kde:administration:rpm 90 81 81
+kde:amusement 90 81 81
+kde:base 0 0 0
+kde:cd-burning 90 81 81
+kde:communications:fax 90 81 81
+kde:communications:modem 90 81 81
+kde:communications:pilot 90 81 81
+kde:configuration:network 90 81 81
+kde:configuration:power 90 81 81
+kde:configuration:time 90 81 81
+kde:configuration:system 90 81 81
+kde:deloppment:tools 60 54 54
+kde:filemanagers 90 81 81
+kde:games 90 81 81
+kde:identification 90 81 81
+kde:monitoring 90 81 81
+kde:monitoring:cpu 90 81 81
+kde:monitoring:disks 90 81 81
+kde:monitoring:mail 90 81 81
+kde:monitoring:network 90 81 81
+kde:monitoring:memory 90 81 81
+kde:multimedia:graphics 90 81 81
+kde:multimedia:image-viewer 90 81 81
+kde:multimedia:sound 90 81 81
+kde:multimedia:video 90 81 81
+kde:network 90 81 81
+kde:office 90 81 81
+kde:science 90 81 81
+kde:themes 90 81 81
+kde:utilities 90 81 81
+kernel 00 50 80
+libs:application 00 10 80
+libs:compression 00 10 80
+libs:database 00 10 80
+libs:fonts:console 00 10 80
+libs:fonts:x11 00 10 80
+libs:gnome 00 10 80
+libs:graphics 00 10 80
+libs:gtk 00 10 80
+libs:kde 00 10 80
+libs:math 00 10 80
+libs:misc:console 00 10 80
+libs:misc:x11 00 10 80
+libs:network 00 10 80
+libs:qt 00 10 80
+libs:sound 00 10 80
+libs:user_interface 00 10 80
+misc:console 50 80 72
+monitoring:cpu:x11 50 80 80
+monitoring:disks:x11 50 80 80
+monitoring:misc:console 30 90 80
+monitoring:misc:x11 50 80 80
+monitoring:memory:console 30 90 80
+monitoring:memory:x11 50 80 80
+monitoring:network:console 30 90 80
+monitoring:network:x11 50 80 80
+monitoring:power:x11 50 80 80
+multimedia:graphic:acquisition 70 20 70
+multimedia:graphic:console 70 20 70
+multimedia:graphic:image-viewer 90 10 72
+multimedia:graphic:x11 90 10 72
+multimedia:sound:players:console 80 10 70
+multimedia:sound:players:x11 90 10 70
+multimedia:sounds:sounds 90 10 55
+multimedia:video 90 10 55
+network:ftp:console 70 60 70
+network:ftp:x11 80 10 70
+network:irc&co:console 80 60 70
+network:irc&co:x11 80 10 70
+network:mail:console 60 90 72
+network:mail:x11 70 10 72
+network:misc:console 50 90 72
+network:misc:x11 60 10 72
+network:netware:console 30 90 72
+network:nfs:console 30 90 72
+network:nis:console 30 90 72
+network:tools:console 30 90 72
+network:tools:x11 40 10 72
+network:usenet:console 40 90 72
+network:usenet:x11 80 10 72
+network:web:console 10 90 72
+network:web:x11 90 10 80
+office:dictionary:console 80 50 72
+office:textviewer:x11 80 10 72
+office:word_processor:console 50 50 72
+office:word_processor:x11 90 10 72
+print:console 60 90 55
+print:x11 70 10 70
+productivity:console 60 50 50
+productivity:x11 90 00 72
+science:chemistry:x11 80 00 72
+science:math:console 20 00 72
+science:math:x11 80 00 72
+science:meteo:console 70 00 72
+science:meteo:x11 80 00 72
+shells 00 90 80
+terminal:console 50 90 80
+terminal:x11 70 10 72
+text:console 40 90 80
+text:x11 80 90 80
+time:console 80 90 80
+time:x11 90 10 80
+translations 90 90 80
+updates:console 00 90 80
+updates:x11 90 00 80
+utilities:console:kernel 00 80 80
+utilities:console:misc 50 80 72
+utilities:x11:misc 80 00 72
+window-managers:configuration:console 70 10 70
+window-managers:configuration:x11 90 00 80
+window-managers:themes 90 00 80
+window-managers:window-managers 90 00 80
+xfree86:backgrounds 90 10 80
+xfree86:base 00 00 00
+xfree86:fonts 00 00 00