diff options
Diffstat (limited to 'config/live.cfg')
-rw-r--r-- | config/live.cfg | 332 |
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), - ), -}; |