summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Whitaker <mageia@martin-whitaker.me.uk>2018-03-04 22:41:28 +0000
committerMartin Whitaker <mageia@martin-whitaker.me.uk>2018-03-04 22:41:28 +0000
commit5d9e6b07bbb7de9fbb706cea05dbdaeff148dd45 (patch)
tree7cc3d8f9af990e22842e370e7473db68adacdde2
parentdc16c1eb290c8642614f25d09972ad0a546123bc (diff)
downloaddraklive-config-5d9e6b07bbb7de9fbb706cea05dbdaeff148dd45.tar
draklive-config-5d9e6b07bbb7de9fbb706cea05dbdaeff148dd45.tar.gz
draklive-config-5d9e6b07bbb7de9fbb706cea05dbdaeff148dd45.tar.bz2
draklive-config-5d9e6b07bbb7de9fbb706cea05dbdaeff148dd45.tar.xz
draklive-config-5d9e6b07bbb7de9fbb706cea05dbdaeff148dd45.zip
Rationalise and better document the configuration.
-rw-r--r--config/build.cfg212
-rw-r--r--files/blacklist-ide.conf (renamed from files/blacklist_ide.conf)0
-rw-r--r--files/dracut-live.conf (renamed from files/live-dracut.conf)0
-rw-r--r--files/empty.conf (renamed from files/live.51-mageia-resume.conf)0
-rw-r--r--files/live.modprobe.conf0
5 files changed, 105 insertions, 107 deletions
diff --git a/config/build.cfg b/config/build.cfg
index 8163948..a00ab83 100644
--- a/config/build.cfg
+++ b/config/build.cfg
@@ -15,7 +15,7 @@ my $has_plasma = member('Plasma', @desktops);
my $has_xfce = member('Xfce', @desktops);
my $use_modules = to_bool($build->{settings}{pack});
-my @user_config_dirs = ('/etc/skel', if_($default_user, '/home/' . $default_user));
+my @user_config_dirs = ('/etc/skel', '/home/' . $default_user);
sub build_label {
my ($build) = @_;
@@ -58,6 +58,7 @@ my $_l = {
qw(EDITORS TERMINALS TEXT_TOOLS SHELLS FILE_TOOLS),
# system
qw(SYSTEM MINIMAL_DOCS X ACCESSIBILITY THEMES),
+ # desktop
if_($has_gnome, qw(GNOME)),
if_($has_lxde, qw(LXDE)),
if_($has_plasma, qw(PLASMA5)),
@@ -67,72 +68,74 @@ my $_l = {
compssListLevel => 5,
include_packages => [
- if_($has_lxde, "mageia-lxde-config-Default"),
+ # Satisfy the basesystem bootloader requirement.
+ 'drakiso-null-bootloader',
- # utils wanted
- 'mc', 'btrfs-progs', 'hdparm', 'patch',
- 'bind-utils', 'mdadm', 'dmraid',
- 'vim-enhanced', # full ediitor
- 'dnf', 'dnf-plugins-core', # some users want dnf
- 'manatools', # just the ncurses version
- 'simple-scan', # s-c-p wants this if it detects a combined printer/scanner
- 'Xdialog', # provides nicer UI for lxcontrol
+ # Some extra admin tools.
+ 'bind-utils', 'btrfs-progs', 'dmraid', 'gparted', 'hdparm',
+ 'manatools', 'mc', 'mdadm', 'vim-enhanced',
- # mageia specific
- 'mageia-doc-mcc-en', # some nice docs
+ # Mageia docs.
+ 'mageia-doc-mcc-en',
+
+ # Allow patching during customisation.
+ 'patch',
+
+ # s-c-p wants this if it detects a combined printer/scanner.
+ 'simple-scan',
+
+ # Provide a nicer UI for lxcontrol.
+ 'Xdialog',
- # Gnome specific stuff
if_($has_gnome,
'task-gnome',
- 'gparted', # provides some options not currently supported in diskdrake
- 'hexchat', # alternative IRC client
- 'adwaita-gtk2-theme',
+ 'adwaita-gtk2-theme', # Temporary fix for mga#20868.
+ 'hexchat', # Alternative IRC client.
+ ),
+
+ if_($has_lxde,
+ 'mageia-lxde-config-Default'
),
- # Plasma specific stuff
if_($has_plasma,
'task-plasma5',
),
- # Xfce specific stuff
if_($has_xfce,
'task-xfce4',
- 'gparted', # provides some options not currently supported in diskdrake
),
],
exclude_packages => [
- # i586 arch specific
if_($arch eq 'i586',
+ # We want the desktop586 kernel for maximum hardware compatibility.
'/^kernel-desktop-/', '/^vboxadditions-kernel-.*-desktop-/',
),
- # no server kernels
+ # No server kernels.
'/^kernel-server-/', '/^vboxadditions-kernel-.*-server-/',
- # No bootloaders, but we need to keep one to satisfy basesystem requirements.
- # We will zap it later. The grub2 bootloaders are needed for install, so we
- # add them to the local repo, which means they are automatically excluded.
- 'grub',
+ # No bootloaders. The GRUB2 bootloaders are needed for install, so we add
+ # them to the local repo, which means they are automatically excluded.
+ 'grub', 'lilo',
+
+ # No distribution license.
+ 'flash-player-plugin',
- # old stuff
+ # Unwanted stuff.
'efax',
- # not wanted
+ # Not yet ready.
'manatools-gui',
- #- no distribution license
- 'flash-player-plugin',
-
- # Gnome specific stuff
if_($has_gnome,
'gnome-builder',
- 'inkscape', # ???
+ 'inkscape',
'polkit-kde-agent-1',
),
],
preferred_packages => [
+ if_($has_gnome, 'gdm'),
if_($has_plasma, 'sddm'),
- 'gdm',
],
local_repo_packages => [
# core
@@ -143,6 +146,7 @@ my $_l = {
'grub2', 'grub2-efi', 'grub2-mageia-theme', 'os-prober',
if_($arch eq 'i586', 'kernel-desktop586-devel-latest'),
if_($arch eq 'x86_64', 'kernel-desktop-devel-latest'),
+
# nonfree
'dkms-broadcom-wl',
'dkms-nvidia304', 'x11-driver-video-nvidia304',
@@ -151,89 +155,85 @@ my $_l = {
],
post_install => join(";",
- # systemd boots by default to multiuser.target (old init 3), so change to graphical (old init 5)
+ # systemd boots by default to multiuser.target (old init 3), so change to graphical (old init 5).
"ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target",
- # have inittab match systemd defaulting to init 5
+ # Have inittab match systemd defaulting to init 5.
"perl -pi -e 's/^id:3:initdefault:/id:5:initdefault:/' /etc/inittab",
),
langs_always => [ 'en_US' ],
-# additional_media => [
-# {
-# name => '',
-# path => '',
-# packages => [
-# ],
-# },
-# ),
-# ],
-# rpms => [
-# ],
-# erase_rpms => [
-# ],
disable_services => [
- # uncommon hardware
+ # Uncommon hardware.
qw(bpalogin capi4linux cpqarrayd mdadm oki4daemon pcscd),
- # unneeded software
+ # Unneeded software.
qw(chronyd snmpd),
if_($has_gnome, qw(ntpd)),
- # slows down basic usage and install, reenabled after install
+ # Slows down basic usage and install, reenabled after install.
qw(crond msec),
],
disable_timers => [
],
files => [
- if_($has_gnome,
- # add draklive-install icon to favourites in live mode and disable screen locking
- # (override files are processed in alphabetical order - make sure this one comes last)
- [ 'files/live.gschema.override', '/usr/share/glib-2.0/schemas/live.gschema.override', { mode => 0644, no_install => 1 } ],
+ # Clean configuration files.
+ [ 'files/empty.conf', '/etc/dracut.conf.d/51-mageia-resume.conf', { mode => 0644 } ],
+ [ 'files/empty.conf', '/etc/modprobe.conf', { 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
+ # 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 } ],
+ # Blacklist pata_acpi (mga#3395).
+ [ '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 } ],
+ # Live media specific initrd.
+ [ 'files/dracut-live.conf', '/etc/dracut.conf.d/60-live.conf', { mode => 0644, no_install => 1 } ],
- # disable suspend and hibernate in live mode
+ # Disable first boot wizard at live boot.
+ [ 'files/firstboot', '/etc/sysconfig/firstboot', { mode => 0644 } ],
+
+ # Enable drakx-finish-install at live boot.
+ [ "files/finish-install", '/etc/sysconfig/finish-install', { mode => 0644 } ],
+
+ # Disable mgaonline in live mode.
+ (map { [ 'files/mgaonlinerc', $_ . '/.MgaOnline/mgaonline', { mode => 0644, no_install => 1 } ] } @user_config_dirs),
+
+ # 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 } ],
- #- eject eject medium before halt/reboot
+ # Eject medium before live system halt/reboot.
[ 'files/halt-local.service', '/etc/systemd/system/halt-local.service', { mode => 0644, no_install => 1 } ],
[ 'files/halt.local', '/sbin/halt.local', { mode => 0755, 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 } ],
+ # sysconfig files for first boot after install.
+ [ '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 } ],
- #- enable drakx-finish-install at live boot
- [ "files/finish-install", '/etc/sysconfig/finish-install', { mode => 0644 } ],
+ # Reenable services in installed system.
+ [ 'files/draklive-install.d/services', '/etc/draklive-install.d/services', { mode => 0644 } ],
- # fix for sometimes wrong permissions
+ # Fix for sometimes wrong permissions after install.
[ 'files/draklive-install.d/run.d/home-live-permissions.sh', '/etc/draklive-install.d/run.d/home-live-permissions.sh', { mode => 755 } ],
+ if_($has_gnome,
+ # Add draklive-install icon to favourites in live mode and disable screen locking
+ # (override files are processed in alphabetical order - make sure this one comes last).
+ [ 'files/live.gschema.override', '/usr/share/glib-2.0/schemas/live.gschema.override', { mode => 0644, no_install => 1 } ],
+
+ # 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 } ],
+ ),
+
if_($has_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 } ],
+
+ # Remove live user from SDDM greeter.
[ '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
- [ '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 } ],
+ # Disable Korganiser autostart.
+ [ 'files/korgacrc', '/etc/kde/korgacrc', { mode => 0644 } ],
+ ),
- [ 'files/korgacrc', '/etc/kde/korgacrc', { mode => 0644 } ],
- (map { [ 'files/mgaonlinerc', $_ . '/.MgaOnline/mgaonline', { mode => 0644, no_install => 1 } ] } @user_config_dirs),
],
remove_files => [
(map { "/etc/modprobe.preload.d/$_" } qw(cpufreq pcmcia rfswitch)),
@@ -244,30 +244,15 @@ my $_l = {
patches => [
],
final_fixes => join(';',
- if_($default_user,
- "echo $default_user > /etc/draklive-install.d/user",
- "perl -pi -e 's,<DEFAULT_USER>,$default_user,' /etc/draklive-install.d/sysconfig/finish-install",
- ),
- if_($has_xfce && $default_user,
- # add a desktop icon to run draklive-install
- "mkdir -p /home/$default_user/Desktop",
- "cp /usr/share/applications/mageia-draklive-install.desktop /home/$default_user/Desktop/draklive-install.desktop",
- ),
-
- #- fix user perms for copied files
- if_($default_user,
- "chown -R $default_user.$default_user /home/$default_user"
- ),
-
if_($has_gnome,
- # modify and compile schema to get draklive-install and Firefox in menu
+ # Modify and compile schema to get draklive-install and Firefox in menu.
"sed -i 's/epiphany.desktop/firefox.desktop/' /usr/share/glib-2.0/schemas/glib2-branding.gschema.override",
"glib-compile-schemas /usr/share/glib-2.0/schemas/",
- # fix permissions to enable GDM to rerun if the user logs out
+ # Fix permissions to enable GDM to rerun if the user logs out.
"chown -R gdm:gdm /var/lib/gdm",
- # switch to NetworkManager
+ # Switch to NetworkManager.
"systemctl -q disable network",
"systemctl -q disable network-up",
"systemctl -q enable NetworkManager.service",
@@ -275,6 +260,7 @@ my $_l = {
"sed -i 's/NETWORK=yes/NETWORK=no/' /etc/draklive-install.d/sysconfig/finish-install",
"echo 'AUTOSTART=FALSE' > /home/live/.net_applet",
),
+
if_($has_plasma,
"rm -f /usr/share/icons/*/icon-theme.cache",
"cp -a /etc/akonadi/mysql-global.conf /etc/akonadi/mysql-global-standard.conf",
@@ -282,22 +268,35 @@ my $_l = {
"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",
),
- # disable HPLIP systray startup
- "echo 'Hidden=true' >> /etc/xdg/autostart/hplip-systray.desktop",
+ if_($has_xfce,
+ # Add a desktop icon to run draklive-install.
+ "mkdir -p /home/$default_user/Desktop",
+ "cp /usr/share/applications/mageia-draklive-install.desktop /home/$default_user/Desktop/draklive-install.desktop",
+ ),
+
+ # Fix permissions for copied files.
+ "chown -R $default_user.$default_user /home/$default_user",
- # allow draklive-install to spawn subtasks that access the display
+ # Set default user name for draklive-install.
+ "echo $default_user > /etc/draklive-install.d/user",
+ "perl -pi -e 's,<DEFAULT_USER>,$default_user,' /etc/draklive-install.d/sysconfig/finish-install",
+
+ # 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
+ # Disable HPLIP systray startup.
+ "echo 'Hidden=true' >> /etc/xdg/autostart/hplip-systray.desktop",
+
+ # 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)
+ # (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
+ # Now update the cache for the new timestamps.
"fc-cache -rf",
- # set the initial wireless regulatory domain to "world", enabling
+ # 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",
),
@@ -316,7 +315,6 @@ my $_l = {
]),
},
regions => {
- #- the "all" region has a magical behavior and selects all langs
int => [qw(en)],
},
packs => {
diff --git a/files/blacklist_ide.conf b/files/blacklist-ide.conf
index 146e357..146e357 100644
--- a/files/blacklist_ide.conf
+++ b/files/blacklist-ide.conf
diff --git a/files/live-dracut.conf b/files/dracut-live.conf
index 42b3e24..42b3e24 100644
--- a/files/live-dracut.conf
+++ b/files/dracut-live.conf
diff --git a/files/live.51-mageia-resume.conf b/files/empty.conf
index e69de29..e69de29 100644
--- a/files/live.51-mageia-resume.conf
+++ b/files/empty.conf
diff --git a/files/live.modprobe.conf b/files/live.modprobe.conf
deleted file mode 100644
index e69de29..0000000
--- a/files/live.modprobe.conf
+++ /dev/null