Subversion Repositories livecd

Compare Revisions

Ignore whitespace Rev 446 → Rev 447

/trunk/SL7/livecd-config/sl-79-livecd.ks
0,0 → 1,1333
 
lang en_GB.UTF-8
keyboard us
timezone Europe/Brussels --isUtc
auth --useshadow --enablemd5
selinux --enforcing
firewall --enabled --service=mdns
xconfig --startxonboot
part / --size 10240 --fstype ext4
services --enabled=NetworkManager --disabled=network,sshd
 
 
# Root password
rootpw --iscrypted $6$K2nKf02kVKG68960$OywvoaViphSITuro/liKvCj7Pm/CH/xqzz/lsoXyaKSR1lYf0vHAqSUc483a9MCCBkIwfr/hNMfqwxqVO0OEg1
 
# Workaround for the grubby issue on live media (see https://bugzilla.redhat.com/show_bug.cgi?id=1153410)
# SL repositories (fastbugs enabled per default)
repo --name=base --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.9/$basearch/os/ --excludepkgs=grubby
repo --name=security --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.9/$basearch/updates/security/ --excludepkgs=grubby
repo --name=fastbugs --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.9/$basearch/updates/fastbugs/ --excludepkgs=grubby
repo --name=grubby --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.0/$basearch/os/ --includepkgs=grubby
 
