Subversion Repositories ALCASAR

Compare Revisions

No changes between revisions

Ignore whitespace Rev 2681 → Rev 2682

/iso/old/config/compssUsers.pl
0,0 → 1,294
package tmp::compssUsers;
 
use lib qw(/usr/lib/libDrakX);
use common;
use install::pkgs;
# perl_checker: use detect_devices
 
my $low_resources = detect_devices::has_low_resources();
my $netbook_desktop = detect_devices::is_netbook_nettop();
my $light_desktop = detect_devices::need_light_desktop();
my $meta_class = $::o->{meta_class};
my $powerpack = $meta_class eq 'powerpack';
my $server = $meta_class eq 'server';
 
my $h = {
N_("Workstation") =>
[
{ label => N_("Office Workstation"),
descr =>
N_("Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets (LibreOffice Calc, Kspread), PDF viewers, etc"),
flags => [ qw(OFFICE SPELLCHECK PIM ARCHIVING ), if_(!$light_desktop, qw(PUBLISHING)) ],
default_selected => 1,
required => [ qw(libreoffice-writer abiword) ],
},
if_(!$server,
{ label => N_("Game station"),
descr => N_("Amusement programs: arcade, boards, strategy, etc"),
flags => [ qw(GAMES) ],
},
{ label => N_("Multimedia station"),
descr => N_("Sound and video playing/editing programs"),
flags => [ qw(AUDIO VIDEO GRAPHICS VIDEO_EDITING) ],
default_selected => 1,
},
),
{ label => N_("Internet station"),
descr => N_("Set of tools to read and send mail and news (mutt, tin..) 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,
},
if_(!$server,
{ label => N_("Network Computer (client)"),
descr => N_("Clients for different protocols including ssh"),
flags => [ qw(NETWORKING_REMOTE_ACCESS NETWORKING_FILE) ],
default_selected => $powerpack,
required => [ qw(openssh-clients samba-client) ],
},
{ label => N_("Configuration"),
descr => N_("Tools to ease the configuration of your computer"),
flags => [ qw(CONFIG) ],
default_selected => 1,
},
{ 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 EDITORS) ],
required => [ 'make' ],
},
{ label => N_("Documentation"),
descr => N_("Books and Howto's on Linux and Free Software"),
flags => [ qw(BOOKS) ],
default_selected => !$light_desktop,
},
{ label => N_("LSB"),
descr => N_("Linux Standard Base. Third party applications support"),
flags => [ qw(LSB) ],
required => [ 'lsb-core' ],
},
),
],
 
N_("Server") =>
[
$server ? (
{ label => N_("Web Server"),
descr => N_("Apache"),
flags => [ qw(NETWORKING_WWW_SERVER) ],
required => [ qw(apache lftp mirrordir rsync) ],
},
{ label => N_("Groupware"),
descr => N_("Kolab Server"),
flags => [ qw(NETWORKING_GROUPWARE_SERVER) ],
},
{ label => N_("Firewall/Router"),
descr => N_("Internet gateway"),
flags => [ qw(NETWORKING_FIREWALLING_SERVER) ],
},
{ label => N_("Mail/News"),
descr => N_("Postfix mail server, Inn news server"),
flags => [ qw(NETWORKING_MAIL_SERVER NETWORKING_NEWS_SERVER) ],
required => [ 'postfix' ],
},
{ label => N_("Directory Server"),
descr => N_("LDAP Server"),
flags => [ qw(NETWORKING_LDAP_SERVER) ],
required => [ 'openldap-servers' ],
},
{ label => N_("FTP Server"),
descr => N_("ProFTPd"),
flags => [ qw(NETWORKING_FILE_TRANSFER_SERVER) ],
required => [ 'proftpd' ],
},
{ label => N_("DNS/NIS"),
descr => N_("Domain Name and Network Information Server"),
flags => [ qw(NIS_SERVER NETWORKING_DNS_SERVER) ],
required => [ 'bind' ],
},
{ label => N_("File and Printer Sharing Server"),
descr => N_("NFS Server, Samba server"),
flags => [ qw(NETWORKING_FILE_SERVER PRINTER) ],
required => [ qw(nfs-utils cups samba-server) ],
},
{ label => N_("Database"),
descr => N_("PostgreSQL and MariaDB Database Server"),
flags => [ qw(DATABASES DATABASES_SERVER) ],
required => [ qw(postgresql9.1 postgresql9.2 mariadb) ],
},
) : (
{ label => N_("Web/FTP"),
descr => N_("Apache, Pro-ftpd"),
flags => [ qw(NETWORKING_WWW_SERVER NETWORKING_FILE_TRANSFER_SERVER) ],
required => [ qw(apache proftpd rsync) ],
},
{ label => N_("Mail"),
descr => N_("Postfix mail server"),
flags => [ qw(NETWORKING_MAIL_SERVER) ],
required => [ 'postfix' ],
},
{ label => N_("Database"),
descr => N_("PostgreSQL or MariaDB database server"),
flags => [ qw(DATABASES DATABASES_SERVER) ],
required => [ qw(postgresql9.1 postgresql9.2 mariadb) ],
},
{ label => N_("Firewall/Router"),
descr => N_("Internet gateway"),
flags => [ qw(NETWORKING_FIREWALLING_SERVER) ],
},
{ label => N_("Network Computer server"),
descr => N_("NFS server, SMB server, Proxy server, ssh server"),
flags => [ qw(NETWORKING_FILE_SERVER NETWORKING_REMOTE_ACCESS_SERVER) ],
required => [ qw(nfs-utils cups samba-server openssh-server) ],
},
),
],
 
