rendered paste body#!/usr/bin/perl -cw
#
# You should check the syntax of this file before using it in an auto-install.
# You can do this with 'perl -cw auto_inst.cfg.pl' or by executing this file
# (note the '#!/usr/bin/perl -cw' on the first line).
my $mandriva_theme =
$ENV{DRAKLIVE_PRODUCT} =~ /flash/i ?
'Flash' :
'One';
my $mandriva_config =
$ENV{DRAKLIVE_PRODUCT} =~ /flash/i ?
'powerpack' :
'one';
my @desktops = split(/\|/, $ENV{DRAKLIVE_DESKTOP});
my $has_kde = any { /^KDE/ } @desktops;
$o = {
'media' => [
{
type => 'media_cfg',
url => 'drakx://media',
selected_names => join(',',
'Main', 'Main Updates',
'Contrib', 'Contrib Updates',
'Non-free', 'Non-free Updates',
'Restricted',
if_(member('xfce4', @desktops), 'Main Backports', 'Contrib Backports'),
),
},
if_($ENV{DRAKLIVE_ARCH} eq 'x86_64' && $ENV{DRAKLIVE_ADDITIONAL_REPOSITORY},
{ type => 'media', url => $ENV{DRAKLIVE_ADDITIONAL_REPOSITORY} . '/i586/media/main/release' },
{ type => 'media', url => $ENV{DRAKLIVE_ADDITIONAL_REPOSITORY} . '/i586/media/main/updates' },
),
],
'rpmsrate_flags_chosen' => {
LIVE => 1,
(map { ("CAT_$_" => 1) } (
# office
if_(!member('KDE4', @desktops),
qw(OFFICE SPELLCHECK PIM ARCHIVING PRINTER),
),
# multimedia
qw(AUDIO VIDEO GRAPHICS),
# internet
qw(NETWORKING_WWW NETWORKING_MAIL NETWORKING_NEWS COMMUNICATIONS NETWORKING_CHAT),
qw(NETWORKING_FILE_TRANSFER NETWORKING_IRC NETWORKING_INSTANT_MESSAGING NETWORKING_DNS),
# network
qw(NETWORKING_REMOTE_ACCESS NETWORKING_FILE),
# config
qw(CONFIG),
# console
qw(EDITORS TERMINALS TEXT_TOOLS SHELLS FILE_TOOLS),
# system
qw(SYSTEM MINIMAL_DOCS X ACCESSIBILITY THEMES),
if_(member('KDE', @desktops), qw(KDE)),
if_(member('GNOME', @desktops), qw(GNOME)),
if_(member('XFCE', @desktops), qw(XFCE)),
if_($ENV{DRAKLIVE_PRODUCT} =~ /gaming/i, qw(GAMES)),
)),
},
# so that rpmsrate flags are really used
'compssListLevel' => 5, # default from install_steps_interactive
'skipped_packages' => [
#- do not allow source dkms to be installed
'dkms', 'gcc',
"/^mandriva-theme(?!-common|-$mandriva_theme(?:|-screensaver)-)/",
"/^mandriva-release(?!-common|-$mandriva_theme)-/",
if_($ENV{DRAKLIVE_ARCH} ne 'x86_64',
#- TYPE"64bit" packages are selected by default for live
#- skip x86_64 ones if not relevant
'nspluginwrapper',
),
if_($ENV{DRAKLIVE_ARCH} eq 'x86_64',
#- !TYPE"64bit" packages are selected by default for live
#- skip i586 ones if not relevant
'libqca1-tls',
),
if_($ENV{DRAKLIVE_PRODUCT} !~ /gaming/i, #- non-DVD products
#- from task-kde Suggests
#- skipping them prevents task-kde from being installed,
#- but its dependencies seems to be pulled correctly
'kdeaddons',
'kdenlive',
'kdepim-kpilot',
'kerry',
'kde-i18n-en_GB',
if_($ENV{DRAKLIVE_LANGS} !~ /\bpt\b/ && $ENV{DRAKLIVE_REGION} ne 'all',
#- do not install pt translations if only pt_BR is explicitely selected
'kde-i18n-pt',
'mozilla-firefox-pt',
),
if_($ENV{DRAKLIVE_PRODUCT} ne 'Flash', 'task-printing-scanning'),
'qtradio', 'kradio',
if_($has_kde, 'gnome-media'),
'poppler-data',
'fglrx-control-center', 'fglrx-hd2000-control-center',
),
if_($ENV{DRAKLIVE_PRODUCT} !~ /gaming/i,
#- from task-kde Suggests
'kdegames',
'kdetoys',
),
if_(!$ENV{DRAKLIVE_COMMERCIAL},
'skype',
),
if_(!$has_kde, 'kdebluetooth'), #- provides bluez-pin
'inkscape',
'/gimp-help/',
'kdebase-kate', 'kdeaddons-kate', #- development tool
'/noatun/', #- prefer amarok
],
'default_packages' => [
if_($has_kde, "$mandriva_config-kde-config"),
#- live resize/install/copy tools
$ENV{DRAKLIVE_MEDIA} eq 'usb' ?
'draklive-resize' :
'draklive-install',
'chrpath',
if_($ENV{DRAKLIVE_PRODUCT} =~ /gaming/i, 'task-games'),
if_(member('KDE4', @desktops),
'kdebase4',
'kdebase-kdm', #- use kdm3
'kdebase-common', #- should be required by kdm3
'binutils', #- for strip
'xset', 'xprop', #- used by startkde, should be required by kdebase4-workspace
),
if_(member('xfce4', @desktops),
'task-xfce', 'task-xfce-plugins', 'gdm',
'openoffice.org', 'openoffice.org-gnome', (map { "openoffice.org-l10n-$_" } split(':', $ENV{DRAKLIVE_LANGS})),
# 'bzflag', 'frozen-bubble', 'geany', 'wormux',
'gimp',
),
#- should be in rpmsrate
'compiz-decorator-gtk',
'ntfs-3g',
'nfs-utils-clients',
if_($ENV{DRAKLIVE_REGION} =~ 'asia', 'scim-bridge', 'scim-bridge-qt3'),
if_($ENV{DRAKLIVE_REGION} eq 'asia-bluedj', 'scim-bridge-qt4', 'bluedj'),
if_($ENV{DRAKLIVE_PRODUCT} =~ /flash/i,
'samba-client',
'RealPlayer', 'RealPlayer-rpnp',
'FlashPlayer',
'java-1.6.0-sun',
),
if_($ENV{DRAKLIVE_PRODUCT} eq 'Flash',
'klamav',
'nut-server',
'mozilla-thunderbird',
if_($ENV{DRAKLIVE_REGION} eq 'all', map { "mozilla-thunderbird-$_" } qw(ca cs de el es es_AR eu fi fr gu_IN he hu it ja ko nb nl pa_IN pl pt_BR ru sk sl sv tr zh_CN)),
),
],
'meta_class' => 'desktop',
'desktop' => first(@desktops),
if_($ENV{DRAKLIVE_MEDIA} ne 'usb', 'autologin' => $ENV{DRAKLIVE_DEFAULT_USER}),
# explicitely specify the security level, so that environment of the build machine doesn't take precedence
'security' => 3,
'useSupermount' => 'magicdev',
'users' => [
if_($ENV{DRAKLIVE_MEDIA} ne 'usb', {
'icon' => 'default',
'realname' => '',
'uid' => '',
'groups' => [],
'name' => $ENV{DRAKLIVE_DEFAULT_USER},
'shell' => '/bin/bash',
'gid' => ''
}),
],
'locale' => {
'country' => 'US',
'IM' => undef,
'lang' => 'en_US',
'langs' => +{
$ENV{DRAKLIVE_REGION} eq 'all' ? (all => 1) : (map { $_ => 1 } split(':', $ENV{DRAKLIVE_LANGS}))
},
'utf8' => 1
},
'authentication' => {
'shadow' => 1,
'local' => 1,
'md5' => 1
},
'superuser' => {
'pw' => '',
'realname' => 'root',
'uid' => '0',
'shell' => '/bin/bash',
'home' => '/root',
'gid' => '0'
},
'keyboard' => {
'GRP_TOGGLE' => '',
'KBCHARSET' => 'C',
'KEYBOARD' => 'us',
'KEYTABLE' => 'us'
},
'timezone' => {
'ntp' => undef,
'timezone' => 'America/New_York',
'UTC' => 1
},
'X' => { disabled => 1 }, #- disable auto-configuration that may install unwanted packages
'match_all_hardware' => 1,
'excludedocs' => 0,
'postInstall' => join(";",
#- remove useless ISDN network configuration file,
#- it should be present if configured only
"rm -f /etc/sysconfig/network-scripts/ifcfg-ippp0",
"perl -pi -e 's/^id:3:initdefault:/id:5:initdefault:/' '/etc/inittab'",
if_(member('xfce4', @desktops), "rm -f /etc/sysconfig/autologin"),
if_(member('KDE4', @desktops),
"rm -f /etc/fonts/conf.d/02-mdk-disable-antialias.conf",
'find /opt/kde4/lib/ -type f -exec strip {} \;',
#- prevent kde4 lnusertemp failures
"mkdir -p /home/$ENV{DRAKLIVE_DEFAULT_USER}/tmp/$ENV{DRAKLIVE_DEFAULT_USER}-kde4",
"chown $ENV{DRAKLIVE_DEFAULT_USER}:$ENV{DRAKLIVE_DEFAULT_USER} /home/$ENV{DRAKLIVE_DEFAULT_USER}/tmp/$ENV{DRAKLIVE_DEFAULT_USER}-kde4/",
),
if_($mandriva_theme eq 'Flash',
#- set blue gtk theme for Flash in Gnome
"/usr/bin/gconftool-2 --config-source=xml::/etc/gconf/gconf.xml.local-defaults/ --direct --type=string --set /apps/metacity/general/theme 'Ia Ora Blue'",
"/usr/bin/gconftool-2 --config-source=xml::/etc/gconf/gconf.xml.local-defaults/ --direct --type=string --set /desktop/gnome/interface/gtk_theme 'Ia Ora Blue'",
#- set blue gtk theme for Flash in GTK
"perl -pi -e 's/META_CLASS=.*/META_CLASS=powerpack/' /etc/sysconfig/system",
"echo MDV_MENU_STYLE=discovery > /etc/sysconfig/menustyle",
if_(!$ENV{DRAKLIVE_COMMERCIAL},
"mkdir -p /usr/share/mdk/desktop/flash",
"cp -a /usr/share/mdk/desktop/one/subscribe.desktop /usr/share/mdk/desktop/flash",
),
),
),
'autoExitInstall' => 1,
'keep_unrequested_dependencies' => 0,
};
my $old = \&install::pkgs::empty_packages;
undef *install::pkgs::empty_packages;
*install::pkgs::empty_packages = sub {
my $packages = &$old;
$packages->{debug_URPM} = sub { log::l("XXX: $_[0]") };
$packages;
};