package tmp::compssUsers; use common; use ugtk2 qw(:helpers :wrappers :create); my $meta_class = $::o->{meta_class}; my $desktop = $meta_class eq 'desktop'; my $powerpack = $meta_class eq 'powerpack'; my $server = $meta_class eq 'server'; my $h = { $desktop ? ( "Discovery" => [ { label => ("Discovery"), descr => (""), flags => [ qw(OFFICE SPELLCHECK PUBLISHING PIM ARCHIVING PRINTER AUDIO VIDEO GRAPHICS NETWORKING_WWW NETWORKING_MAIL NETWORKING_NEWS COMMUNICATIONS NETWORKING_CHAT NETWORKING_FILE_TRANSFER NETWORKING_IRC NETWORKING_INSTANT_MESSAGING NETWORKING_DNS CONFIG TERMINALS TEXT_TOOLS SHELLS FILE_TOOLS KDE X BOOKS) ], default_selected => 1, }, ], ) : ( N_("Workstation") => [ { label => N_("Internet station"), descr => N_("Set of tools to read and send mail and to browse the Web"), flags => [ qw(NETWORKING_WWW NETWORKING_MAIL NETWORKING_NEWS COMMUNICATIONS NETWORKING_CHAT NETWORKING_FILE_TRANSFER NETWORKING_IRC NETWORKING_INSTANT_MESSAGING NETWORKING_DNS) ], default_selected => 1, }, { label => N_("Cluster Node"), descr => N_("Be an HPC client node with OAR"), flags => [ qw(NODE_SIDE NETWORKING_DUPLICATION_SERVER SCHEDULER NODE_SIDE_CLIC CLUSTER_INTERCONNECT) ], }, { label => N_("Console Tools"), descr => N_("Editors, shells, file tools, terminals"), flags => [ qw(EDITORS TERMINALS TEXT_TOOLS SHELLS FILE_TOOLS) ], default_selected => 1, }, { label => N_("Development"), descr => N_("C and C++ development libraries, programs and include files"), flags => [ qw(DEVELOPMENT CLUSTERDEVELOPMENT EDITORS) ], }, { label => N_("Documentation"), descr => N_("Books and Howto's on Linux and Free Software"), flags => [ qw(BOOKS CLUSTER_DOC) ], }, { label => N_("Parallel Build"), descr => N_("distcc, icecream, ccache"), flags => [ qw(CLUSTER_BUILD) ], }, { label => N_("Monitoring Client"), descr => N_("Ganglia"), flags => [ qw(MONITORING_CLIENT) ], }, { label => N_("Emulation"), descr => N_("Xen, qemu"), flags => [ qw(EMULATION) ], default_selected => 1, }, ], N_("Server") => [ { label => N_("Cluster server"), descr => N_("clusterscripts-server, drakcluster..."), flags => [ qw(CLUSTER_SERVER MONITORING_SERVER NETWORKING_DNS_SERVER CLUSTER_ADMINISTRATION MONITORING_SERVER SCHEDULER_SERVER NETWORKING_AUTOINSTALL_SERVER NIS_SERVER SERVER_SIDE) ], default_selected => 1, }, { label => N_("OAR Scheduler"), descr => N_("OAR Scheduler to admin/control/submit job"), flags => [ qw(SCHEDULER_SERVER SCHEDULER) ], default_selected => 1, }, { label => N_("Monitoring Server"), descr => N_("Ganglia, monika"), flags => [ qw(MONITORING_SERVER) ], default_selected => 1, }, { label => N_("Administration"), descr => N_("taktuk2, gexec, ka-tools, tentakel...."), flags => [ qw(CLUSTER_ADMINISTRATION NETWORKING_DUPLICATION_SERVER) ], default_selected => 1, }, { label => N_("Duplication"), descr => N_("ka, dolly, dolly+, nettee...."), flags => [ qw(NETWORKING_DUPLICATION_SERVER NETWORKING_FILE_TRANSFER NETWORKING_FILE_TRANSFER) ], default_selected => 1, }, ], N_("Graphical Environment") => [ { label => N_("Icewm Graphical Desktop"), descr => N_("Icewm"), flags => [ qw(GRAPHICAL_DESKTOP X ACCESSIBILITY ICEWM) ], default_selected => 1, }, ], ), }; foreach my $path (keys %$h) { foreach (@{$h->{$path}}) { $_->{path} = $path; $_->{uid} = join('|', $path, $_->{label}); } } my $compssUsers = [ map { @$_ } values %$h ]; my $gtk_display_compssUsers = sub { my ($entry) = @_; my $entries_in_path = sub { my ($path) = @_; translate($path), map { $entry->($_) } @{$h->{$path}}; }; gtkpack_(Gtk2::VBox->new(0, 0), 1, gtkpack_(Gtk2::HBox->new(0, 0), 1, gtkpack(Gtk2::VBox->new(0, 0), $entries_in_path->('Workstation'), ), 1, Gtk2::VSeparator->new, 1, gtkpack(Gtk2::VBox->new(0, 0), $entries_in_path->('Server'), , '', Gtk2::HSeparator->new, , '', $entries_in_path->('Graphical Environment'), ), ), 0, '', 0, Gtk2::HSeparator->new, ), }; $compssUsers, $gtk_display_compssUsers;