#!/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 #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_($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', ), ], 'default_packages' => [ 'draklive-resize', 'draklive-install', 'chrpath', 'task-e17', #'openoffice.org', 'openoffice.org-gnome', (map { "openoffice.org-l10n-$_" } split(':', $ENV{DRAKLIVE_LANGS})), 'frozen-bubble', 'gimp', 'wormux', 'ntfs-3g', 'nfs-utils-clients', 'samba-client', 'FlashPlayer', 'java-1.6.0-sun', 'mplayerplugin', 'gthumb', 'aumix', 'xine-ui', 'win32-codecs', 'brasero', 'xchat', 'pidgin', 'mozilla-firefox', 'gimp', 'task-printing-scanning', 'rhythmbox', 'xterm', 'gnome-terminal', 'mozilla-firefox-fr', 'mplayer', 'gdm', 'mandriva-gfxboot-theme', 'task-x11', 'drakconf', 'harddrake', 'udev', 'busybox', 'cups', 'drakx-installer-binaries-probe', 'drakx-finish-install', 'icewm', ], '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; };