# or use a mirror close to you
#repo --name=base --baseurl=http://mirror.switch.ch/ftp/mirror/scientificlinux/7.9/$basearch/os/ --excludepkgs=grubby
#repo --name=security --baseurl=http://mirror.switch.ch/ftp/mirror/scientificlinux/7.9/$basearch/updates/security/ --excludepkgs=grubby
#repo --name=fastbugs --baseurl=http://mirror.switch.ch/ftp/mirror/scientificlinux/7.9/$basearch/updates/fastbugs/ --excludepkgs=grubby
#repo --name=grubby --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.0/$basearch/os/ --includepkgs=grubby
 
 
%packages
abattis-cantarell-fonts
accountsservice
accountsservice-libs
acl
adwaita-cursor-theme
adwaita-gtk2-theme
adwaita-gtk3-theme
aic94xx-firmware
alsa-firmware
alsa-lib
alsa-tools-firmware
anaconda
anaconda-widgets
at
atk
atkmm
at-spi2-atk
at-spi2-core
attr
audit
audit-libs
audit-libs-python
augeas-libs
authconfig
avahi
avahi-autoipd
avahi-glib
avahi-gobject
avahi-libs
avahi-ui-gtk3
baobab
basesystem
bash
bash-completion
bc
bind-libs
bind-libs-lite
bind-license
bind-utils
binutils
biosdevname
blktrace
bluez
bluez-libs
bridge-utils
btrfs-progs
bzip2
bzip2-libs
ca-certificates
cairo
cairo-gobject
cairomm
cdparanoia-libs
celt051
checkpolicy
##cheese
##cheese-libs
chkconfig
chrony
clutter
clutter-gst2
clutter-gtk
cogl
colord
colord-gtk
colord-libs
color-filesystem
comps-extras
control-center
control-center-filesystem
coreutils
cpio
cracklib
cracklib-dicts
crda
createrepo
cronie
cronie-anacron
crontabs
cryptsetup
cryptsetup-libs
cryptsetup-python
cups-libs
cups-pk-helper
curl
cyrus-sasl-lib
cyrus-sasl-plain
dbus
dbus-glib
dbus-libs
dbus-python
dbus-x11
dconf
dejavu-fonts-common
dejavu-sans-fonts
dejavu-sans-mono-fonts
dejavu-serif-fonts
deltarpm
desktop-file-utils
device-mapper
device-mapper-event
device-mapper-event-libs
device-mapper-libs
device-mapper-multipath
device-mapper-multipath-libs
device-mapper-persistent-data
dhclient
dhcp-common
dhcp-libs
diffutils
dmidecode
dmraid
dmraid-events
dnsmasq
dosfstools
dracut
dracut-config-rescue
dracut-network
##dyninst
e2fsprogs
e2fsprogs-libs
ebtables
ed
elfutils-libelf
elfutils-libs
emacs-filesystem
enchant
##eog
ethtool
##evince
##evince-libs
##evince-nautilus
evolution-data-server
exempi
exiv2-libs
expat
fcoe-utils
file
file-libs
file-roller
file-roller-nautilus
filesystem
findutils
fipscheck
fipscheck-lib
firefox
firewall-config
firewalld
firstboot
flac-libs
folks
fontconfig
fontpackages-filesystem
fprintd
fprintd-pam
freerdp
freerdp-libs
freerdp-plugins
freetype
##frei0r-plugins
fros
fuse
fuse-libs
fxload
gamin
##gavl
gawk
GConf2
gcr
gd
gdbm
gdisk
gdk-pixbuf2
gdm
##gedit
geoclue
gettext
gettext-libs
##ghostscript
##ghostscript-fonts
giflib
gjs
glade-libs
glib2
glibc
glibc-common
glibmm24
glib-networking
glusterfs-api
glusterfs-libs
glx-utils
gmp
gnome-bluetooth
gnome-bluetooth-libs
##gnome-calculator
gnome-classic-session
gnome-clocks
##gnome-color-manager
gnome-contacts
gnome-desktop3
gnome-dictionary
gnome-disk-utility
#gnome-documents # needs huge libreoffice-core
gnome-font-viewer
gnome-icon-theme
gnome-icon-theme-extras
gnome-icon-theme-legacy
gnome-icon-theme-symbolic
gnome-keyring
gnome-keyring-pam
gnome-menus
gnome-online-accounts
gnome-packagekit
gnome-python2
gnome-python2-bonobo
gnome-python2-canvas
gnome-python2-gnome
gnome-python2-gnomevfs
gnome-screenshot
gnome-session
gnome-session-xsession
gnome-settings-daemon
gnome-shell
gnome-shell-extension-alternate-tab
gnome-shell-extension-apps-menu
gnome-shell-extension-common
gnome-shell-extension-launch-new-instance
gnome-shell-extension-places-menu
gnome-shell-extension-window-list
gnome-system-log
gnome-system-monitor
gnome-terminal
gnome-terminal-nautilus
gnome-themes-standard
gnome-tweak-tool
#gnome-user-docs
gnome-vfs2
##gnome-video-effects
##gnu-free-fonts-common
##gnu-free-mono-fonts
##gnu-free-sans-fonts
##gnu-free-serif-fonts
gnupg2
gnutls
gobject-introspection
google-crosextra-caladea-fonts
google-crosextra-carlito-fonts
gpgme
gpm-libs
graphite2
grep
grilo
grilo-plugins
groff-base
grub2
grub2-tools
grubby
gsettings-desktop-schemas
gsm
gssdp
gstreamer1
##gstreamer1-plugins-bad-free
gstreamer1-plugins-base
##gstreamer1-plugins-good
gtk2
gtk2-immodule-xim
gtk3
gtk3-immodule-xim
gtkmm30
gtksourceview3
gtk-vnc2
gucharmap
gupnp
gupnp-av
gvfs
gvfs-afc
gvfs-afp
gvfs-archive
gvfs-fuse
gvfs-goa
gvfs-gphoto2
gvfs-mtp
gvfs-smb
gvnc
gzip
hardlink
harfbuzz
harfbuzz-icu
hicolor-icon-theme
hostname
hplip-common
hunspell
hunspell-en
hunspell-en-GB
hunspell-en-US
hwdata
ibus
ibus-chewing
ibus-gtk2
ibus-gtk3
ibus-hangul
ibus-libs
ibus-m17n
ibus-rawcode
ibus-sayura
ibus-setup
ibus-table
ibus-table-chinese
imsettings
imsettings-gsettings
imsettings-libs
info
initial-setup
initscripts
iproute
iprutils
iptables
iputils
irqbalance
iscsi-initiator-utils
iscsi-initiator-utils-iscsiuio
iso-codes
isomd5sum
ivtv-firmware
iw
iwl1000-firmware
iwl100-firmware
iwl105-firmware
iwl135-firmware
iwl2000-firmware
iwl2030-firmware
iwl3160-firmware
iwl3945-firmware
iwl4965-firmware
iwl5000-firmware
iwl5150-firmware
iwl6000-firmware
iwl6000g2a-firmware
iwl6000g2b-firmware
iwl6050-firmware
iwl7260-firmware
jansson
jasper-libs
jbigkit-libs
jomolhari-fonts
##js
json-c
json-glib
kbd
kbd-misc
kernel
kernel-tools
kernel-tools-libs
kexec-tools
keybinder3
keyutils-libs
khmeros-base-fonts
khmeros-fonts-common
kmod
kmod-libs
kpartx
kpatch
krb5-libs
langtable
langtable-data
langtable-python
lcms2
ldns
ledmon
less
libacl
libaio
libarchive
libart_lgpl
libassuan
libasyncns
libatasmart
libattr
libavc1394
libblkid
libbluray
libbonobo
libbonoboui
libcacard
libcanberra
libcanberra-gtk2
libcanberra-gtk3
libcap
libcap-ng
libcdio
libcdio-paranoia
libcgroup
libchewing
libcom_err
libconfig
libcroco
libcurl
libdaemon
libdb
libdb-utils
libdmapsharing
libdmx
libdrm
libdv
libdvdnav
libdvdread
libdwarf
libedit
liberation-fonts-common
liberation-mono-fonts
liberation-sans-fonts
liberation-serif-fonts
libestr
libevent
libexif
libffi
libfontenc
libfprint
libgcc
libgcrypt
libgdata
libgdither
libgee
libgee06
libglade2
libgnome
libgnomecanvas
libgnomekbd
libgnome-keyring
libgnomeui
libgomp
libgpg-error
libgphoto2
libgsf
libgtop2
libgudev1
libgusb
libgweather
libgxps
libhangul
libhbaapi
libhbalinux
libical
libICE
libicu
libIDL
libidn
libiec61883
libieee1284
libimobiledevice
libiptcdata
libiscsi
libjpeg-turbo
libldb
libmnl
libmodman
libmount
libmtp
libmusicbrainz5
libndp
libnetfilter_conntrack
libnfnetlink
libnl
libnl3
libnl3-cli
libnm-gtk
libnotify
liboauth
libogg
libosinfo
libpcap
libpciaccess
libpeas
libpipeline
libplist
libpng
libproxy
libproxy-mozjs
libpwquality
libquvi
libquvi-scripts
libraw1394
libreport
libreport-anaconda
libreport-cli
libreport-filesystem
libreport-gtk
libreport-plugin-bugzilla
libreport-plugin-mailx
libreport-plugin-reportuploader
libreport-python
##libreport-rhel-anaconda-bugzilla
libreport-web
##libreswan
librsvg2
libsamplerate
libsecret
libselinux
libselinux-python
libselinux-utils
libsemanage
libsemanage-python
libsepol
libshout
libsigc++20
libSM
libsmbclient
libsndfile
libsoup
##libspectre
libss
libssh2
libstdc++
libstoragemgmt
libstoragemgmt-python
libsysfs
libtalloc
libtar
libtasn1
libtdb
libteam
libtevent
libthai
libtheora
libtiff
libtool-ltdl
libudisks2
libunistring
libusb
libusbx
libuser
libuser-python
libutempter
libuuid
libv4l
libverto
libvisual
libvorbis
libvpx
libwacom
libwacom-data
libwbclient
libwebp
libwnck3
libX11
libX11-common
libXau
libxcb
libXcomposite
libXcursor
libXdamage
libXdmcp
libXevie
libXext
libXfixes
libXfont
libXft
libXi
libXinerama
libxkbfile
libxklavier
libxml2
libxml2-python
libXmu
libXpm
libXrandr
libXrender
libXres
libxslt
libXt
libXtst
libXv
libXvMC
libXxf86dga
libXxf86misc
libXxf86vm
libzapojit
linuxconsoletools
linux-firmware
lklug-fonts
lldpad
lm_sensors-libs
lockdev
logrotate
lohit-assamese-fonts
lohit-bengali-fonts
lohit-devanagari-fonts
lohit-gujarati-fonts
lohit-kannada-fonts
lohit-malayalam-fonts
lohit-marathi-fonts
lohit-nepali-fonts
lohit-oriya-fonts
lohit-punjabi-fonts
lohit-tamil-fonts
lohit-telugu-fonts
lsof
lua
lvm2
lvm2-libs
lzo
m17n-contrib
m17n-db
m17n-lib
m2crypto
madan-fonts
mailx
make
man-db
man-pages
man-pages-overrides
##mariadb-libs
marisa
mdadm
mesa-dri-drivers
mesa-filesystem
mesa-libEGL
mesa-libgbm
mesa-libGL
mesa-libglapi
mesa-libxatracker
mesa-private-llvm
metacity
microcode_ctl
mlocate
mobile-broadband-provider-info
ModemManager-glib
mousetweaks
mozilla-filesystem
mozjs17
mtdev
mtools
mtr
mutter
nano
nautilus
nautilus-extensions
nautilus-sendto
ncurses
ncurses-base
ncurses-libs
neon
net-snmp-libs
nettle
net-tools
NetworkManager
NetworkManager-glib
##NetworkManager-libreswan
NetworkManager-tui
newt
newt-python
nm-connection-editor
nspr
nss
nss-softokn
nss-softokn-freebl
nss-sysinit
nss-tools
nss-util
ntpdate
ntsysv
numactl-libs
obexd
oddjob
oddjob-mkhomedir
openjpeg-libs
openldap
openssh
openssh-clients
openssh-server
openssl
openssl-libs
opus
ORBit2
orc
os-prober
overpass-fonts
p11-kit
p11-kit-trust
PackageKit
PackageKit-command-not-found
PackageKit-device-rebind
PackageKit-glib
PackageKit-gtk3-module
PackageKit-yum
pakchois
paktype-naskh-basic-fonts
pam
pango
pangomm
paratype-pt-sans-fonts
parted
passwd
patch
pciutils
pciutils-libs
pcre
pcsc-lite-libs
pinentry
pinentry-gtk
pinfo
pixman
pkgconfig
plymouth
plymouth-core-libs
plymouth-graphics-libs
plymouth-plugin-label
plymouth-plugin-two-step
plymouth-scripts
plymouth-system-theme
plymouth-theme-charge
pm-utils
policycoreutils
policycoreutils-python
polkit
polkit-pkla-compat
poppler
poppler-data
poppler-glib
popt
ppp
procps-ng
psacct
psmisc
pth
pulseaudio
pulseaudio-gdm-hooks
pulseaudio-libs
pulseaudio-libs-glib2
pulseaudio-module-bluetooth
pyatspi
pycairo
#pygobject2
#pygobject3
#pygobject3-base
pygpgme
pygtk2
pygtk2-libglade
pykickstart
pyliblzma
pyOpenSSL
pyorbit
pyparted
pytalloc
python
python-backports
python-backports-ssl_match_hostname
python-blivet
python-chardet
python-configobj
python-coverage
python-dateutil
python-decorator
python-deltarpm
python-di
python-dmidecode
python-ethtool
python-gudev
python-hwdata
python-iniparse
python-IPy
python-kitchen
python-libs
python-lxml
python-meh
python-nss
python-pwquality
python-pyblock
python-pycurl
python-pyudev
python-setuptools
python-slip
python-slip-dbus
python-urlgrabber
pytz
pyxattr
qrencode-libs
quota
quota-nls
rdate
readline
realmd
sl-bookmarks
sl-indexhtml
sl-logos
redhat-menus
rest
rfkill
rng-tools
rootfiles
rpm
rpm-build-libs
rpm-libs
rpm-python
rsync
rsyslog
rsyslog-mmjsonparse
rtkit
samba-common
samba-libs
satyr
sbc
scl-utils
SDL
##seahorse
sed
selinux-policy
selinux-policy-targeted
setools-libs
setroubleshoot
setroubleshoot-plugins
setroubleshoot-server
setserial
setup
setuptool
sg3_utils-libs
sgpio
shadow-utils
shared-mime-info
sil-abyssinica-fonts
sil-nuosu-fonts
sil-padauk-fonts
slang
smartmontools
smc-fonts-common
smc-meera-fonts
snappy
sos
sound-theme-freedesktop
soundtouch
speex
spice-glib
spice-gtk3
spice-vdagent
sqlite
sssd-client
startup-notification
stix-fonts
strace
sudo
##sushi
syslinux
sysstat
system-config-keyboard
system-config-keyboard-base
systemd
systemd-libs
systemd-python
systemd-sysv
##systemtap-runtime
sysvinit-tools
taglib
tar
tcpdump
tcp_wrappers
tcp_wrappers-libs
tcsh
teamd
telepathy-filesystem
telepathy-glib
telepathy-logger
thai-scalable-fonts-common
thai-scalable-waree-fonts
tigervnc-license
tigervnc-server-minimal
time
##totem
##totem-nautilus
##totem-pl-parser
traceroute
tracker
tuned
tzdata
##ucs-miscfixed-fonts
udisks2
unbound-libs
unzip
upower
urw-fonts
usb_modeswitch
usb_modeswitch-data
usbmuxd
usbredir
usbutils
usermode
usermode-gtk
ustr
util-linux
#vim-common
#vim-enhanced
#vim-filesystem
#vim-minimal
vinagre
vino
virt-what
vlgothic-fonts
vte3
wavpack
webkitgtk3
webrtc-audio-processing
wget
which
##words
wpa_supplicant
wqy-microhei-fonts
xcb-util
xdg-user-dirs
xdg-user-dirs-gtk
xdg-utils
xfsdump
xfsprogs
xkeyboard-config
xml-common
xmlrpc-c
xmlrpc-c-client
xorg-x11-drivers
xorg-x11-drv-ati
xorg-x11-drv-dummy
xorg-x11-drv-evdev
xorg-x11-drv-fbdev
xorg-x11-drv-intel
xorg-x11-drv-modesetting
xorg-x11-drv-nouveau
xorg-x11-drv-qxl
xorg-x11-drv-synaptics
xorg-x11-drv-v4l
xorg-x11-drv-vesa
xorg-x11-drv-vmmouse
xorg-x11-drv-vmware
xorg-x11-drv-void
xorg-x11-drv-wacom
xorg-x11-font-utils
xorg-x11-glamor
xorg-x11-server-common
xorg-x11-server-utils
xorg-x11-server-Xorg
xorg-x11-utils
xorg-x11-xauth
xorg-x11-xinit
xorg-x11-xkb-utils
xvattr
xz
xz-libs
yajl
yelp
yelp-libs
yelp-xsl
yum
yum-langpacks
yum-metadata-parser
yum-utils
zenity
zip
zlib
 
