From 198011f976ebdd2448fe1b25d907283aae24da8a Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Tue, 23 Mar 2010 09:14:04 -0400 Subject: [PATCH] Rework live-base and desktop minimization First, strip the "minimization" parts out of fedora-live-base.ks, and move them into fedora-live-minimization.ks. All previous consumers of fedora-live-base.ks are updated. The old fedora-live-base.ks was conflating two entirely different things: * A live-based image which can be used to install * Stripping some random bits to fit onto a CD The previous fedora-livecd-desktop is now fedora-live-desktop.ks. The new file fedora-livecd-desktop.ks is actually further minimizations on top of fedora-live-desktop.ks. Split up these two concepts so that fedora-live-desktop is *THE* desktop. What we expect everyone to have as a base, and the exact same set of packages should be installed by Standalone Anaconda (DVD) as well. Then, we have minimization hacks in fedora-live-desktop-cd.ks. Over time, we should be shrinking the default install and making it more just-in-time, by e.g. having many more things use the PackageKit library to pull in components as needed. --- Makefile.am | 3 ++ fedora-live-base.ks | 52 +++++--------------------------- fedora-live-desktop.ks | 54 +++++++++++++++++++++++++++++++++ fedora-live-minimization.ks | 41 +++++++++++++++++++++++++ fedora-livecd-desktop.ks | 60 ++++++------------------------------- fedora-livecd-kde.ks | 1 + fedora-livecd-lxde.ks | 1 + fedora-livecd-security.ks | 1 + fedora-livecd-xfce.ks | 1 + 9 files changed, 118 insertions(+), 96 deletions(-) create mode 100644 fedora-live-desktop.ks create mode 100644 fedora-live-minimization.ks diff --git a/Makefile.am b/Makefile.am index 4d5d94f..7577fa2 100644 --- a/Makefile.am +++ b/Makefile.am @@ -5,9 +5,12 @@ fedora_DATA = \ fedora-aos.ks \ fedora-install-fedora.ks \ fedora-live-base.ks \ + fedora-live-minimization.ks \ fedora-live-mini.ks \ fedora-livecd-broffice.org.ks \ fedora-livecd-design-suite.ks \ + fedora-live-desktop.ks \ + fedora-live-desktop-minimization.ks \ fedora-livecd-desktop.ks \ fedora-livecd-kde.ks \ fedora-livecd-lxde.ks \ diff --git a/fedora-live-base.ks b/fedora-live-base.ks index a319142..460c8fa 100644 --- a/fedora-live-base.ks +++ b/fedora-live-base.ks @@ -40,54 +40,16 @@ repo --name=released --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?re @dial-up @hardware-support @printing + +# Explicitly specified here: +# walters: because otherwise dependency loops cause yum issues. kernel + +# This was added a while ago, I think it falls into the category of +# "Diagnosis/recovery tool useful from a Live OS image". Leaving this untouched +# for now. memtest86+ -#firstaidkit-plugin-all - -# save some space --specspo --esc --samba-client --a2ps --mpage --redhat-lsb --sox --hplip --hpijs -sendmail -#ssmtp --numactl --isdn4k-utils --autofs -# smartcards won't really work on the livecd. --coolkey --ccid -# duplicate functionality --pinfo --vorbis-tools --wget -# lose the compat stuff --compat* - -# qlogic firmwares --ql2100-firmware --ql2200-firmware --ql23xx-firmware --ql2400-firmware - -# scanning takes quite a bit of space :/ --xsane --xsane-gimp --sane-backends - -# livecd bits to set up the livecd and be able to install -anaconda -isomd5sum - -# commented out to avoid warning -# # make sure debuginfo doesn't end up on the live image -#-*debuginfo %end %post diff --git a/fedora-live-desktop.ks b/fedora-live-desktop.ks new file mode 100644 index 0000000..2e31f29 --- /dev/null +++ b/fedora-live-desktop.ks @@ -0,0 +1,54 @@ +# Maintained by the Fedora Desktop SIG: +# http://fedoraproject.org/wiki/SIGs/Desktop +# mailto:fedora-desktop-list@fedoraproject.org + +%include fedora-live-base.ks + +%packages +@graphical-internet +@sound-and-video +@gnome-desktop +@office + +# FIXME - these two need to go in comps +nss-mdns +# use the PackageKit helper for bash +PackageKit-command-not-found + +# avoid weird case where we pull in more festival stuff than we need +festival +festvox-slt-arctic-hts + +%end + +%post +cat >> /etc/rc.d/init.d/livesys << EOF +# disable screensaver locking +gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t bool /apps/gnome-screensaver/lock_enabled false >/dev/null +gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t bool /desktop/gnome/lockdown/disable_lock_screen true >/dev/null + +# set up timed auto-login for after 60 seconds +cat >> /etc/gdm/custom.conf << FOE +[daemon] +TimedLoginEnable=true +TimedLogin=liveuser +TimedLoginDelay=60 +FOE + +# Show harddisk install on the desktop +sed -i -e 's/NoDisplay=true/NoDisplay=false/' /usr/share/applications/liveinst.desktop +mkdir /home/liveuser/Desktop +cp /usr/share/applications/liveinst.desktop /home/liveuser/Desktop +chown -R liveuser.liveuser /home/liveuser/Desktop +chmod a+x /home/liveuser/Desktop/liveinst.desktop + +# But not trash and home +gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t bool /apps/nautilus/desktop/trash_icon_visible false >/dev/null +gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t bool /apps/nautilus/desktop/home_icon_visible false >/dev/null + +# Turn off PackageKit-command-not-found while uninstalled +sed -i -e 's/^SoftwareSourceSearch=true/SoftwareSourceSearch=false/' /etc/PackageKit/CommandNotFound.conf + +EOF + +%end diff --git a/fedora-live-minimization.ks b/fedora-live-minimization.ks new file mode 100644 index 0000000..2717e8e --- /dev/null +++ b/fedora-live-minimization.ks @@ -0,0 +1,41 @@ +# Common packages removed from comps +# For F14, these removals should be moved to comps itself + +%packages + +# save some space +-specspo +-esc +-samba-client +-a2ps +-mpage +-redhat-lsb +-sox +-hplip +-hpijs +#ssmtp +-numactl +-isdn4k-utils +-autofs +# smartcards won't really work on the livecd. +-coolkey +-ccid +# duplicate functionality +-pinfo +-vorbis-tools +-wget +# lose the compat stuff +-compat* + +# qlogic firmwares +-ql2100-firmware +-ql2200-firmware +-ql23xx-firmware +-ql2400-firmware + +# scanning takes quite a bit of space :/ +-xsane +-xsane-gimp +-sane-backends + +%end diff --git a/fedora-livecd-desktop.ks b/fedora-livecd-desktop.ks index 9d78fc5..4a38020 100644 --- a/fedora-livecd-desktop.ks +++ b/fedora-livecd-desktop.ks @@ -1,24 +1,18 @@ +# Desktop with customizationst to fit in a CD sized image (package removals, etc.) # Maintained by the Fedora Desktop SIG: # http://fedoraproject.org/wiki/SIGs/Desktop -# mailto:fedora-desktop-list@redhat.com +# mailto:fedora-desktop-list@fedoraproject.org -## NOTE: -# This file should in general be *subtraction* from the gnome-desktop -# comps group to fit within a CD-sized image. If you want to add -# a package to the desktop, add them to the comps group. - -%include fedora-live-base.ks +%include fedora-live-desktop.ks +%include fedora-live-minimization.ks %packages -@graphical-internet -@sound-and-video -@gnome-desktop -@office -nss-mdns +# First, no office. +-openoffice.org-* -# avoid weird case where we pull in more festival stuff than we need -festival -festvox-slt-arctic-hts +# Temporary list of things removed from comps but not synced yet +-specspo +-xsane # dictionaries are big -aspell-* @@ -68,40 +62,4 @@ festvox-slt-arctic-hts -system-config-rootpassword -system-config-services -policycoreutils-gui - -# use the PackageKit helper for bash -PackageKit-command-not-found - -%end - -%post -cat >> /etc/rc.d/init.d/livesys << EOF -# disable screensaver locking -gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t bool /apps/gnome-screensaver/lock_enabled false >/dev/null -gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t bool /desktop/gnome/lockdown/disable_lock_screen true >/dev/null - -# set up timed auto-login for after 60 seconds -cat >> /etc/gdm/custom.conf << FOE -[daemon] -TimedLoginEnable=true -TimedLogin=liveuser -TimedLoginDelay=60 -FOE - -# Show harddisk install on the desktop -sed -i -e 's/NoDisplay=true/NoDisplay=false/' /usr/share/applications/liveinst.desktop -mkdir /home/liveuser/Desktop -cp /usr/share/applications/liveinst.desktop /home/liveuser/Desktop -chown -R liveuser.liveuser /home/liveuser/Desktop -chmod a+x /home/liveuser/Desktop/liveinst.desktop - -# But not trash and home -gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t bool /apps/nautilus/desktop/trash_icon_visible false >/dev/null -gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t bool /apps/nautilus/desktop/home_icon_visible false >/dev/null - -# Turn off PackageKit-command-not-found while uninstalled -sed -i -e 's/^SoftwareSourceSearch=true/SoftwareSourceSearch=false/' /etc/PackageKit/CommandNotFound.conf - -EOF - %end diff --git a/fedora-livecd-kde.ks b/fedora-livecd-kde.ks index bfb5e4d..9000750 100644 --- a/fedora-livecd-kde.ks +++ b/fedora-livecd-kde.ks @@ -8,6 +8,7 @@ # - Fedora KDE SIG %include fedora-live-base.ks +%include fedora-live-minimization.ks %packages diff --git a/fedora-livecd-lxde.ks b/fedora-livecd-lxde.ks index 8b0058a..32f39d0 100644 --- a/fedora-livecd-lxde.ks +++ b/fedora-livecd-lxde.ks @@ -7,6 +7,7 @@ # - Christoph Wickert %include fedora-live-base.ks +%include fedora-live-minimization.ks %packages # LXDE desktop diff --git a/fedora-livecd-security.ks b/fedora-livecd-security.ks index 9a9213c..9bbc4f3 100644 --- a/fedora-livecd-security.ks +++ b/fedora-livecd-security.ks @@ -13,6 +13,7 @@ %include fedora-live-base.ks +%include fedora-live-minimization.ks %packages security-menus diff --git a/fedora-livecd-xfce.ks b/fedora-livecd-xfce.ks index 90a0673..40549de 100644 --- a/fedora-livecd-xfce.ks +++ b/fedora-livecd-xfce.ks @@ -10,6 +10,7 @@ # - Adam Miller %include fedora-live-base.ks +%include fedora-live-minimization.ks %packages