#21 ks: Splitted Kickstarts and addition of Packages
Merged 3 years ago by x3mboy. Opened 3 years ago by nasirhm.
i3-sig/ nasirhm/Fedora-i3-Spin splitted_ks_and_packages  into  master

file added
+45
@@ -0,0 +1,45 @@ 

+ # fedora-livecd-i3.ks

+ #

+ # Description:

+ # - Fedora Live Spin with the tiling window manager i3wm

+ #

+ # Maintainer(s):

+ # - Nasir Hussain    <nasirhm@fedoraproject.org>

+ # - Eduard Lucena    <x3mboy@fedoraproject.org>

+ # - Justin W. Flory  <jwf@fedoraproject.org>

+ # - Dan Cermak       <defolos@fedoraproject.org>

+ 

+ 

+ %packages

+ 

+ @networkmanager-submodules

+ i3

+ dunst

+ azote

+ lightdm-gtk

+ brightlight

+ feh

+ mousepad

+ dex-autostart

+ network-manager-applet

+ pavucontrol

+ volumeicon

+ 

+ 

+ # unlock default keyring. FIXME: Should probably be done in comps

+ gnome-keyring-pam

+ # Admin tools are handy to have

+ @admin-tools

+ wget

+ # Better more popular browser

+ firefox

+ system-config-printer

+ 

+ # save some space

+ -autofs

+ -acpid

+ -gimp-help

+ -desktop-backgrounds-basic

+ -aspell-*                   # dictionaries are big

+ 

+ %end

@@ -0,0 +1,365 @@ 

+ # fedora-live-base.ks

+ #

+ # Defines the basics for all kickstarts in the fedora-live branch

+ # Does not include package selection (other then mandatory)

+ # Does not include localization packages or configuration

+ #

+ # Does includes "default" language configuration (kickstarts including

+ # this template can override these settings)

+ 

+ lang en_US.UTF-8

+ keyboard us

+ timezone US/Eastern

+ auth --useshadow --passalgo=sha512

+ selinux --enforcing

+ firewall --enabled --service=mdns

+ xconfig --startxonboot

+ zerombr

+ clearpart --all

+ part / --size 5120 --fstype ext4

+ services --enabled=NetworkManager,ModemManager --disabled=sshd

+ network --bootproto=dhcp --device=link --activate

+ rootpw --lock --iscrypted locked

+ shutdown

+ 

+ %include fedora-repo-not-rawhide.ks

+ 

+ %packages

+ @base-x

+ @guest-desktop-agents

+ @standard

+ @core

+ @fonts

+ @input-methods

+ @dial-up

+ @multimedia

+ @hardware-support

+ @printing

+ 

+ # Explicitly specified here:

+ # <notting> walters: because otherwise dependency loops cause yum issues.

+ kernel

+ kernel-modules

+ kernel-modules-extra

+ 

+ # 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+

+ 

+ # The point of a live image is to install

+ anaconda

+ anaconda-install-env-deps

+ anaconda-live

+ @anaconda-tools

+ 

+ # Need aajohan-comfortaa-fonts for the SVG rnotes images

+ aajohan-comfortaa-fonts

+ 

+ # Without this, initramfs generation during live image creation fails: #1242586

+ dracut-live

+ syslinux

+ 

+ # anaconda needs the locales available to run for different locales

+ glibc-all-langpacks

+ 

+ # no longer in @core since 2018-10, but needed for livesys script

+ initscripts

+ chkconfig

+ %end

+ 

+ %post

+ # FIXME: it'd be better to get this installed from a package

+ cat > /etc/rc.d/init.d/livesys << EOF

+ #!/bin/bash

+ #

+ # live: Init script for live image

+ #

+ # chkconfig: 345 00 99

+ # description: Init script for live image.

+ ### BEGIN INIT INFO

+ # X-Start-Before: display-manager chronyd

+ ### END INIT INFO

+ 

+ . /etc/init.d/functions

+ 

+ if ! strstr "\`cat /proc/cmdline\`" rd.live.image || [ "\$1" != "start" ]; then

+     exit 0

+ fi

+ 

+ if [ -e /.liveimg-configured ] ; then

+     configdone=1

+ fi

+ 

+ exists() {

+     which \$1 >/dev/null 2>&1 || return

+     \$*

+ }

+ 

+ livedir="LiveOS"