# for UEFI/Secureboot support
grub2
grub2-efi
efibootmgr
shim-x64
 
 
 
%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
### 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
\$*
}
 
# Make sure we don't mangle the hardware clock on shutdown
ln -sf /dev/null /etc/systemd/system/hwclock-save.service
 
livedir="LiveOS"
for arg in \`cat /proc/cmdline\` ; do
if [ "\${arg##rd.live.dir=}" != "\${arg}" ]; then
livedir=\${arg##rd.live.dir=}
return
fi
if [ "\${arg##live_dir=}" != "\${arg}" ]; then
livedir=\${arg##live_dir=}
return
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=}
return
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
 
# make it so that we don't do writing to the overlay for things which
# are just tmpdirs/caches
mount -t tmpfs -o mode=0755 varcacheyum /var/cache/yum
mount -t tmpfs vartmp /var/tmp
[ -x /sbin/restorecon ] && /sbin/restorecon /var/cache/yum /var/tmp >/dev/null 2>&1
 
if [ -n "\$configdone" ]; then
exit 0
fi
 
# add live 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
echo -e "\ngsettings set org.gnome.settings-daemon.plugins.updates active 'false' &>/dev/null || :" >> /home/liveuser/.bashrc
 
# arrange icons on desktop
echo -e "\ngvfs-set-attribute -t string '/home/liveuser/Desktop/system-config-keyboard.desktop' 'metadata::nautilus-icon-position' '60,22' &>/dev/null || :" >> /home/liveuser/.bashrc
echo "gvfs-set-attribute -t string '/home/liveuser/Desktop/liveinst.desktop' 'metadata::nautilus-icon-position' '60,122' &>/dev/null || :" >> /home/liveuser/.bashrc
 
# no trash icon
echo -e "\ngsettings set org.gnome.nautilus.desktop trash-icon-visible false &>/dev/null || :" >> /home/liveuser/.bashrc
 
# trust all .desktop files on liveuser desktop
echo -e "\nls -1 /home/liveuser/Desktop/*.desktop | xargs -i gio set \"{}\" \"metadata::trusted\" yes" >> /home/liveuser/.bashrc
 
# 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 || :
 
# disable kdump service
systemctl --no-reload disable kdump.service 2> /dev/null || :
systemctl stop kdump.service 2> /dev/null || :
 
# disable tuned.service
systemctl --no-reload disable tuned.service 2> /dev/null || :
systemctl stop tuned.service 2> /dev/null || :
 
# Mark things as configured
touch /.liveimg-configured
 
# add static hostname to work around xauth bug
# https://bugzilla.redhat.com/show_bug.cgi?id=67.986
echo "localhost" > /etc/hostname
 
# Fixing the lang install issue when other lang than English is selected . See http://bugs.centos.org/view.php?id=7217
/usr/bin/cp /usr/lib/python2.7/site-packages/blivet/size.py /usr/lib/python2.7/site-packages/blivet/size.py.orig
/usr/bin/sed -i "s#return self.humanReadable()#return self.humanReadable().encode('utf-8')#g" /usr/lib/python2.7/site-packages/blivet/size.py
 
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
 
# 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-*
echo "Packages within this LiveCD (with version)"
rpm -qa | sort
echo "Packages within this LiveCD"
rpm -qa --qf "%{name}\n" | sort
# 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
 
# save a little bit of space at least...
rm -f /boot/initramfs*
# make sure there aren't core files lying around
rm -f /core*
 
# remove langpacks of firefox - this will significantly save space
rm -f /usr/lib64/firefox/langpacks/*
 
# convince readahead not to collect
# FIXME: for systemd
 
cat >> /etc/rc.d/init.d/livesys << EOF
 
 
# disable updates plugin
cat >> /usr/share/glib-2.0/schemas/org.gnome.settings-daemon.plugins.updates.gschema.override << FOE
[org.gnome.settings-daemon.plugins.updates]
active=false
FOE
 
# Show the system-config-keyboard tool on the desktop
mkdir /home/liveuser/Desktop -p >/dev/null
cat /usr/share/applications/system-config-keyboard.desktop | sed '/NotShowIn/d' |sed 's/Terminal=false/Terminal=true/' > /home/liveuser/Desktop/system-config-keyboard.desktop
cat /usr/share/applications/liveinst.desktop | sed '/NoDisplay/d' > /home/liveuser/Desktop/liveinst.desktop
chmod +x /home/liveuser/Desktop/*.desktop
chown -R liveuser:liveuser /home/liveuser
 
# Liveuser face
if [ -e /usr/share/icons/hicolor/96x96/apps/fedora-logo-icon.png ] ; then
cp /usr/share/icons/hicolor/96x96/apps/fedora-logo-icon.png /home/liveuser/.face
chown liveuser:liveuser /home/liveuser/.face
fi
 
# make the installer show up
if [ -f /usr/share/applications/liveinst.desktop ]; then
# Show harddisk install in shell dash
sed -i -e 's/NoDisplay=true/NoDisplay=false/' /usr/share/applications/liveinst.desktop
# need to move it to anaconda.desktop to make shell happy
#cp /usr/share/applications/liveinst.desktop /usr/share/applications/anaconda.desktop
fi
cat >> /usr/share/glib-2.0/schemas/org.gnome.shell.gschema.override << FOE
[org.gnome.shell]
favorite-apps=['liveinst.desktop','firefox.desktop', 'evolution.desktop', 'empathy.desktop', 'rhythmbox.desktop', 'shotwell.desktop', 'libreoffice-writer.desktop', 'nautilus.desktop', 'gnome-documents.desktop', 'anaconda.desktop']
FOE
 
 
# set up auto-login
cat > /etc/gdm/custom.conf << FOE
[daemon]
AutomaticLoginEnable=True
AutomaticLogin=liveuser
FOE
 
# Turn off PackageKit-command-not-found while uninstalled
if [ -f /etc/PackageKit/CommandNotFound.conf ]; then
sed -i -e 's/^SoftwareSourceSearch=true/SoftwareSourceSearch=false/' /etc/PackageKit/CommandNotFound.conf
fi
 
# make sure to set the right permissions and selinux contexts
chown -R liveuser:liveuser /home/liveuser/
restorecon -R /home/liveuser/
 
# Fixing default locale to us - does not work for SL7.1
#localectl set-keymap us
#localectl set-x11-keymap us
EOF
 
# rebuild schema cache with any overrides we installed
glib-compile-schemas /usr/share/glib-2.0/schemas
 
 
%end
/trunk/SL7/livecd-config/sl-79-livedvd-extra.ks
0,0 → 1,467
 
lang en_GB.UTF-8
keyboard us
timezone Europe/Brussels --isUtc
auth --useshadow --enablemd5
selinux --enforcing
firewall --enabled --service=mdns
xconfig --startxonboot
part / --size 10240 --fstype ext4
services --enabled=NetworkManager --disabled=network,sshd
 
 
# Root password
rootpw --iscrypted $6$K2nKf02kVKG68960$OywvoaViphSITuro/liKvCj7Pm/CH/xqzz/lsoXyaKSR1lYf0vHAqSUc483a9MCCBkIwfr/hNMfqwxqVO0OEg1
 
# Workaround for the grubby issue on live media (see https://bugzilla.redhat.com/show_bug.cgi?id=1153410)
# SL repositories (fastbugs enabled per default)
repo --name=base --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.9/$basearch/os/ --excludepkgs=grubby
repo --name=security --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.9/$basearch/updates/security/ --excludepkgs=grubby
repo --name=fastbugs --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.9/$basearch/updates/fastbugs/ --excludepkgs=grubby
repo --name=grubby --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.0/$basearch/os/ --includepkgs=grubby
 
# or use a mirror close to you
#repo --name=base --baseurl=http://mirror.switch.ch/ftp/mirror/scientificlinux/7.9/$basearch/os/ --excludepkgs=grubby
#repo --name=security --baseurl=http://mirror.switch.ch/ftp/mirror/scientificlinux/7.9/$basearch/updates/security/ --excludepkgs=grubby
#repo --name=fastbugs --baseurl=http://mirror.switch.ch/ftp/mirror/scientificlinux/7.9/$basearch/updates/fastbugs/ --excludepkgs=grubby
#repo --name=grubby --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.0/$basearch/os/ --includepkgs=grubby
 
# for yum-conf-epel
repo --name=repos --baseurl=http://ftp.scientificlinux.org/linux/scientific/7x/repos/$basearch
 
# epel
#repo --name=epel --baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
repo --name=epel --baseurl=http://ftp-stud.hs-esslingen.de/pub/epel/7/$basearch
 
 
%packages
@base
@core
@dial-up
@directory-client
@fonts
@gnome-desktop
@guest-agents
@guest-desktop-agents
@input-methods
@internet-browser
@java-platform
@multimedia
@network-file-system-client
@print-client
@x11
@internet-applications
@office-suite
#@remote-desktop-clients
@gnome-apps
 
# additional packages
@backup-client
@compat-libraries
@development
@emacs
@graphics
@legacy-x
@network-tools
@performance
@perl-runtime
@php
@technical-writing
 
# console-internet
lftp
mutt
whois
 
# legacy-unix
finger
ksh
telnet
 
# network-tools
nmap
wireshark
wireshark-gnome
iptraf-ng
netsniff-ng
 
# scientific
atlas
fftw
gnuplot
lapack
numpy
scipy
units
 
# system-admin-tools
screen
system-storage-manager
tree
mc
 
# development
java-1.7.0-openjdk-devel
 
# live install tools
anaconda
system-config-keyboard
firefox
patch
 
# for UEFI/Secureboot support
grub2
grub2-efi
efibootmgr
shim
 
# add yum-conf-epel
yum-conf-epel
 
# packages from epel repo
dd_rescue
ddrescue
fuse-sshfs
gparted
iperf3
NetworkManager-openvpn-gnome
ntfs-3g
ntfsprogs
 
%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
### 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
\$*
}
 
# Make sure we don't mangle the hardware clock on shutdown
ln -sf /dev/null /etc/systemd/system/hwclock-save.service
 
livedir="LiveOS"
for arg in \`cat /proc/cmdline\` ; do
if [ "\${arg##rd.live.dir=}" != "\${arg}" ]; then
livedir=\${arg##rd.live.dir=}
return
fi
if [ "\${arg##live_dir=}" != "\${arg}" ]; then
livedir=\${arg##live_dir=}
return
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=}
return
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
 
# make it so that we don't do writing to the overlay for things which
# are just tmpdirs/caches
mount -t tmpfs -o mode=0755 varcacheyum /var/cache/yum
mount -t tmpfs vartmp /var/tmp
[ -x /sbin/restorecon ] && /sbin/restorecon /var/cache/yum /var/tmp >/dev/null 2>&1
 
if [ -n "\$configdone" ]; then
exit 0
fi
 
# add live 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
echo -e "\ngsettings set org.gnome.settings-daemon.plugins.updates active 'false' &>/dev/null || :" >> /home/liveuser/.bashrc
 
# arrange icons on desktop
echo -e "\ngvfs-set-attribute -t string '/home/liveuser/Desktop/system-config-keyboard.desktop' 'metadata::nautilus-icon-position' '60,22' &>/dev/null || :" >> /home/liveuser/.bashrc
echo "gvfs-set-attribute -t string '/home/liveuser/Desktop/liveinst.desktop' 'metadata::nautilus-icon-position' '60,122' &>/dev/null || :" >> /home/liveuser/.bashrc
 
# no trash icon
echo -e "\ngsettings set org.gnome.nautilus.desktop trash-icon-visible false &>/dev/null || :" >> /home/liveuser/.bashrc
 
# trust all .desktop files on liveuser desktop
echo -e "\nls -1 /home/liveuser/Desktop/*.desktop | xargs -i gio set \"{}\" \"metadata::trusted\" yes" >> /home/liveuser/.bashrc
 
# 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 || :
 
# disable kdump service
systemctl --no-reload disable kdump.service 2> /dev/null || :
systemctl stop kdump.service 2> /dev/null || :
 
# disable tuned.service
systemctl --no-reload disable tuned.service 2> /dev/null || :
systemctl stop tuned.service 2> /dev/null || :
 
# Mark things as configured
touch /.liveimg-configured
 
# add static hostname to work around xauth bug
# https://bugzilla.redhat.com/show_bug.cgi?id=67.986
echo "localhost" > /etc/hostname
 
# Fixing the lang install issue when other lang than English is selected . See http://bugs.centos.org/view.php?id=7217
/usr/bin/cp /usr/lib/python2.7/site-packages/blivet/size.py /usr/lib/python2.7/site-packages/blivet/size.py.orig
/usr/bin/sed -i "s#return self.humanReadable()#return self.humanReadable().encode('utf-8')#g" /usr/lib/python2.7/site-packages/blivet/size.py
 
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
 
# 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-*
echo "Packages within this LiveCD (with version)"
rpm -qa | sort
echo "Packages within this LiveCD"
rpm -qa --qf "%{name}\n" | sort
# 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
 
# save a little bit of space at least...
rm -f /boot/initramfs*
# make sure there aren't core files lying around
rm -f /core*
 
# convince readahead not to collect
# FIXME: for systemd
 
cat >> /etc/rc.d/init.d/livesys << EOF
 
 
# disable updates plugin
cat >> /usr/share/glib-2.0/schemas/org.gnome.settings-daemon.plugins.updates.gschema.override << FOE
[org.gnome.settings-daemon.plugins.updates]
active=false
FOE
 
# Show the system-config-keyboard tool on the desktop
mkdir /home/liveuser/Desktop -p >/dev/null
cat /usr/share/applications/system-config-keyboard.desktop | sed '/NotShowIn/d' |sed 's/Terminal=false/Terminal=true/' > /home/liveuser/Desktop/system-config-keyboard.desktop
cat /usr/share/applications/liveinst.desktop | sed '/NoDisplay/d' > /home/liveuser/Desktop/liveinst.desktop
chmod +x /home/liveuser/Desktop/*.desktop
chown -R liveuser:liveuser /home/liveuser
 
# Liveuser face
if [ -e /usr/share/icons/hicolor/96x96/apps/fedora-logo-icon.png ] ; then
cp /usr/share/icons/hicolor/96x96/apps/fedora-logo-icon.png /home/liveuser/.face
chown liveuser:liveuser /home/liveuser/.face
fi
 
# make the installer show up
if [ -f /usr/share/applications/liveinst.desktop ]; then
# Show harddisk install in shell dash
sed -i -e 's/NoDisplay=true/NoDisplay=false/' /usr/share/applications/liveinst.desktop
# need to move it to anaconda.desktop to make shell happy
#cp /usr/share/applications/liveinst.desktop /usr/share/applications/anaconda.desktop
fi
cat >> /usr/share/glib-2.0/schemas/org.gnome.shell.gschema.override << FOE
[org.gnome.shell]
favorite-apps=['liveinst.desktop','firefox.desktop', 'evolution.desktop', 'empathy.desktop', 'rhythmbox.desktop', 'shotwell.desktop', 'libreoffice-writer.desktop', 'nautilus.desktop', 'gnome-documents.desktop', 'anaconda.desktop']
FOE
 
 
# set up auto-login
cat > /etc/gdm/custom.conf << FOE
[daemon]
AutomaticLoginEnable=True
AutomaticLogin=liveuser
FOE
 
# Turn off PackageKit-command-not-found while uninstalled
if [ -f /etc/PackageKit/CommandNotFound.conf ]; then
sed -i -e 's/^SoftwareSourceSearch=true/SoftwareSourceSearch=false/' /etc/PackageKit/CommandNotFound.conf
fi
 
# make sure to set the right permissions and selinux contexts
chown -R liveuser:liveuser /home/liveuser/
restorecon -R /home/liveuser/
 
# Fixing default locale to us - does not work for SL7.1
#localectl set-keymap us
#localectl set-x11-keymap us
EOF
 
# rebuild schema cache with any overrides we installed
glib-compile-schemas /usr/share/glib-2.0/schemas
 
 
%end
/trunk/SL7/livecd-config/sl-79-livedvd-gnome.ks
0,0 → 1,447
 
lang en_GB.UTF-8
keyboard us
timezone Europe/Brussels --isUtc
auth --useshadow --enablemd5
selinux --enforcing
firewall --enabled --service=mdns
xconfig --startxonboot
part / --size 10240 --fstype ext4
services --enabled=NetworkManager --disabled=network,sshd
 
 
# Root password
rootpw --iscrypted $6$K2nKf02kVKG68960$OywvoaViphSITuro/liKvCj7Pm/CH/xqzz/lsoXyaKSR1lYf0vHAqSUc483a9MCCBkIwfr/hNMfqwxqVO0OEg1
 
# Workaround for the grubby issue on live media (see https://bugzilla.redhat.com/show_bug.cgi?id=1153410)
# SL repositories (fastbugs enabled per default)
repo --name=base --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.9/$basearch/os/ --excludepkgs=grubby
repo --name=security --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.9/$basearch/updates/security/ --excludepkgs=grubby
repo --name=fastbugs --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.9/$basearch/updates/fastbugs/ --excludepkgs=grubby
repo --name=grubby --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.0/$basearch/os/ --includepkgs=grubby
 
# or use a mirror close to you
#repo --name=base --baseurl=http://mirror.switch.ch/ftp/mirror/scientificlinux/7.9/$basearch/os/ --excludepkgs=grubby
#repo --name=security --baseurl=http://mirror.switch.ch/ftp/mirror/scientificlinux/7.9/$basearch/updates/security/ --excludepkgs=grubby
#repo --name=fastbugs --baseurl=http://mirror.switch.ch/ftp/mirror/scientificlinux/7.9/$basearch/updates/fastbugs/ --excludepkgs=grubby
#repo --name=grubby --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.0/$basearch/os/ --includepkgs=grubby
 
 
%packages
@base
@core
@dial-up
@directory-client
@fonts
@gnome-desktop
@guest-agents
@guest-desktop-agents
@input-methods
@internet-browser
@java-platform
@multimedia
@network-file-system-client
@print-client
@x11
@internet-applications
@office-suite
#@remote-desktop-clients
@gnome-apps
 
# additional packages
@backup-client
@compat-libraries
@development
@emacs
@graphics
@legacy-x
@network-tools
@performance
@perl-runtime
@php
@technical-writing
 
# console-internet
lftp
mutt
whois
 
# legacy-unix
finger
ksh
telnet
 
# network-tools
nmap
wireshark
wireshark-gnome
iptraf-ng
netsniff-ng
 
# scientific
atlas
fftw
gnuplot
lapack
numpy
scipy
units
 
# system-admin-tools
screen
system-storage-manager
tree
mc
 
# development
java-1.7.0-openjdk-devel
 
# live install tools
anaconda
system-config-keyboard
firefox
patch
 
# for UEFI/Secureboot support
grub2
grub2-efi
efibootmgr
shim
 
%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
### 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
\$*
}
 
# Make sure we don't mangle the hardware clock on shutdown
ln -sf /dev/null /etc/systemd/system/hwclock-save.service
 
livedir="LiveOS"
for arg in \`cat /proc/cmdline\` ; do
if [ "\${arg##rd.live.dir=}" != "\${arg}" ]; then
livedir=\${arg##rd.live.dir=}
return
fi
if [ "\${arg##live_dir=}" != "\${arg}" ]; then
livedir=\${arg##live_dir=}
return
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=}
return
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
 
# make it so that we don't do writing to the overlay for things which
# are just tmpdirs/caches
mount -t tmpfs -o mode=0755 varcacheyum /var/cache/yum
mount -t tmpfs vartmp /var/tmp
[ -x /sbin/restorecon ] && /sbin/restorecon /var/cache/yum /var/tmp >/dev/null 2>&1
 
if [ -n "\$configdone" ]; then
exit 0
fi
 
# add live 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
echo -e "\ngsettings set org.gnome.settings-daemon.plugins.updates active 'false' &>/dev/null || :" >> /home/liveuser/.bashrc
 
# arrange icons on desktop
echo -e "\ngvfs-set-attribute -t string '/home/liveuser/Desktop/system-config-keyboard.desktop' 'metadata::nautilus-icon-position' '60,22' &>/dev/null || :" >> /home/liveuser/.bashrc
echo "gvfs-set-attribute -t string '/home/liveuser/Desktop/liveinst.desktop' 'metadata::nautilus-icon-position' '60,122' &>/dev/null || :" >> /home/liveuser/.bashrc
 
# no trash icon
echo -e "\ngsettings set org.gnome.nautilus.desktop trash-icon-visible false &>/dev/null || :" >> /home/liveuser/.bashrc
 
# trust all .desktop files on liveuser desktop
echo -e "\nls -1 /home/liveuser/Desktop/*.desktop | xargs -i gio set \"{}\" \"metadata::trusted\" yes" >> /home/liveuser/.bashrc
 
# 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 || :
 
# disable kdump service
systemctl --no-reload disable kdump.service 2> /dev/null || :
systemctl stop kdump.service 2> /dev/null || :
 
# disable tuned.service
systemctl --no-reload disable tuned.service 2> /dev/null || :
systemctl stop tuned.service 2> /dev/null || :
 
# Mark things as configured
touch /.liveimg-configured
 
# add static hostname to work around xauth bug
# https://bugzilla.redhat.com/show_bug.cgi?id=67.986
echo "localhost" > /etc/hostname
 
# Fixing the lang install issue when other lang than English is selected . See http://bugs.centos.org/view.php?id=7217
/usr/bin/cp /usr/lib/python2.7/site-packages/blivet/size.py /usr/lib/python2.7/site-packages/blivet/size.py.orig
/usr/bin/sed -i "s#return self.humanReadable()#return self.humanReadable().encode('utf-8')#g" /usr/lib/python2.7/site-packages/blivet/size.py
 
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
 
# 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-*
echo "Packages within this LiveCD (with version)"
rpm -qa | sort
echo "Packages within this LiveCD"
rpm -qa --qf "%{name}\n" | sort
# 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
 
# save a little bit of space at least...
rm -f /boot/initramfs*
# make sure there aren't core files lying around
rm -f /core*
 
# convince readahead not to collect
# FIXME: for systemd
 
cat >> /etc/rc.d/init.d/livesys << EOF
 
 
# disable updates plugin
cat >> /usr/share/glib-2.0/schemas/org.gnome.settings-daemon.plugins.updates.gschema.override << FOE
[org.gnome.settings-daemon.plugins.updates]
active=false
FOE
 
# Show the system-config-keyboard tool on the desktop
mkdir /home/liveuser/Desktop -p >/dev/null
cat /usr/share/applications/system-config-keyboard.desktop | sed '/NotShowIn/d' |sed 's/Terminal=false/Terminal=true/' > /home/liveuser/Desktop/system-config-keyboard.desktop
cat /usr/share/applications/liveinst.desktop | sed '/NoDisplay/d' > /home/liveuser/Desktop/liveinst.desktop
chmod +x /home/liveuser/Desktop/*.desktop
chown -R liveuser:liveuser /home/liveuser
 
# Liveuser face
if [ -e /usr/share/icons/hicolor/96x96/apps/fedora-logo-icon.png ] ; then
cp /usr/share/icons/hicolor/96x96/apps/fedora-logo-icon.png /home/liveuser/.face
chown liveuser:liveuser /home/liveuser/.face
fi
 
# make the installer show up
if [ -f /usr/share/applications/liveinst.desktop ]; then
# Show harddisk install in shell dash
sed -i -e 's/NoDisplay=true/NoDisplay=false/' /usr/share/applications/liveinst.desktop
# need to move it to anaconda.desktop to make shell happy
#cp /usr/share/applications/liveinst.desktop /usr/share/applications/anaconda.desktop
fi
cat >> /usr/share/glib-2.0/schemas/org.gnome.shell.gschema.override << FOE
[org.gnome.shell]
favorite-apps=['liveinst.desktop','firefox.desktop', 'evolution.desktop', 'empathy.desktop', 'rhythmbox.desktop', 'shotwell.desktop', 'libreoffice-writer.desktop', 'nautilus.desktop', 'gnome-documents.desktop', 'anaconda.desktop']
FOE
 
 
# set up auto-login
cat > /etc/gdm/custom.conf << FOE
[daemon]
AutomaticLoginEnable=True
AutomaticLogin=liveuser
FOE
 
# Turn off PackageKit-command-not-found while uninstalled
if [ -f /etc/PackageKit/CommandNotFound.conf ]; then
sed -i -e 's/^SoftwareSourceSearch=true/SoftwareSourceSearch=false/' /etc/PackageKit/CommandNotFound.conf
fi
 
# make sure to set the right permissions and selinux contexts
chown -R liveuser:liveuser /home/liveuser/
restorecon -R /home/liveuser/
 
# Fixing default locale to us - does not work for SL7.1
#localectl set-keymap us
#localectl set-x11-keymap us
EOF
 
# rebuild schema cache with any overrides we installed
glib-compile-schemas /usr/share/glib-2.0/schemas
 
 
%end
/trunk/SL7/livecd-config/sl-79-livedvd-kde.ks
0,0 → 1,453
 
lang en_GB.UTF-8
keyboard us
timezone Europe/Brussels --isUtc
auth --useshadow --enablemd5
selinux --enforcing
firewall --enabled --service=mdns
xconfig --startxonboot
part / --size 10240 --fstype ext4
services --enabled=NetworkManager --disabled=network,sshd
 
 
# Root password
rootpw --iscrypted $6$K2nKf02kVKG68960$OywvoaViphSITuro/liKvCj7Pm/CH/xqzz/lsoXyaKSR1lYf0vHAqSUc483a9MCCBkIwfr/hNMfqwxqVO0OEg1
 
# Workaround for the grubby issue on live media (see https://bugzilla.redhat.com/show_bug.cgi?id=1153410)
# SL repositories (fastbugs enabled per default)
repo --name=base --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.9/$basearch/os/ --excludepkgs=grubby
repo --name=security --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.9/$basearch/updates/security/ --excludepkgs=grubby
repo --name=fastbugs --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.9/$basearch/updates/fastbugs/ --excludepkgs=grubby
repo --name=grubby --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.0/$basearch/os/ --includepkgs=grubby
 
# or use a mirror close to you
#repo --name=base --baseurl=http://mirror.switch.ch/ftp/mirror/scientificlinux/7.9/$basearch/os/ --excludepkgs=grubby
#repo --name=security --baseurl=http://mirror.switch.ch/ftp/mirror/scientificlinux/7.9/$basearch/updates/security/ --excludepkgs=grubby
#repo --name=fastbugs --baseurl=http://mirror.switch.ch/ftp/mirror/scientificlinux/7.9/$basearch/updates/fastbugs/ --excludepkgs=grubby
#repo --name=grubby --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.0/$basearch/os/ --includepkgs=grubby
 
 
%packages
@base
@core
@dial-up
@directory-client
@fonts
@kde-desktop
@guest-agents
@guest-desktop-agents
@input-methods
@internet-browser
@java-platform
@multimedia
@network-file-system-client
@print-client
@x11
@internet-applications
@office-suite
#@remote-desktop-clients
@kde-apps
@kde-media
 
# additional packages
@backup-client
@compat-libraries
@development
@emacs
@graphics
@legacy-x
@network-tools
@performance
@perl-runtime
@php
@technical-writing
 
# console-internet
lftp
mutt
whois
 
# legacy-unix
finger
ksh
telnet
 
# network-tools
nmap
wireshark
iptraf-ng
netsniff-ng
 
# scientific
atlas
fftw
gnuplot
lapack
numpy
scipy
units
 
# system-admin-tools
screen
system-storage-manager
tree
mc
 
# development
java-1.7.0-openjdk-devel
 
# live install tools
anaconda
system-config-keyboard
firefox
patch
 
# for UEFI/Secureboot support
grub2
grub2-efi
efibootmgr
shim
 
%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
### 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
\$*
}
 
# Make sure we don't mangle the hardware clock on shutdown
ln -sf /dev/null /etc/systemd/system/hwclock-save.service
 
livedir="LiveOS"
for arg in \`cat /proc/cmdline\` ; do
if [ "\${arg##rd.live.dir=}" != "\${arg}" ]; then
livedir=\${arg##rd.live.dir=}
return
fi
if [ "\${arg##live_dir=}" != "\${arg}" ]; then
livedir=\${arg##live_dir=}
return
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=}
return
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
 
# make it so that we don't do writing to the overlay for things which
# are just tmpdirs/caches
mount -t tmpfs -o mode=0755 varcacheyum /var/cache/yum
mount -t tmpfs vartmp /var/tmp
[ -x /sbin/restorecon ] && /sbin/restorecon /var/cache/yum /var/tmp >/dev/null 2>&1
 
if [ -n "\$configdone" ]; then
exit 0
fi
 
# add live 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
echo -e "\ngsettings set org.gnome.settings-daemon.plugins.updates active 'false' &>/dev/null || :" >> /home/liveuser/.bashrc
 
# arrange icons on desktop
echo -e "\ngvfs-set-attribute -t string '/home/liveuser/Desktop/system-config-keyboard.desktop' 'metadata::nautilus-icon-position' '60,22' &>/dev/null || :" >> /home/liveuser/.bashrc
echo "gvfs-set-attribute -t string '/home/liveuser/Desktop/liveinst.desktop' 'metadata::nautilus-icon-position' '60,122' &>/dev/null || :" >> /home/liveuser/.bashrc
 
# no trash icon
echo -e "\ngsettings set org.gnome.nautilus.desktop trash-icon-visible false &>/dev/null || :" >> /home/liveuser/.bashrc
 
# trust all .desktop files on liveuser desktop
echo -e "\nls -1 /home/liveuser/Desktop/*.desktop | xargs -i gio set \"{}\" \"metadata::trusted\" yes" >> /home/liveuser/.bashrc
 
# 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 || :
 
# disable kdump service
systemctl --no-reload disable kdump.service 2> /dev/null || :
systemctl stop kdump.service 2> /dev/null || :
 
# disable tuned.service
systemctl --no-reload disable tuned.service 2> /dev/null || :
systemctl stop tuned.service 2> /dev/null || :
 
# Mark things as configured
touch /.liveimg-configured
 
# add static hostname to work around xauth bug
# https://bugzilla.redhat.com/show_bug.cgi?id=67.986
echo "localhost" > /etc/hostname
 
# Fixing the lang install issue when other lang than English is selected . See http://bugs.centos.org/view.php?id=7217
/usr/bin/cp /usr/lib/python2.7/site-packages/blivet/size.py /usr/lib/python2.7/site-packages/blivet/size.py.orig
/usr/bin/sed -i "s#return self.humanReadable()#return self.humanReadable().encode('utf-8')#g" /usr/lib/python2.7/site-packages/blivet/size.py
 
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
 
# 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-*
echo "Packages within this LiveCD (with version)"
rpm -qa | sort
echo "Packages within this LiveCD"
rpm -qa --qf "%{name}\n" | sort
# 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
 
# save a little bit of space at least...
rm -f /boot/initramfs*
# make sure there aren't core files lying around
rm -f /core*
 
# convince readahead not to collect
# FIXME: for systemd
 
cat >> /etc/rc.d/init.d/livesys << EOF
 
 
# disable updates plugin
cat >> /usr/share/glib-2.0/schemas/org.gnome.settings-daemon.plugins.updates.gschema.override << FOE
[org.gnome.settings-daemon.plugins.updates]
active=false
FOE
 
# Show the system-config-keyboard tool on the desktop
mkdir /home/liveuser/Desktop -p >/dev/null
cat /usr/share/applications/system-config-keyboard.desktop | sed '/NotShowIn/d' |sed 's/Terminal=false/Terminal=true/' > /home/liveuser/Desktop/system-config-keyboard.desktop
cat /usr/share/applications/liveinst.desktop | sed '/NoDisplay/d' > /home/liveuser/Desktop/liveinst.desktop
chmod +x /home/liveuser/Desktop/*.desktop
chown -R liveuser:liveuser /home/liveuser
 
# Liveuser face
if [ -e /usr/share/icons/hicolor/96x96/apps/fedora-logo-icon.png ] ; then
cp /usr/share/icons/hicolor/96x96/apps/fedora-logo-icon.png /home/liveuser/.face
chown liveuser:liveuser /home/liveuser/.face
fi
 
# make the installer show up
if [ -f /usr/share/applications/liveinst.desktop ]; then
# Show harddisk install in shell dash
sed -i -e 's/NoDisplay=true/NoDisplay=false/' /usr/share/applications/liveinst.desktop
# need to move it to anaconda.desktop to make shell happy
#cp /usr/share/applications/liveinst.desktop /usr/share/applications/anaconda.desktop
fi
cat >> /usr/share/glib-2.0/schemas/org.gnome.shell.gschema.override << FOE
[org.gnome.shell]
favorite-apps=['liveinst.desktop','firefox.desktop', 'evolution.desktop', 'empathy.desktop', 'rhythmbox.desktop', 'shotwell.desktop', 'libreoffice-writer.desktop', 'nautilus.desktop', 'gnome-documents.desktop', 'anaconda.desktop']
FOE
 
# add liveinst.desktop to favorites menu
mkdir -p /home/liveuser/.kde/share/config/
cat > /home/liveuser/.kde/share/config/kickoffrc << MENU_EOF
[Favorites]
FavoriteURLs=/usr/share/applications/kde4/konqbrowser.desktop,/usr/share/applications/kde4/dolphin.desktop,/usr/share/applications/kde4/systemsettings.desktop,/usr/share/applications/liveinst.desktop
MENU_EOF
 
# set up auto-login
cat > /etc/gdm/custom.conf << FOE
[daemon]
AutomaticLoginEnable=True
AutomaticLogin=liveuser
FOE
 
# Turn off PackageKit-command-not-found while uninstalled
if [ -f /etc/PackageKit/CommandNotFound.conf ]; then
sed -i -e 's/^SoftwareSourceSearch=true/SoftwareSourceSearch=false/' /etc/PackageKit/CommandNotFound.conf
fi
 
# make sure to set the right permissions and selinux contexts
chown -R liveuser:liveuser /home/liveuser/
restorecon -R /home/liveuser/
 
# Fixing default locale to us - does not work for SL7.1
#localectl set-keymap us
#localectl set-x11-keymap us
EOF
 
# rebuild schema cache with any overrides we installed
glib-compile-schemas /usr/share/glib-2.0/schemas
 
 
%end