summaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
Diffstat (limited to 'config')
-rw-r--r--config/auto_inst.cfg.pl274
-rw-r--r--config/live.cfg268
-rw-r--r--config/settings-livecd.cfg13
-rw-r--r--config/settings-liveusb-rw-GUADEC.cfg12
-rw-r--r--config/settings-liveusb-rw.cfg13
l---------config/settings.cfg1
6 files changed, 581 insertions, 0 deletions
diff --git a/config/auto_inst.cfg.pl b/config/auto_inst.cfg.pl
new file mode 100644
index 0000000..8ef41f8
--- /dev/null
+++ b/config/auto_inst.cfg.pl
@@ -0,0 +1,274 @@
+#!/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 $distro_theme =
+ $ENV{DRAKLIVE_PRODUCT} =~ /liveusb-rw/i ?
+ 'Powerpack' :
+ 'LiveCD';
+my $distro_release =
+ $ENV{DRAKLIVE_PRODUCT} =~ /liveusb-rw/i ?
+ 'Liveusb-Rw' :
+ 'LiveCD';
+my $distro_config = lc($distro_release);
+
+my @desktops = split(/\|/, $ENV{DRAKLIVE_DESKTOP});
+my $has_kde = any { /^KDE/ } @desktops;
+my $has_kde4 = member('KDE4', @desktops);
+my $has_gnome = member('GNOME', @desktops);
+my $has_xfce = member('xfce4', @desktops);
+my $has_lxde = member('LXDE', @desktops);
+my $has_moblin = member('Moblin', @desktops);
+
+$o = {
+ 'media' => [
+ {
+ type => 'media_cfg',
+ url => 'drakx://media',
+ selected_names => join(',',
+ 'Main', 'Main Updates',
+ 'Contrib', 'Contrib Updates',
+ 'Non-free', 'Non-free Updates',
+ 'Restricted', 'Restricted Updates',
+ ),
+ },
+ if_($ENV{DRAKLIVE_ADDITIONAL_REPOSITORY},
+ { type => 'media', url => $ENV{DRAKLIVE_ADDITIONAL_REPOSITORY} },
+ ),
+ ],
+ '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),
+ qw(NETWORKING_REMOTE_ACCESS_SERVER),
+ # config
+ qw(CONFIG),
+ # console
+ qw(EDITORS TERMINALS TEXT_TOOLS SHELLS FILE_TOOLS),
+ # system
+ qw(SYSTEM MINIMAL_DOCS X ACCESSIBILITY THEMES),
+ if_($has_kde4, qw(KDE)),
+ if_($has_gnome, qw(GNOME)),
+ if_($has_xfce, qw(XFCE)),
+ if_($has_lxde, qw(LXDE)),
+ 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',
+ 'aspell',
+ 'aspell-en',
+ 'gstreamer0.10-plugins-ffmpeg',
+ 'gstreamer0.10-plugins-ugly',
+
+ if_($ENV{DRAKLIVE_PRODUCT} !~ /guadec/i, 'gcc'),
+ "/^mageia-theme(?!-common|-$distro_theme(?:|-screensaver)-)/",
+ "/^mageia-release(?!-common|-$distro_release)-/",
+ 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',
+ 'konversation',
+ 'kerry',
+ 'kde-i18n-en_GB', 'openoffice.org-l10n-en_GB', 'mozilla-firefox-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', 'kde4-l10n-pt',
+ 'mozilla-firefox-pt',
+ ),
+ if_($ENV{DRAKLIVE_PRODUCT} !~ /liveusb-rw/i, 'task-printing-scanning'),
+ 'qtradio', 'kradio',
+ if_(!$has_gnome && !$has_xfce, 'gnome-media'),
+ 'system-config-printer',
+ #if_(!$has_gnome, 'system-config-printer'),
+ 'poppler-data', 'tetex',
+ 'fglrx-control-center',
+ '/^gimp-help/',
+ '/^openoffice.org-help/',
+ 'openoffice.org-base',
+ if_(!$has_gnome, 'yelp'),
+ '/^nvidia.*-doc-html/',
+ if_($has_kde4, 'k3b', 'totem', 'liblm_sensors3', 'xpdf-common', 'nepomuk-scribo', 'htdig', 'mirrordir', 'acr38u'),
+ ($ENV{DRAKLIVE_PRODUCT} =~ /liveusb-rw/i
+ ? ('/openjdk/', 'java-1.5.0-gcj')
+ : '/java/'),
+ 'asihpi-firmware', 'hdsploader', 'mixartloader', 'pcxhrloader', 'usx2yloader', 'vxloader',
+ 'drakfax', 'efax',
+ ),
+ if_($ENV{DRAKLIVE_PRODUCT} !~ /gaming/i,
+ #- from task-kde Suggests
+ 'kdegames', 'kdegames4',
+ 'kdetoys',
+ ),
+ if_(!$ENV{DRAKLIVE_COMMERCIAL},
+ 'skype',
+ ),
+
+ #- bluez-pin provide
+ if_(!$has_kde4, 'kbluetooth'),
+
+ if_(!$has_kde4, 'compiz-decorator-kde4'), #- provides compiz-decorator
+ if_(!$has_kde4, 'pinentry-qt4'), #- qt4 app
+ 'kdebase-kate', 'kdeaddons-kate', #- development tool
+ '/noatun/', #- prefer amarok
+ #- FIXME: this broken package should be removed from non-free
+ 'a320raid',
+ 'rxvt',
+
+ if_($ENV{DRAKLIVE_PRODUCT} =~ /guadec/i, 'rfbdrake'),
+
+ if_($has_kde4, 'gdb'), #- suggested by one of the kde4 base package
+
+ #exclude some packages that are too big from the KDE4 Live CD
+ if_($ENV{DRAKLIVE_PRODUCT} !~ /liveusb-rw/i,
+ if_($has_kde4, 'digikam'),
+ if_($has_kde4, 'ufraw-gimp'),
+ if_($has_kde4, 'marble-common'),
+ if_($has_kde4, 'p7zip'),
+ if_($has_kde4, 'mozilla-thunderbird'), #- we have kmail
+ if_($has_gnome, 'mozilla-thunderbird', 'pan'), #- we have evolution
+ #'aspell-ro', # lack of space :( arbitrary choice
+ # since it's the biggest dict we have
+ 'cpqarrayd',
+ ),
+
+ if_($has_gnome, 'beagle'),
+ if_($has_moblin, 'task-3ddesktop-gtk'),
+ '/^kernel-server-/', if_($ENV{DRAKLIVE_ARCH} ne 'x86_64', '/^kernel-deskop-/'),
+ ],
+ 'default_packages' => [
+ if_($has_kde4, "$distro_config-kde4-config"),
+ if_($has_lxde, "mageia-lxde-config-$distro_release"),
+ if_($has_xfce, "mageia-xfce-config-$distro_release"),
+
+ if_($has_moblin, 'task-moblin'),
+
+ #- broken updates
+ if_($has_kde4, 'kde4-splash-mdv'),
+
+ #- live resize/install/copy tools
+ if_($ENV{DRAKLIVE_MEDIA} eq 'usb', 'draklive-resize'),
+
+ if_($ENV{DRAKLIVE_PRODUCT} =~ /gaming/i, 'task-games'),
+
+ #- should be in x11-driver-video (#42909)
+ 'x11-driver-video-via',
+ 'x11-driver-video-psb',
+
+ if_($has_gnome, 'gnome-shell'),
+
+ if_($ENV{DRAKLIVE_PRODUCT} =~ /liveusb-rw/i,
+ 'samba-client',
+ 'RealPlayer', 'RealPlayer-rpnp',
+ 'java-1.6.0-sun',
+ 'mozilla-firefox-ext-google-toolbar',
+ 'filezilla', #- FIXME: bump to level 5 in rpmsrate?
+ '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)),
+ if_($ENV{DRAKLIVE_PRODUCT} =~ /guadec/i,
+ 'fonts-ttf-gurmukhi',
+ 'cheese',
+ 'anjuta',
+ ),
+ ),
+ ],
+ 'preferred_packages' => join(',', $has_kde4 ? 'kdm' : 'gdm'),
+ 'meta_class' => 'desktop',
+ 'desktop' => first(@desktops),
+ if_($ENV{DRAKLIVE_DEFAULT_USER}, 'autologin' => $ENV{DRAKLIVE_DEFAULT_USER}),
+ # explicitely specify the security level, so that environment of the build machine doesn't take precedence
+ 'security' => 1,
+ 'useSupermount' => 'magicdev',
+ 'users' => [
+ if_($ENV{DRAKLIVE_DEFAULT_USER}, {
+ '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(";",
+ "perl -pi -e 's/^id:3:initdefault:/id:5:initdefault:/' '/etc/inittab'",
+ #- FIXME: in any::set_autologin, unlink if gdm/kdm conf file and binary exist
+ if_($has_xfce || $has_lxde, "rm -f /etc/sysconfig/autologin"),
+ if_($distro_theme eq 'Liveusb-Rw',
+ #- set blue gtk theme for Liveusb-Rw 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 Liveusb-Rw in GTK
+ "perl -pi -e 's/META_CLASS=.*/META_CLASS=powerpack/' /etc/sysconfig/system",
+ "echo MDV_MENU_STYLE=discovery > /etc/sysconfig/menustyle",
+ ),
+ ),
+ '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;
+};
diff --git a/config/live.cfg b/config/live.cfg
new file mode 100644
index 0000000..af2e83e
--- /dev/null
+++ b/config/live.cfg
@@ -0,0 +1,268 @@
+#!/usr/bin/perl -cw
+
+my $ooo_version = '3.0';
+my $use_modules = to_bool($live->{settings}{pack});
+my @user_config_dirs = ('/etc/skel', if_($live->{settings}{default_user}, '/home/' . $live->{settings}{default_user}));
+
+sub build_one_label {
+ my ($live) = @_;
+
+ my ($version, $extra) = split(/-/, $live->{settings}{version});
+ $version .= "S" if ($extra eq 'spring');
+ "LABEL=" . join ("-", ucfirst($live->{settings}{product}), $version, $live->{settings}{desktop});
+}
+
+my $_l = {
+ workdir => $live->{settings}{workdir},
+ system => {
+ root => $live->{settings}{chroot},
+ repository => $live->{settings}{repository},
+ auto_install => 'config/auto_inst.cfg.pl',
+ install_env => {
+ DRAKLIVE_DESKTOP => $live->{settings}{desktop},
+ DRAKLIVE_MEDIA => $live->{settings}{media},
+ DRAKLIVE_PRODUCT => $live->{settings}{product},
+ DRAKLIVE_ARCH => $live->{settings}{arch},
+ DRAKLIVE_ADDITIONAL_REPOSITORY => $live->{settings}{additional_repository},
+ DRAKLIVE_COMMERCIAL => $live->{settings}{commercial},
+ DRAKLIVE_DEFAULT_USER => $live->{settings}{default_user},
+ },
+ hide_media_dirs => to_bool($live->{settings}{product} =~ /liveusb-rw/i),
+ if_($live->{settings}{default_user}, preselect_kdm_user => $live->{settings}{default_user}),
+ langs_always => [ 'en_US' ],
+ files => [
+ if_($live->{settings}{product} =~ /liveusb-rw/i && $live->{settings}{commercial},
+ [ 'files/xdg-email-hook.sh', '/usr/bin/xdg-email-hook.sh', { mode => 0755, no_install => 1 } ],
+ [ 'files/portable-directories-liveusb-rw', '/etc/X11/xinit.d/portable-directories-liveusb-rw', { mode => 0755, no_install => 1 } ],
+ ),
+ if_($live->{settings}{media} eq 'usb',
+ [ 'files/99-live-disable-suspend-hibernate.fdi', '/etc/hal/fdi/policy/99-live-disable-suspend-hibernate.fdi', { mode => 0644, no_install => 1 } ],
+ [ 'files/desktop-directories-liveusb-rw', '/etc/X11/xinit.d/xx_desktop-directories-liveusb-rw', { mode => 0755, no_install => 1 } ],
+ [ 'files/draklive-install.usb', '/etc/sysconfig/draklive-install', { mode => 0755 } ],
+ [ 'files/draksnapshot.sysconfig', '/etc/skel/.draksnapshot', { mode => 0644, no_install => 1 } ],
+ ),
+ #- make cups the default spooler
+ [ 'files/defaultspooler', '/etc/foomatic/defaultspooler', { mode => 0644 } ],
+ if_($live->{settings}{media} eq 'cdrom',
+ #- eject eject cd medium before halt/reboot
+ [ 'files/halt.local.cdrom', '/sbin/halt.local', { mode => 0755 } ],
+ #- do not load usblp and trigger autosetupprintqueues in live since cups is not available
+ [ 'files/live.modprobe.cdrom', '/etc/modprobe.d/live', { mode => 0644, no_install => 1 } ],
+ ),
+ if_($live->{settings}{media} ne 'usb', #- FIXME
+ #- umount tmp rpm hack before /etc/init.d/halt tries and fails
+ [ 'files/halt.pre', '/sbin/halt.pre', { mode => 0755 } ],
+ ),
+ #- disable first boot wizard at live boot
+ [ 'files/firstboot', '/etc/sysconfig/firstboot', { mode => 0644 } ],
+ #- enable drakx-finish-install at live boot
+ [ "files/finish-install.$live->{settings}{media}", '/etc/sysconfig/finish-install', { mode => 0644 } ],
+ #- disable speedboot for first boot after disk installation
+ [ 'files/draklive-install.d/remove.d/disable-speedboot', '/etc/draklive-install.d/remove.d/disable-speedboot', { mode => 0644 } ],
+ if_($live->{settings}{desktop} eq 'KDE4',
+ [ 'files/draklive-install.d/run.d/generate-gtk-icon-cache.sh', '/etc/draklive-install.d/run.d/generate-gtk-icon-cache.sh', { mode => 755 } ]),
+ #- sysconfig files for first boot
+ [ $live->{settings}{media} eq 'usb' ?
+ "files/finish-install.$live->{settings}{media}" :
+ 'files/draklive-install.d/finish-install',
+ '/etc/draklive-install.d/sysconfig/finish-install', { mode => 0644 } ],
+ [ 'files/draklive-install.d/firstboot', '/etc/draklive-install.d/sysconfig/firstboot', { mode => 0644 } ],
+ [ 'files/draklive-install.d/services', '/etc/draklive-install.d/services', { mode => 0644 } ],
+ if_($live->{settings}{media} eq 'usb',
+ [ 'files/draklive-install.d/draklive-resize', '/etc/draklive-install.d/sysconfig/draklive-resize', { mode => 0644 } ],
+ ),
+ #- don't make kbluetoothrc display an annoying and useless popup window, and disable it by default
+ [ 'files/kbluetoothrc', '/etc/kde/kbluetoothrc', { mode => 0644 } ],
+ [ 'files/korgacrc', '/etc/kde/korgacrc', { mode => 0644 } ],
+ (map { [ 'files/mdkonlinerc', $_ . '/.MdkOnline/mdkonline', { mode => 0644 } ] } @user_config_dirs),
+ [ 'files/compute-ooo-dicts.pl', '/usr/sbin/compute-ooo-dicts.pl', { mode => 0755 } ],
+ [ 'files/compute-i18n-list.pl', '/usr/sbin/compute-i18n-list.pl', { mode => 0755 } ],
+ if_($live->{settings}{desktop} eq 'GNOME',
+ [ 'files/99dm-reload.xsetup', '/etc/X11/xsetup.d/', { mode => 0755 } ]),
+ if_($live->{settings}{product} =~ /guadec/i,
+ [ 'files/GUADEC-booklet.desktop', '/usr/share/nautilus/default-desktop/booklet.desktop' ],
+ ),
+ ],
+ remove_files => [
+ (map { "/etc/modprobe.preload.d/$_" } qw(cpufreq pcmcia rfswitch)),
+ "/etc/udev/rules.d/70-persistent-*.rules",
+ "/var/lib/dbus/machine-id",
+ "/etc/ssh/ssh_host_*",
+ ],
+ module_options => {
+ loop => "max_loop=64",
+ },
+ exclude_modules => [],
+ additional_modules => [
+ #'modules/i586/unionfs.ko',
+ ],
+ stage2_updates => [
+ # [ "files/pkgs.pm", "/usr/lib/libDrakX/install/pkgs.pm" ],
+ ],
+ patches => [
+ #- following patches have to be merged in cooker
+ 'patches/finish-install-xsetup-gdm-lock.patch'
+ ],
+ erase_rpms => [
+ ],
+ rpms => [
+ ],
+ disable_services => [
+ qw(bluetooth cpufreq cpufreqd laptop-mode pcmcia mdadm pcscd),
+ qw(cups hplip oki4daemon), # printing
+ qw(capi4linux ibod isdn4linux isdnlog bpalogin),
+ qw(cpqarrayd upsd upsmon), # uncommon hardware
+ qw(lisa ntpd snmpd), # unneeded software
+ #qw(acpi acpid apmd), # enabled by drakboot when needed
+ qw(dkms), # slows down live boot, reenabled after install
+ qw(anacron crond), # slows down basic usage and install, reenabled after install
+ qw(sshd),
+ qw(hcfpci hsf slmodemd),
+ qw(portmap nfs-common),
+ qw(kav4ws freshclam clamd),
+ if_($live->{settings}{media} eq 'cdrom', preload),
+ ],
+ vga_mode => 788,
+ gfxboot => $live->{settings}{media} ne 'usb', #- disable gfxboot on USB, buggy with grub on some systems
+ if_($live->{settings}{media} eq 'usb',
+ initrd_pre_pivot =>
+ #- keep an unmodified live tree for draklive-install
+ #- hack: mount it rw with a dummy branch and remount it ro later, current unionfs fails to mount ro directly
+ #- hack: the union can not be "stacked" (i.e. mounted) over another union, so do it early in initrd, and use a tmpfs for the dummy branch, so it can be moved in the real root
+ join("\n", map { "sh -c '$_'" }
+ 'mkdir -p /live/source /live/dummy',
+ 'mount -o mode=755,rw -t tmpfs none /live/dummy',
+ 'mount -o dirs=/live/dummy=rw' . if_($use_modules, ':$(cat /live/modules.lst)') . ':/live/distrib=ro -t unionfs unionfs /live/source',
+ ),
+ ),
+ initrd_post =>
+ join("\n",
+ if_($live->{settings}{media} eq 'usb', do {
+ my $tmp = "/live/tmp";
+ my @sticky = qw(/var/tmp /tmp);
+ (
+ "sh -c 'mkdir -p $tmp'",
+ "mount -t tmpfs none $tmp",
+ "mkdir $tmp/var",
+ (map {
+ ("mkdir $tmp$_", "mount -o dirs=$tmp$_=rw:/live/distrib$_=ro -t unionfs unionfs $_")
+ } (qw(/var/log), @sticky)),
+ "chmod 1777 @sticky",
+ );
+ }),
+ ),
+ postInstall => join(';',
+ if_($live->{settings}{default_user}, "echo $live->{settings}{default_user} > /etc/draklive-install.d/user"),
+ "perl -pi -e 's,<DEFAULT_USER>,$live->{settings}{default_user},' /etc/draklive-install.d/sysconfig/finish-install",
+ 'find /usr/share/doc/HTML -mindepth 1 -maxdepth 1 -type d > /root/drakx/HTML.skipped',
+ #- used by liveusb-rw
+ "/usr/sbin/compute-i18n-list.pl --ooo=${ooo_version}",
+ if_($live->{settings}{product} =~ /liveusb-rw/i && $live->{settings}{desktop} =~ /^KDE/,
+ #- FIXME: check if still valid for KDE4
+ "perl -pi -e 's,kde[/-]KMail,mageia-mozilla-thunderbird,' /var/lib/mageia/kde-profiles/common/share/config/kickerrc"
+ ),
+ #- fix user perms for copied files
+ if_($live->{settings}{default_user}, "chown -R " .
+ "$live->{settings}{default_user}.$live->{settings}{default_user}" .
+ " /home/$live->{settings}{default_user}"),
+ #- rpath removal will be "lost" on update
+ #- but not important since all packages files would be on the same loopback
+ #- should not be needed with latest unionfs which resolves /proc/self/exe correctly
+ #- FIXME: test with live USB r/w
+ #"chrpath -d /usr/lib/ooo-${ooo_version}/program/soffice.bin",
+ #- workaround rpm bug that leaves a corrupted rpm DB in chroot
+ "rm -f /var/lib/rpm/__db.*",
+ "rm -f /.readahead_collect",
+ if_($live->{settings}{desktop} eq 'KDE4',
+ "rm -f /usr/share/icons/*/icon-theme.cache"),
+ if_($live->{settings}{desktop} eq 'GNOME',
+ 'mkdir -p "/home/$live->{settings}{default_user}/.config/autostart/"; for file in "/etc/xdg/autostart/tracker*.desktop"; do sed "s/X-GNOME-Autostart-enabled=true/X-GNOME-Autostart-enabled=false/g" $file >"/home/$live->{settings}{default_user}/.config/autostart/$(basename $file)"; done'),
+
+
+ ),
+ additional_media => [
+ if_($live->{settings}{updates_repository},
+ {
+ name => 'main_testing',
+ path => $live->{settings}{updates_repository} . '/' . $live->{settings}{arch} . '/media/main/testing',
+ packages => [
+ ],
+ },
+ ),
+ ],
+ },
+ loopbacks => {
+ exclude => {
+ type => 'squashfs',
+ files => [
+ { path => '/root/drakx' },
+ { source => '/root/drakx/HTML.skipped', rooted => 1 },
+ (map { +{ path => "/usr/share/doc/$_" } } qw(net-snmp tvtime aria2 perl-SOAP-Lite nss)),
+ ],
+ },
+ if_($use_modules, modules => [
+ { type => 'squashfs', source => '/root/drakx/i18n-*.lst', rooted => 1 },
+ ]),
+ },
+ regions => {
+ #- the "all" region has a magical behavior and selects all langs
+ int => [qw(de en es fr it pl pt_BR ru)],
+ guadec => [qw(de en es fr it nb nn nl pl pt_BR ro ru tr)],
+ 'europe-americas' => [qw(bg cs da de el en es et fi fr hr hu it ky lt lv nb nl nn no pl pt pt_BR ro ru sv tr uk uz)],
+ #'africa-asia' => [qw(de en es fr it nb nn nl pl pt_BR ro ru tr ar he hi id ko ms zu ja zh_CN zh_TW)],
+ 'africa-asia' => [qw(aa af am ar as ber bn ha he hi id ig ja kn ko ks ml mr or pa sd ta th tn ts ve vi xh yo zh_CN zh_TW zu)],
+ 'europe1-americas' => [qw(de el en es fr it nl pt pt_BR tr)],
+ europe2 => [qw(bg cs da en et fi hr hu lt lv nb no nn pl ro ru sv uk uz)],
+ 'africa-india' => [qw(zu aa af am ar as ber bn ha he hi ig kn ks ml mr or pa sd ta tn ts ve xh yo)],
+ 'asia-noindia' => [qw(id ja ko th vi zh_CN zh_TW)],
+ },
+ packs => {
+ int => [ map { "i18n-$_" } qw(de en es fi fr it nl pt sv) ],
+ da => [ map { "i18n-$_" } qw(da en) ],
+ },
+ if_($live->{settings}{media} eq 'cdrom',
+ media => {
+ storage => 'cdrom',
+ boot_entries => [ "" => "", "linux" => " install", "harddisk" => "" ],
+ if_($live->{settings}{product} =~ /livecd/i,
+ source => build_one_label($live),
+ pre => [ 'for i in seq 1 5; do showlabels --removable | grep '.build_one_label($live).'; if [ $? -eq 0 ]; then break; fi; sleep 1; done' ],
+ extra_modules => [ qw(vfat sd_mod usb_storage uhci_hcd ohci_hcd ehci_hcd) ],
+ files => [
+ [ 'extra/livecd/autorun/*', ''],
+ map { [ 'extra/livecd/' . $_, $_ ] } qw(LISEZMOI.pdf README.pdf)
+ ],
+ ),
+ },
+ #extra_media => [ { storage => 'usb' } ],
+ mount => MDV::Draklive::Mounts::volatile_squash_union($use_modules),
+ ),
+ if_($live->{settings}{media} eq 'usb',
+ media => {
+ storage => 'usb',
+ bootloader_timeout => 1,
+ mount_options => 'dmask=0000,fmask=0111',
+ extra_boot => [ qw(cdrom) ],
+ if_($live->{settings}{product} =~ /liveusb-rw/i,
+ source => "LABEL=Mga_USB",
+ title => "Mageia Live USB",
+ boot_entries => [ "" => "" ],
+ files => [
+ [ 'extra/liveusb-rw-common/*', '' ],
+ ($live->{settings}{commercial} ?
+ [ 'extra/liveusb-rw-commercial/*', '' ] :
+ [ 'extra/liveusb-rw/*', '' ]
+ ),
+ ],
+ partitions => [
+ {
+ size => common::MB(8000),
+ mntpoint => '/',
+ },
+ ],
+ remove_files => [ '.svn', '*~' ],
+ ),
+ },
+ mount => MDV::Draklive::Mounts::squash_union('1000M', '150M', $use_modules),
+ ),
+};
diff --git a/config/settings-livecd.cfg b/config/settings-livecd.cfg
new file mode 100644
index 0000000..2c24a64
--- /dev/null
+++ b/config/settings-livecd.cfg
@@ -0,0 +1,13 @@
+repository=/mnt/BIG/dis/official/2010.1
+updates_repository=http://distro/dis/official/2010.1
+additional_repository=
+arch=i586
+desktop=KDE4
+media=cdrom
+region=int
+pack=
+name=mageia
+product=livecd
+version=1
+commercial=0
+default_user=live
diff --git a/config/settings-liveusb-rw-GUADEC.cfg b/config/settings-liveusb-rw-GUADEC.cfg
new file mode 100644
index 0000000..11a38d1
--- /dev/null
+++ b/config/settings-liveusb-rw-GUADEC.cfg
@@ -0,0 +1,12 @@
+repository=/mnt/BIG/dis/official/2008.1
+additional_repository=http://192.168.100.8/dis/official/2008.1
+arch=i586
+desktop=GNOME
+media=usb
+region=guadec
+pack=
+name=mageia
+product=liveusb-guadec
+version=1
+commercial=0
+default_user=guest
diff --git a/config/settings-liveusb-rw.cfg b/config/settings-liveusb-rw.cfg
new file mode 100644
index 0000000..20569d8
--- /dev/null
+++ b/config/settings-liveusb-rw.cfg
@@ -0,0 +1,13 @@
+repository=/mnt/BIG/dis/official/2010.0
+updates_repository=
+additional_repository=
+arch=i586
+desktop=KDE4
+media=usb
+region=all
+pack=int
+name=mageia
+product=liveusb
+version=1
+commercial=1
+default_user=
diff --git a/config/settings.cfg b/config/settings.cfg
new file mode 120000
index 0000000..6342e22
--- /dev/null
+++ b/config/settings.cfg
@@ -0,0 +1 @@
+settings-livecd.cfg \ No newline at end of file