+ for arg in \`cat /proc/cmdline\` ; do

+   if [ "\${arg##rd.live.dir=}" != "\${arg}" ]; then

+     livedir=\${arg##rd.live.dir=}

+     continue

+   fi

+   if [ "\${arg##live_dir=}" != "\${arg}" ]; then

+     livedir=\${arg##live_dir=}

+   fi

+ done

+ 

+ # enable swaps unless requested otherwise

+ swaps=\`blkid -t TYPE=swap -o device\`

+ if ! strstr "\`cat /proc/cmdline\`" noswap && [ -n "\$swaps" ] ; then

+   for s in \$swaps ; do

+     action "Enabling swap partition \$s" swapon \$s

+   done

+ fi

+ if ! strstr "\`cat /proc/cmdline\`" noswap && [ -f /run/initramfs/live/\${livedir}/swap.img ] ; then

+   action "Enabling swap file" swapon /run/initramfs/live/\${livedir}/swap.img

+ fi

+ 

+ mountPersistentHome() {

+   # support label/uuid

+   if [ "\${homedev##LABEL=}" != "\${homedev}" -o "\${homedev##UUID=}" != "\${homedev}" ]; then

+     homedev=\`/sbin/blkid -o device -t "\$homedev"\`

+   fi

+ 

+   # if we're given a file rather than a blockdev, loopback it

+   if [ "\${homedev##mtd}" != "\${homedev}" ]; then

+     # mtd devs don't have a block device but get magic-mounted with -t jffs2

+     mountopts="-t jffs2"

+   elif [ ! -b "\$homedev" ]; then

+     loopdev=\`losetup -f\`

+     if [ "\${homedev##/run/initramfs/live}" != "\${homedev}" ]; then

+       action "Remounting live store r/w" mount -o remount,rw /run/initramfs/live

+     fi

+     losetup \$loopdev \$homedev

+     homedev=\$loopdev

+   fi

+ 

+   # if it's encrypted, we need to unlock it

+   if [ "\$(/sbin/blkid -s TYPE -o value \$homedev 2>/dev/null)" = "crypto_LUKS" ]; then

+     echo

+     echo "Setting up encrypted /home device"

+     plymouth ask-for-password --command="cryptsetup luksOpen \$homedev EncHome"

+     homedev=/dev/mapper/EncHome

+   fi

+ 

+   # and finally do the mount

+   mount \$mountopts \$homedev /home

+   # if we have /home under what's passed for persistent home, then

+   # we should make that the real /home.  useful for mtd device on olpc

+   if [ -d /home/home ]; then mount --bind /home/home /home ; fi

+   [ -x /sbin/restorecon ] && /sbin/restorecon /home

+   if [ -d /home/liveuser ]; then USERADDARGS="-M" ; fi

+ }

+ 

+ findPersistentHome() {

+   for arg in \`cat /proc/cmdline\` ; do

+     if [ "\${arg##persistenthome=}" != "\${arg}" ]; then

+       homedev=\${arg##persistenthome=}

+     fi

+   done

+ }

+ 

+ if strstr "\`cat /proc/cmdline\`" persistenthome= ; then

+   findPersistentHome

+ elif [ -e /run/initramfs/live/\${livedir}/home.img ]; then

+   homedev=/run/initramfs/live/\${livedir}/home.img

+ fi

+ 

+ # if we have a persistent /home, then we want to go ahead and mount it

+ if ! strstr "\`cat /proc/cmdline\`" nopersistenthome && [ -n "\$homedev" ] ; then

+   action "Mounting persistent /home" mountPersistentHome

+ fi

+ 

+ if [ -n "\$configdone" ]; then

+   exit 0

+ fi

+ 

+ # add liveuser user with no passwd

+ action "Adding live user" useradd \$USERADDARGS -c "Live System User" liveuser

+ passwd -d liveuser > /dev/null

+ usermod -aG wheel liveuser > /dev/null

+ 

+ # Remove root password lock

+ passwd -d root > /dev/null

+ 

+ # turn off firstboot for livecd boots

+ systemctl --no-reload disable firstboot-text.service 2> /dev/null || :

+ systemctl --no-reload disable firstboot-graphical.service 2> /dev/null || :

+ systemctl stop firstboot-text.service 2> /dev/null || :

+ systemctl stop firstboot-graphical.service 2> /dev/null || :

+ 

+ # don't use prelink on a running live image

+ sed -i 's/PRELINKING=yes/PRELINKING=no/' /etc/sysconfig/prelink &>/dev/null || :

+ 

+ # turn off mdmonitor by default

+ systemctl --no-reload disable mdmonitor.service 2> /dev/null || :

+ systemctl --no-reload disable mdmonitor-takeover.service 2> /dev/null || :

+ systemctl stop mdmonitor.service 2> /dev/null || :

+ systemctl stop mdmonitor-takeover.service 2> /dev/null || :

+ 

+ # don't enable the gnome-settings-daemon packagekit plugin

+ gsettings set org.gnome.software download-updates 'false' || :

+ 

+ # don't start cron/at as they tend to spawn things which are

+ # disk intensive that are painful on a live image

+ systemctl --no-reload disable crond.service 2> /dev/null || :

+ systemctl --no-reload disable atd.service 2> /dev/null || :

+ systemctl stop crond.service 2> /dev/null || :

+ systemctl stop atd.service 2> /dev/null || :

+ 

+ # turn off abrtd on a live image

+ systemctl --no-reload disable abrtd.service 2> /dev/null || :

+ systemctl stop abrtd.service 2> /dev/null || :

+ 

+ # Don't sync the system clock when running live (RHBZ #1018162)

+ sed -i 's/rtcsync//' /etc/chrony.conf

+ 

+ # Mark things as configured

+ touch /.liveimg-configured

+ 

+ # add static hostname to work around xauth bug

+ # https://bugzilla.redhat.com/show_bug.cgi?id=679486

+ # the hostname must be something else than 'localhost'

+ # https://bugzilla.redhat.com/show_bug.cgi?id=1370222

+ echo "localhost-live" > /etc/hostname

+ 

+ EOF

+ 

+ # bah, hal starts way too late

+ cat > /etc/rc.d/init.d/livesys-late << EOF

+ #!/bin/bash

+ #

+ # live: Late init script for live image

+ #

+ # chkconfig: 345 99 01

+ # description: Late init script for live image.

+ 

+ . /etc/init.d/functions

+ 

+ if ! strstr "\`cat /proc/cmdline\`" rd.live.image || [ "\$1" != "start" ] || [ -e /.liveimg-late-configured ] ; then

+     exit 0

+ fi

+ 

+ exists() {

+     which \$1 >/dev/null 2>&1 || return

+     \$*

+ }

+ 

+ touch /.liveimg-late-configured

+ 

+ # read some variables out of /proc/cmdline

+ for o in \`cat /proc/cmdline\` ; do

+     case \$o in

+     ks=*)

+         ks="--kickstart=\${o#ks=}"

+         ;;

+     xdriver=*)

+         xdriver="\${o#xdriver=}"

+         ;;

+     esac

+ done

+ 

+ # if liveinst or textinst is given, start anaconda

+ if strstr "\`cat /proc/cmdline\`" liveinst ; then

+    plymouth --quit

+    /usr/sbin/liveinst \$ks

+ fi

+ if strstr "\`cat /proc/cmdline\`" textinst ; then

+    plymouth --quit

+    /usr/sbin/liveinst --text \$ks

+ fi

+ 

+ # configure X, allowing user to override xdriver

+ if [ -n "\$xdriver" ]; then

+    cat > /etc/X11/xorg.conf.d/00-xdriver.conf <<FOE

+ Section "Device"

+ 	Identifier	"Videocard0"

+ 	Driver	"\$xdriver"

+ EndSection

+ FOE

+ fi

+ 

+ EOF

+ 

+ chmod 755 /etc/rc.d/init.d/livesys

+ /sbin/restorecon /etc/rc.d/init.d/livesys

+ /sbin/chkconfig --add livesys

+ 

+ chmod 755 /etc/rc.d/init.d/livesys-late

+ /sbin/restorecon /etc/rc.d/init.d/livesys-late

+ /sbin/chkconfig --add livesys-late

+ 

+ # enable tmpfs for /tmp

+ systemctl enable tmp.mount

+ 

+ # make it so that we don't do writing to the overlay for things which

+ # are just tmpdirs/caches

+ # note https://bugzilla.redhat.com/show_bug.cgi?id=1135475

+ cat >> /etc/fstab << EOF

+ vartmp   /var/tmp    tmpfs   defaults   0  0

+ EOF

+ 

+ # work around for poor key import UI in PackageKit

+ rm -f /var/lib/rpm/__db*

+ releasever=$(rpm -q --qf '%{version}\n' --whatprovides system-release)

+ basearch=$(uname -i)

+ rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch

+ echo "Packages within this LiveCD"

+ rpm -qa

+ # Note that running rpm recreates the rpm db files which aren't needed or wanted

+ rm -f /var/lib/rpm/__db*

+ 

+ # go ahead and pre-make the man -k cache (#455968)

+ /usr/bin/mandb

+ 

+ # make sure there aren't core files lying around

+ rm -f /core*

+ 

+ # remove random seed, the newly installed instance should make it's own

+ rm -f /var/lib/systemd/random-seed

+ 

+ # convince readahead not to collect

+ # FIXME: for systemd

+ 

+ echo 'File created by kickstart. See systemd-update-done.service(8).' \

+     | tee /etc/.updated >/var/.updated

+ 

+ # Drop the rescue kernel and initramfs, we don't need them on the live media itself.

+ # See bug 1317709

+ rm -f /boot/*-rescue*

+ 

+ # Disable network service here, as doing it in the services line

+ # fails due to RHBZ #1369794

+ /sbin/chkconfig network off

+ 

+ # Remove machine-id on pre generated images

+ rm -f /etc/machine-id

+ touch /etc/machine-id

+ 

+ %end

+ 

+ 

+ %post --nochroot

+ cp $INSTALL_ROOT/usr/share/licenses/*-release/* $LIVE_ROOT/

+ 

+ # only works on x86, x86_64

+ if [ "$(uname -i)" = "i386" -o "$(uname -i)" = "x86_64" ]; then

+     # For livecd-creator builds

+     if [ ! -d $LIVE_ROOT/LiveOS ]; then mkdir -p $LIVE_ROOT/LiveOS ; fi

+     cp /usr/bin/livecd-iso-to-disk $LIVE_ROOT/LiveOS

+ 

+     # For lorax/livemedia-creator builds

+     sed -i '

+     /## make boot.iso/ i\

+     # Add livecd-iso-to-disk script to .iso filesystem at /LiveOS/\

+     <% f = "usr/bin/livecd-iso-to-disk" %>\

+     %if exists(f):\

+         install ${f} ${LIVEDIR}/${f|basename}\

+     %endif\

+     ' /usr/share/lorax/templates.d/99-generic/live/x86.tmpl

+ fi

+ 

+ %end

file added
+365
@@ -0,0 +1,365 @@ 

+ # fedora-live-base.ks

+ #

+ # Defines the basics for all kickstarts in the fedora-live branch

+ # Does not include package selection (other then mandatory)

+ # Does not include localization packages or configuration

+ #

+ # Does includes "default" language configuration (kickstarts including

+ # this template can override these settings)

+ 

+ lang en_US.UTF-8

+ keyboard us

+ timezone US/Eastern

+ auth --useshadow --passalgo=sha512

+ selinux --enforcing

+ firewall --enabled --service=mdns

+ xconfig --startxonboot

+ zerombr

+ clearpart --all

+ part / --size 5120 --fstype ext4

+ services --enabled=NetworkManager,ModemManager --disabled=sshd

+ network --bootproto=dhcp --device=link --activate

+ rootpw --lock --iscrypted locked

+ shutdown

+ 

+ %include fedora-repo.ks

+ 

+ %packages

+ @base-x

+ @guest-desktop-agents

+ @standard

+ @core

+ @fonts

+ @input-methods

+ @dial-up

+ @multimedia

+ @hardware-support

+ @printing

+ 

+ # Explicitly specified here:

+ # <notting> walters: because otherwise dependency loops cause yum issues.

+ kernel

+ kernel-modules

+ kernel-modules-extra

+ 

+ # 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+

+ 

+ # The point of a live image is to install

+ anaconda

+ anaconda-install-env-deps

+ anaconda-live

+ @anaconda-tools

+ 

+ # Need aajohan-comfortaa-fonts for the SVG rnotes images

+ aajohan-comfortaa-fonts

+ 

+ # Without this, initramfs generation during live image creation fails: #1242586

+ dracut-live

+ syslinux

+ 

+ # anaconda needs the locales available to run for different locales

+ glibc-all-langpacks

+ 

+ # no longer in @core since 2018-10, but needed for livesys script

+ initscripts

+ chkconfig

+ %end

+ 

+ %post

+ # FIXME: it'd be better to get this installed from a package

+ cat > /etc/rc.d/init.d/livesys << EOF

+ #!/bin/bash

+ #

+ # live: Init script for live image

+ #

+ # chkconfig: 345 00 99

+ # description: Init script for live image.

+ ### BEGIN INIT INFO

+ # X-Start-Before: display-manager chronyd

+ ### END INIT INFO

+ 

+ . /etc/init.d/functions

+ 

+ if ! strstr "\`cat /proc/cmdline\`" rd.live.image || [ "\$1" != "start" ]; then

+     exit 0

+ fi

+ 

+ if [ -e /.liveimg-configured ] ; then

+     configdone=1

+ fi

+ 

+ exists() {

+     which \$1 >/dev/null 2>&1 || return

+     \$*

+ }

+ 

+ livedir="LiveOS"

+ for arg in \`cat /proc/cmdline\` ; do

+   if [ "\${arg##rd.live.dir=}" != "\${arg}" ]; then

+     livedir=\${arg##rd.live.dir=}

+     continue

+   fi

+   if [ "\${arg##live_dir=}" != "\${arg}" ]; then

+     livedir=\${arg##live_dir=}

+   fi

+ done

+ 

+ # enable swaps unless requested otherwise

+ swaps=\`blkid -t TYPE=swap -o device\`

+ if ! strstr "\`cat /proc/cmdline\`" noswap && [ -n "\$swaps" ] ; then

+   for s in \$swaps ; do

+     action "Enabling swap partition \$s" swapon \$s

+   done

+ fi

+ if ! strstr "\`cat /proc/cmdline\`" noswap && [ -f /run/initramfs/live/\${livedir}/swap.img ] ; then

+   action "Enabling swap file" swapon /run/initramfs/live/\${livedir}/swap.img

+ fi

+ 

+ mountPersistentHome() {

+   # support label/uuid

+   if [ "\${homedev##LABEL=}" != "\${homedev}" -o "\${homedev##UUID=}" != "\${homedev}" ]; then

+     homedev=\`/sbin/blkid -o device -t "\$homedev"\`

+   fi

+ 

+   # if we're given a file rather than a blockdev, loopback it

+   if [ "\${homedev##mtd}" != "\${homedev}" ]; then

+     # mtd devs don't have a block device but get magic-mounted with -t jffs2

+     mountopts="-t jffs2"

+   elif [ ! -b "\$homedev" ]; then

+     loopdev=\`losetup -f\`

+     if [ "\${homedev##/run/initramfs/live}" != "\${homedev}" ]; then

+       action "Remounting live store r/w" mount -o remount,rw /run/initramfs/live

+     fi

+     losetup \$loopdev \$homedev

+     homedev=\$loopdev

+   fi

+ 

+   # if it's encrypted, we need to unlock it

+   if [ "\$(/sbin/blkid -s TYPE -o value \$homedev 2>/dev/null)" = "crypto_LUKS" ]; then

+     echo

+     echo "Setting up encrypted /home device"

+     plymouth ask-for-password --command="cryptsetup luksOpen \$homedev EncHome"

+     homedev=/dev/mapper/EncHome

+   fi

+ 

+   # and finally do the mount

+   mount \$mountopts \$homedev /home

+   # if we have /home under what's passed for persistent home, then

+   # we should make that the real /home.  useful for mtd device on olpc

+   if [ -d /home/home ]; then mount --bind /home/home /home ; fi

+   [ -x /sbin/restorecon ] && /sbin/restorecon /home

+   if [ -d /home/liveuser ]; then USERADDARGS="-M" ; fi

+ }

+ 

+ findPersistentHome() {

+   for arg in \`cat /proc/cmdline\` ; do

+     if [ "\${arg##persistenthome=}" != "\${arg}" ]; then

+       homedev=\${arg##persistenthome=}

+     fi

+   done

+ }

+ 

+ if strstr "\`cat /proc/cmdline\`" persistenthome= ; then

+   findPersistentHome

+ elif [ -e /run/initramfs/live/\${livedir}/home.img ]; then

+   homedev=/run/initramfs/live/\${livedir}/home.img

+ fi

+ 

+ # if we have a persistent /home, then we want to go ahead and mount it

+ if ! strstr "\`cat /proc/cmdline\`" nopersistenthome && [ -n "\$homedev" ] ; then

+   action "Mounting persistent /home" mountPersistentHome

+ fi

+ 

+ if [ -n "\$configdone" ]; then

+   exit 0

+ fi

+ 

+ # add liveuser user with no passwd

+ action "Adding live user" useradd \$USERADDARGS -c "Live System User" liveuser

+ passwd -d liveuser > /dev/null

+ usermod -aG wheel liveuser > /dev/null

+ 

+ # Remove root password lock

+ passwd -d root > /dev/null

+ 

+ # turn off firstboot for livecd boots

+ systemctl --no-reload disable firstboot-text.service 2> /dev/null || :

+ systemctl --no-reload disable firstboot-graphical.service 2> /dev/null || :

+ systemctl stop firstboot-text.service 2> /dev/null || :

+ systemctl stop firstboot-graphical.service 2> /dev/null || :

+ 

+ # don't use prelink on a running live image

+ sed -i 's/PRELINKING=yes/PRELINKING=no/' /etc/sysconfig/prelink &>/dev/null || :

+ 

+ # turn off mdmonitor by default

+ systemctl --no-reload disable mdmonitor.service 2> /dev/null || :

+ systemctl --no-reload disable mdmonitor-takeover.service 2> /dev/null || :

+ systemctl stop mdmonitor.service 2> /dev/null || :

+ systemctl stop mdmonitor-takeover.service 2> /dev/null || :

+ 

+ # don't enable the gnome-settings-daemon packagekit plugin

+ gsettings set org.gnome.software download-updates 'false' || :

+ 

+ # don't start cron/at as they tend to spawn things which are

+ # disk intensive that are painful on a live image

+ systemctl --no-reload disable crond.service 2> /dev/null || :

+ systemctl --no-reload disable atd.service 2> /dev/null || :

+ systemctl stop crond.service 2> /dev/null || :

+ systemctl stop atd.service 2> /dev/null || :

+ 

+ # turn off abrtd on a live image

+ systemctl --no-reload disable abrtd.service 2> /dev/null || :

+ systemctl stop abrtd.service 2> /dev/null || :

+ 

+ # Don't sync the system clock when running live (RHBZ #1018162)

+ sed -i 's/rtcsync//' /etc/chrony.conf

+ 

+ # Mark things as configured

+ touch /.liveimg-configured

+ 

+ # add static hostname to work around xauth bug

+ # https://bugzilla.redhat.com/show_bug.cgi?id=679486

+ # the hostname must be something else than 'localhost'

+ # https://bugzilla.redhat.com/show_bug.cgi?id=1370222

+ echo "localhost-live" > /etc/hostname

+ 

+ EOF

+ 

+ # bah, hal starts way too late

+ cat > /etc/rc.d/init.d/livesys-late << EOF

+ #!/bin/bash

+ #

+ # live: Late init script for live image

+ #

+ # chkconfig: 345 99 01

+ # description: Late init script for live image.

+ 

+ . /etc/init.d/functions

+ 

+ if ! strstr "\`cat /proc/cmdline\`" rd.live.image || [ "\$1" != "start" ] || [ -e /.liveimg-late-configured ] ; then

+     exit 0

+ fi

+ 

+ exists() {

+     which \$1 >/dev/null 2>&1 || return

+     \$*

+ }

+ 

+ touch /.liveimg-late-configured

+ 

+ # read some variables out of /proc/cmdline

+ for o in \`cat /proc/cmdline\` ; do

+     case \$o in

+     ks=*)

+         ks="--kickstart=\${o#ks=}"

+         ;;

+     xdriver=*)

+         xdriver="\${o#xdriver=}"

+         ;;

+     esac

+ done

+ 

+ # if liveinst or textinst is given, start anaconda

+ if strstr "\`cat /proc/cmdline\`" liveinst ; then

+    plymouth --quit

+    /usr/sbin/liveinst \$ks

+ fi

+ if strstr "\`cat /proc/cmdline\`" textinst ; then

+    plymouth --quit

+    /usr/sbin/liveinst --text \$ks

+ fi

+ 

+ # configure X, allowing user to override xdriver

+ if [ -n "\$xdriver" ]; then

+    cat > /etc/X11/xorg.conf.d/00-xdriver.conf <<FOE

+ Section "Device"

+ 	Identifier	"Videocard0"

+ 	Driver	"\$xdriver"

+ EndSection

+ FOE

+ fi

+ 

+ EOF

+ 

+ chmod 755 /etc/rc.d/init.d/livesys

+ /sbin/restorecon /etc/rc.d/init.d/livesys

+ /sbin/chkconfig --add livesys

+ 

+ chmod 755 /etc/rc.d/init.d/livesys-late

+ /sbin/restorecon /etc/rc.d/init.d/livesys-late

+ /sbin/chkconfig --add livesys-late

+ 

+ # enable tmpfs for /tmp

+ systemctl enable tmp.mount

+ 

+ # make it so that we don't do writing to the overlay for things which

+ # are just tmpdirs/caches

+ # note https://bugzilla.redhat.com/show_bug.cgi?id=1135475

+ cat >> /etc/fstab << EOF

+ vartmp   /var/tmp    tmpfs   defaults   0  0

+ EOF

+ 

+ # work around for poor key import UI in PackageKit

+ rm -f /var/lib/rpm/__db*

+ releasever=$(rpm -q --qf '%{version}\n' --whatprovides system-release)

+ basearch=$(uname -i)

+ rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch

+ echo "Packages within this LiveCD"

+ rpm -qa

+ # Note that running rpm recreates the rpm db files which aren't needed or wanted

+ rm -f /var/lib/rpm/__db*

+ 

+ # go ahead and pre-make the man -k cache (#455968)

+ /usr/bin/mandb

+ 

+ # make sure there aren't core files lying around

+ rm -f /core*

+ 

+ # remove random seed, the newly installed instance should make it's own

+ rm -f /var/lib/systemd/random-seed

+ 

+ # convince readahead not to collect

+ # FIXME: for systemd

+ 

+ echo 'File created by kickstart. See systemd-update-done.service(8).' \

+     | tee /etc/.updated >/var/.updated

+ 

+ # Drop the rescue kernel and initramfs, we don't need them on the live media itself.

+ # See bug 1317709

+ rm -f /boot/*-rescue*

+ 

+ # Disable network service here, as doing it in the services line

+ # fails due to RHBZ #1369794

+ /sbin/chkconfig network off

+ 

+ # Remove machine-id on pre generated images

+ rm -f /etc/machine-id

+ touch /etc/machine-id

+ 

+ %end

+ 

+ 

+ %post --nochroot

+ cp $INSTALL_ROOT/usr/share/licenses/*-release/* $LIVE_ROOT/

+ 

+ # only works on x86, x86_64

+ if [ "$(uname -i)" = "i386" -o "$(uname -i)" = "x86_64" ]; then

+     # For livecd-creator builds

+     if [ ! -d $LIVE_ROOT/LiveOS ]; then mkdir -p $LIVE_ROOT/LiveOS ; fi

+     cp /usr/bin/livecd-iso-to-disk $LIVE_ROOT/LiveOS

+ 

+     # For lorax/livemedia-creator builds

+     sed -i '

+     /## make boot.iso/ i\

+     # Add livecd-iso-to-disk script to .iso filesystem at /LiveOS/\

+     <% f = "usr/bin/livecd-iso-to-disk" %>\

+     %if exists(f):\

+         install ${f} ${LIVEDIR}/${f|basename}\

+     %endif\

+     ' /usr/share/lorax/templates.d/99-generic/live/x86.tmpl

+ fi

+ 

+ %end

file added
+60
@@ -0,0 +1,60 @@ 

+ # fedora-livecd-i3.ks

+ #

+ # Description:

+ # - Fedora Live Spin with the tiling window manager i3

+ #

+ # Maintainer(s):

+ # - Nasir Hussain    <nasirhm@fedoraproject.org>

+ # - Eduard Lucena    <x3mboy@fedoraproject.org>

+ # - Dan Cermak       <defolos@tummy.com>

+ # - Justin W. Flory  <jwf@fedoraproject.org>

+ 

+ %include fedora-live-base-not-rawhide.ks

+ %include fedora-live-minimization.ks

+ %include fedora-i3-common.ks

+ 

+ %post

+ # xfce configuration

+ 

+ # create /etc/sysconfig/desktop (needed for installation)

+ 

+ cat > /etc/sysconfig/desktop <<EOF

+ PREFERRED=/usr/bin/i3

+ DISPLAYMANAGER=/usr/sbin/lightdm

+ EOF

+ 

+ cat >> /etc/rc.d/init.d/livesys << EOF

+ 

+ # deactivate xfconf-migration (#683161)

+ rm -f /etc/xdg/autostart/xfconf-migration-4.6.desktop || :

+ 

+ # set up lightdm autologin

+ sed -i 's/^#autologin-user=.*/autologin-user=liveuser/' /etc/lightdm/lightdm.conf

+ sed -i 's/^#autologin-user-timeout=.*/autologin-user-timeout=0/' /etc/lightdm/lightdm.conf

+ #sed -i 's/^#show-language-selector=.*/show-language-selector=true/' /etc/lightdm/lightdm-gtk-greeter.conf

+ 

+ # set i3 as default session, otherwise login will fail

+ sed -i 's/^#user-session=.*/user-session=i3/' /etc/lightdm/lightdm.conf

+ 

+ # 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

+ 

+ # no updater applet in live environment

+ rm -f /etc/xdg/autostart/org.mageia.dnfdragora-updater.desktop

+ 

+ # and mark it as executable (new Xfce security feature)

+ chmod +x /home/liveuser/Desktop/liveinst.desktop

+ 

+ # this goes at the end after all other changes. 

+ chown -R liveuser:liveuser /home/liveuser

+ restorecon -R /home/liveuser

+ 

+ # setting the wallpaper

+ echo "/usr/bin/feh --bg-scale /usr/share/backgrounds/default.png" >> /home/liveuser/.profile

+ 

+ EOF

+ 

+ %end

+ 

@@ -0,0 +1,16 @@ 

+ # Common packages removed from comps

+ # For F14, these removals should be moved to comps itself

+ 

+ %packages

+ 

+ # save some space

+ -mpage

+ -hplip

+ -isdn4k-utils

+ 

+ # scanning takes quite a bit of space :/

+ -xsane

+ -xsane-gimp

+ -sane-backends

+ 

+ %end

@@ -0,0 +1,4 @@ 

+ repo --name=fedora --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch

+ repo --name=updates --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f$releasever&arch=$basearch

+ #repo --name=updates-testing --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-testing-f$releasever&arch=$basearch

+ url --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch

file added
+9
@@ -0,0 +1,9 @@ 

+ # Include the appropriate repo definitions

+ 

+ # Exactly one of the following should be uncommented

+ 

+ # For the master branch the following should be uncommented

+ %include fedora-repo-rawhide.ks

+ 

+ # For non-master branches the following should be uncommented

+ # %include fedora-repo-not-rawhide.ks

file modified
+22 -29
@@ -305,6 +305,7 @@ 

  # Remove machine-id on pre generated images

  rm -f /etc/machine-id

  touch /etc/machine-id

+ 

  %end

  

  %post --nochroot
@@ -326,10 +327,12 @@ 

      %endif\

      ' /usr/share/lorax/templates.d/99-generic/live/x86.tmpl

  fi

+ 

  %end

  

  %post

  # xfce configuration

+ 

  # create /etc/sysconfig/desktop (needed for installation)

  

  cat > /etc/sysconfig/desktop <<EOF
@@ -339,22 +342,9 @@ 

  

  cat >> /etc/rc.d/init.d/livesys << EOF

  

- FOE

- 

- # disable screensaver locking (#674410)

- cat >> /home/liveuser/.xscreensaver << FOE

- mode:           off

- lock:           False

- dpmsEnabled:    False

- FOE

- 

  # deactivate xfconf-migration (#683161)

  rm -f /etc/xdg/autostart/xfconf-migration-4.6.desktop || :

  

- # deactivate xfce4-panel first-run dialog (#693569)

- mkdir -p /home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml

- cp /etc/xdg/xfce4/panel/default.xml /home/liveuser/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml

- 

  # set up lightdm autologin

  sed -i 's/^#autologin-user=.*/autologin-user=liveuser/' /etc/lightdm/lightdm.conf

  sed -i 's/^#autologin-user-timeout=.*/autologin-user-timeout=0/' /etc/lightdm/lightdm.conf
@@ -363,20 +353,23 @@ 

  # set i3 as default session, otherwise login will fail

  sed -i 's/^#user-session=.*/user-session=i3/' /etc/lightdm/lightdm.conf

  

+ # 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

+ 

  # no updater applet in live environment

  rm -f /etc/xdg/autostart/org.mageia.dnfdragora-updater.desktop

  

  # and mark it as executable (new Xfce security feature)

  chmod +x /home/liveuser/Desktop/liveinst.desktop

  

- # set background on LiveOS using feh by adding it .profile

- echo "/usr/bin/feh --bg-scale /usr/share/backgrounds/default.png" >> /home/liveuser/.profile

- 

- # this goes at the end after all other changes.

+ # this goes at the end after all other changes. 

  chown -R liveuser:liveuser /home/liveuser

  restorecon -R /home/liveuser

  

- 

+ # setting the wallpaper

+ echo "/usr/bin/feh --bg-scale /usr/share/backgrounds/default.png" >> /home/liveuser/.profile

  

  EOF

  
@@ -396,27 +389,34 @@ 

  @networkmanager-submodules

  @printing

  @standard

- azote

- lightdm-gtk

  aajohan-comfortaa-fonts

  anaconda

  anaconda-install-env-deps

  anaconda-live

+ azote

+ brightlight

  chkconfig

+ dex-autostart

  dracut-live

+ dunst

+ feh

  firefox

- gedit

  glibc-all-langpacks

  gnome-keyring-pam

+ i3

  initscripts

  kernel

  kernel-modules

  kernel-modules-extra

+ lightdm-gtk

  memtest86+

+ mousepad

+ network-manager-applet

+ pavucontrol

  syslinux

  system-config-printer

+ volumeicon

  wget

- xscreensaver-extras

  -acpid

  -aspell-*

  -autofs
@@ -429,11 +429,4 @@ 

  -xsane

  -xsane-gimp

  

- # i3 Packages

- i3

- i3lock

- i3status

- dunst

- brightlight

- feh

  %end

Splitted the Kickstart into following:
- fedora-i3-common.ks
- fedora-live-i3.ks

which currently imports:
- fedora-live-base-not-rawhide.ks to build on F33

and Flattened the Modified ks's into flat-i3.ks

Addition of the following packages:

  • pavucontrol (Voice and Sounds Control)
  • dex-autostart (To execute Desktop file entries)
  • network-manager-applet (To ease network management)
  • volumeicon (To ease volume management)

This works fine for the F33 Build.

1 new commit added

  • fix: maintainer names and remove dex-autostart to run via profile
3 years ago

Metadata Update from @nasirhm:
- Pull-request tagged with: needs feedback, needs testing

3 years ago

Pull-Request has been merged by x3mboy

3 years ago