summaryrefslogtreecommitdiffstats
path: root/config/live.cfg
diff options
context:
space:
mode:
Diffstat (limited to 'config/live.cfg')
-rw-r--r--config/live.cfg332
1 files changed, 0 insertions, 332 deletions
diff --git a/config/live.cfg b/config/live.cfg
deleted file mode 100644
index 30cce52..0000000
--- a/config/live.cfg
+++ /dev/null
@@ -1,332 +0,0 @@
-#!/usr/bin/perl -cw
-
-use MDK::Common;
-
-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("-", "Mageia", $version, $live->{settings}{desktop}, $live->{settings}{product});
-}
-
-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}{desktop} eq 'GNOME',
- # fix gnome-shell not showing draklive-install icon in menu in live mode
- [ 'files/01_gsettings-desktop-schemas.gschema.override', '/usr/share/glib-2.0/schemas/01_gsettings-desktop-schemas.gschema.override', { mode => 0644, no_install => 1 } ],
- [ 'files/glib2-branding.gschema.override', '/usr/share/glib-2.0/schemas/glib2-branding.gschema.override', { mode => 0644 } ],
- # disable Wayland when we know it won't work (workaround for mga#20079)
- [ 'files/50gdm-disable-wayland.xsetup', '/etc/X11/xsetup.d/50gdm-disable-wayland.xsetup', { mode => 0755 } ],
- ),
- # provide a noxorgconf boot command option to try to fix issues with nouveau driver on some hardware
- [ 'files/10no-xorg-conf.xsetup', '/etc/X11/xsetup.d/10no-xorg-conf.xsetup', { mode => 0755 } ],
-
- # blacklist pata_acpi
- [ 'files/blacklist_ide.conf', '/etc/modprobe.d/blacklist_ide.conf', { mode => 0644 } ],
-
- # clean live files
- [ 'files/live.51-mageia-resume.conf', '/etc/dracut.conf.d/51-mageia-resume.conf', { mode => 0644 } ],
- [ 'files/live.modprobe.conf', '/etc/modprobe.conf', { mode => 0644 } ],
-
- # add local repos
- if_($live->{settings}{arch} eq 'i586',
- [ 'files/mga_rpms/i586/mga_rpms', '/var/local' ],
- ),
- if_($live->{settings}{arch} eq 'x86_64',
- [ 'files/mga_rpms/x86_64/mga_rpms', '/var/local' ],
- ),
-
- # add initial dns resolver for online medias
- [ 'files/resolv.conf', '/etc/resolv.conf', { mode => 0644 } ],
-
- # disable suspend and hibernate in live mode
- [ 'files/50-disable-suspend.pkla', '/etc/polkit-1/localauthority/50-local.d/50-disable-suspend.pkla', { mode => 0644, no_install => 1 } ],
- #- make cups the default spooler
- [ 'files/defaultspooler', '/etc/foomatic/defaultspooler', { mode => 0644 } ],
- if_(member($live->{settings}{media}, 'CD', 'DVD'),
- #- eject eject cd medium before halt/reboot
- [ 'files/halt-local.service', '/etc/systemd/system/halt-local.service', { mode => 0644, no_install => 1 } ],
- [ 'files/halt.local.CD', '/sbin/halt.local', { mode => 0755, no_install => 1 } ],
- #- do not load usblp and trigger autosetupprintqueues in live since cups is not available
- [ 'files/live.modprobe.CD', '/etc/modprobe.d/live.conf', { mode => 0644, no_install => 1 } ],
- # live media specific initrd
- [ 'files/live-dracut.conf', '/etc/dracut.conf.d/60-live.conf', { mode => 0644, no_install => 1 } ],
- ),
- #- 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 } ],
- # fix for sometimes wrong permissions
- [ 'files/draklive-install.d/run.d/home-live-permissions.sh', '/etc/draklive-install.d/run.d/home-live-permissions.sh', { mode => 755 } ],
- # fix for /var/lib/gdm sometimes ending up as root:root
- if_($live->{settings}{desktop} eq 'GNOME',
- [ 'files/draklive-install.d/run.d/gdm-permissions.sh', '/etc/draklive-install.d/run.d/gdm-permissions.sh', { mode => 755 } ]
- ),
- if_($live->{settings}{desktop} eq 'Plasma',
- [ 'files/draklive-install.d/run.d/generate-gtk-icon-cache.sh', '/etc/draklive-install.d/run.d/generate-gtk-icon-cache.sh', { mode => 755 } ],
- [ 'files/draklive-install.d/remove.d/clear-sddm-state', '/etc/draklive-install.d/remove.d/clear-sddm-state', { mode => 0644 } ],
- ),
- #- 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/mgaonlinerc', $_ . '/.MgaOnline/mgaonline', { mode => 0644, no_install => 1 } ] } @user_config_dirs),
- (map { [ 'files/draksnapshot.sysconfig', $_ . '/.draksnapshot', { mode => 0644, no_install => 1 } ] } @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 } ],
- ],
- 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 => [
- ],
- erase_rpms => [
- ],
- rpms => [
- ],
- disable_services => [
- # uncommon hardware
- qw(bpalogin capi4linux cpqarrayd mdadm oki4daemon pcscd),
- # unneeded software
- qw(chronyd ntpd snmpd),
- # slows down basic usage and install, reenabled after install
- qw(crond msec),
- ],
- disable_timers => [
- ],
- 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",
-
- if_($live->{settings}{desktop} eq 'Xfce' && $live->{settings}{default_user},
- # add a desktop icon to run draklive-install
- "mkdir -p /home/$live->{settings}{default_user}/Desktop",
- "cp /usr/share/applications/mageia-draklive-install.desktop /home/$live->{settings}{default_user}/Desktop/draklive-install.desktop",
- ),
-
- #- 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}"
- ),
-
- # remove readahead
- "rm -f /.readahead_collect",
-
- #- adduser seems to create a sparse lastlog with a slot for all available users
- #- which can be huge
- '> /var/log/lastlog',
- if_($live->{settings}{desktop} eq 'Plasma',
- "rm -f /usr/share/icons/*/icon-theme.cache",
- "cp -a /etc/akonadi/mysql-global.conf /etc/akonadi/mysql-global-standard.conf",
- "cp /etc/akonadi/mysql-global-mobile.conf /etc/akonadi/mysql-global.conf",
- "ak=/etc/draklive-install.d/run.d/restore-akonadi-config.sh; echo -e '#!/bin/sh\ncp /etc/akonadi/mysql-global-standard.conf /etc/akonadi/mysql-global.conf' > \$ak; chmod +x \$ak",
- ),
- if_($live->{settings}{desktop} eq 'GNOME',
- # compile schema to get draklive-install in menu
- "glib-compile-schemas /usr/share/glib-2.0/schemas/",
- # fix permissions to enable GDM to rerun if the user logs out
- "chown -R gdm:gdm /var/lib/gdm",
- # switch to NetworkManager
- "systemctl disable network",
- "systemctl disable network-up",
- "systemctl enable NetworkManager.service",
- "systemctl enable NetworkManager-wait-online.service",
- "sed -i 's/NETWORK=yes/NETWORK=no/' /etc/draklive-install.d/sysconfig/finish-install",
- "echo 'AUTOSTART=FALSE' > /home/live/.net_applet",
- ),
-
- # add local medias
- "urpmi.addmedia 'Live Core' /var/local/mga_rpms/core with media_info/hdlist.cz",
- "urpmi.addmedia 'Live Nonfree' /var/local/mga_rpms/nonfree with media_info/hdlist.cz",
-
- # disable HPLIP systray startup
- "echo 'Hidden=true' >> /etc/xdg/autostart/hplip-systray.desktop",
-
- # remove pre-installed grub2, we need to be able to select grub2 vs grub2-efi at install time
- "rpm -e --nodeps grub2",
-
- # allow draklive-install to spawn subtasks that access the display
- "echo 'session optional pam_xauth.so # for draklive-install' >> /etc/pam.d/polkit-1",
-
- # set the timestamp on the font directories to be a whole second
- # fc-cache looks at the nano second portion which may be non-zero
- # as we are on ext4, but then it will compare against the stamps
- # on the squashfs live image which have whole second resolution
- # (adapted from fix descrived in OpenMandriva bug 1764)
- "find /usr/share/fonts -type d -exec touch -t \$(date +%Y%m%d%H%M.%S) '{}' ';'",
- # now update the cache for the new timestamps
- "fc-cache -rf",
-
- # set the initial wireless regulatory domain to "world", enabling
- # all possible wireless channels to be used.
- "sed -i -r 's/CRDA_DOMAIN=.*/CRDA_DOMAIN=00/' /etc/sysconfig/network",
-
- # try to avoid plymouth falling back to text mode (mga#19984)
- "sed -i -r 's/DeviceTimeout=[0-9]+/DeviceTimeout=10/' /usr/share/plymouth/plymouthd.defaults",
- ),
- additional_media => [
- if_($live->{settings}{updates_repository},
- {
- name => 'core_updates_testing',
- path => $live->{settings}{updates_repository} . '/' . $live->{settings}{arch} . '/media/core/updates_testing',
- packages => [
- ],
- },
- ),
- ],
- },
- loopbacks => {
- exclude => {
- type => 'squashfs',
- files => [
- { path => '/root/drakx' },
- #- to skip a file list generated with:
- #- find /usr/share/doc/HTML -mindepth 1 -maxdepth 1 -type d > /root/drakx/HTML.skipped
- #{ source => '/root/drakx/HTML.skipped', rooted => 1 },
- ],
- },
- 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(en)],
- },
- packs => {
- int => [ map { "i18n-$_" } qw(en) ],
- },
- if_(member($live->{settings}{media}, 'CD', 'DVD'),
- media => {
- storage => 'cdrom',
- bootloader_timeout => 10,
- boot_entries => [ "live" => " xdriver=free",
- "live-nf" => " nokmsboot",
- "linux" => " install xdriver=free",
- "linux-nf" => " install nokmsboot",
- ],
- if_($live->{settings}{product} =~ /LiveCD|LiveDVD/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 ehci_hcd ehci_pci ehci_platform ohci_hcd ohci_pci ohci_platform uhci_hcd xhci_hcd xhci_pci xhci_plat_hcd) ],
- files => [
- if_($live->{settings}{arch} eq 'x86_64',
- [ 'files/UEFI/EFI', '' ],
- ),
- # FIXME: add doc and autorun
- #[ '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),
- ),
-};