N_("Graphical Environment") =>
[
{ label => N_("KDE Workstation"),
descr => N_("The K Desktop Environment, the basic graphical environment with a collection of accompanying tools"),
flags => [ qw(KDE X ACCESSIBILITY THEMES) ],
default_selected => !$light_desktop,
required => [ 'task-kde4-minimal' ],
},
{ label => N_("GNOME Workstation"),
descr => N_("A graphical environment with user-friendly set of applications and desktop tools"),
flags => [ qw(GNOME X THEMES), if_(!$light_desktop, qw(ACCESSIBILITY)) ],
default_selected => $netbook_desktop,
required => [ 'task-gnome-minimal' ],
},
{ label => N_("XFCE Workstation"),
descr => N_("A lighter graphical environment with user-friendly set of applications and desktop tools"),
flags => [ qw(XFCE X THEMES ACCESSIBILITY) ],
required => [ 'task-xfce-minimal' ],
},
{ label => N_("MATE Workstation"),
descr => N_("A graphical environment with user-friendly set of applications and desktop tools"),
flags => [ qw(MATE X THEMES ACCESSIBILITY) ],
required => [ 'task-mate-minimal' ],
},
{ label => N_("Cinnamon Workstation"),
descr => N_("A graphical environment based on GNOME"),
flags => [ qw(CINNAMON X THEMES ACCESSIBILITY) ],
required => [ 'task-cinnamon-minimal' ],
},
{ label => N_("LXQT Desktop"),
flags => [ qw(LXQT X ACCESSIBILITY) ],
descr => N_("A next generation QT port of the lightweight desktop environment"),
required => [ 'task-lxqt' ],
},
{ label => N_("Enlightenment e17 Desktop"),
flags => [ qw(E17 X ACCESSIBILITY) ],
descr => N_("A lightweight fast graphical environment with a dedicated following"),
required => [ 'task-e17' ],
},
{ label => N_("LXDE Desktop"),
flags => [ qw(LXDE X ACCESSIBILITY) ],
descr => N_("A lightweight fast graphical environment"),
required => [ 'task-lxde' ],
},
{ label => N_("Other Graphical Desktops"),
descr => N_("Window Maker, Fvwm, etc"),
flags => [ qw(GRAPHICAL_DESKTOP X ACCESSIBILITY) ],
},
],
 
if_($server,
N_("Development") =>
[
{ label => N_("Development"),
descr => N_("C and C++ development libraries, programs and include files"),
flags => [ qw(DEVELOPMENT EDITORS) ],
default_selected => 1,
},
{ label => N_("Documentation"),
descr => N_("Books and Howto's on Linux and Free Software"),
flags => [ qw(BOOKS) ],
},
{ label => N_("LSB"),
descr => N_("Linux Standard Base. Third party applications support"),
flags => [ qw(LSB) ],
},
],
 
N_("Utilities") =>
[
{ label => N_("SSH Server"),
descr => N_("SSH Server"),
flags => [ qw(NETWORKING_REMOTE_ACCESS_SERVER) ],
default_selected => 1,
},
{ label => N_("Webmin"),
descr => N_("Webmin Remote Configuration Server"),
flags => [ qw(WEBMIN) ],
default_selected => 1,
},
{ label => N_("Network Utilities/Monitoring"),
descr => N_("Monitoring tools, processes accounting, tcpdump, nmap, ..."),
flags => [ qw(MONITORING NETWORKING_FILE) ],
default_selected => 1,
},
{ label => N_("Mageia Wizards"),
descr => N_("Wizards to configure server"),
flags => [ qw(WIZARDS) ],
default_selected => 1,
},
],
),
};
 
foreach my $path (keys %$h) {
foreach (@{$h->{$path}}) {
$_->{path} = $path;
$_->{uid} = join('|', $path, $_->{label});
}
}
 
sub _filter {
grep { $_->{required} ? (any { install::pkgs::packageByName($::o->{packages}, $_) } @{$_->{required}}) : 1 } map { @$_ } @_;
}
 
my $compssUsers = [ _filter(values %$h) ];
 
my $gtk_display_compssUsers = sub {
my ($entry) = @_;
 
require ugtk3;
ugtk3->import(qw(:helpers :wrappers :create));
require mygtk3;
mygtk3->import(qw(gtknew));
 
my $entries_in_path = sub {
my ($path) = @_;
my @items = map { $entry->($_) } _filter($h->{$path});
 
# ensure we have an even number of items:
if (@items % 2) {
my @last_items = (pop @items, gtknew('Label'));
# RTL support:
@last_items = reverse @last_items if lang::text_direction_rtl();
push @items, @last_items;
}
 
gtknew('Expander', use_markup => 1, text => mygtk3::title1_to_markup(translate($path)), child =>
gtknew('Table', children => [ group_by2(@items) ], homogeneous => 1)),
Gtk3::HSeparator->new;
};
 
gtkpack__(Gtk3::VBox->new,
$entries_in_path->('Workstation'),
$entries_in_path->('Server'),
$entries_in_path->('Graphical Environment'),
$server ? (
$entries_in_path->('Development'),
$entries_in_path->('Utilities'),
) : (
),
);
};
 
$compssUsers, $gtk_display_compssUsers;
Property changes:
Added: svn:executable
+*
\ No newline at end of property