Subversion Repositories livecd

Rev

Rev 439 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 439 Rev 442
1
 
1
 
2
lang en_GB.UTF-8
2
lang en_GB.UTF-8
3
keyboard us
3
keyboard us
4
timezone Europe/Brussels --isUtc
4
timezone Europe/Brussels --isUtc
5
auth --useshadow --enablemd5
5
auth --useshadow --enablemd5
6
selinux --enforcing
6
selinux --enforcing
7
firewall --enabled --service=mdns
7
firewall --enabled --service=mdns
8
xconfig --startxonboot
8
xconfig --startxonboot
9
part / --size 10240 --fstype ext4
9
part / --size 10240 --fstype ext4
10
services --enabled=NetworkManager --disabled=network,sshd
10
services --enabled=NetworkManager --disabled=network,sshd
11
 
11
 
12
 
12
 
13
# Root password
13
# Root password
14
rootpw --iscrypted $6$K2nKf02kVKG68960$OywvoaViphSITuro/liKvCj7Pm/CH/xqzz/lsoXyaKSR1lYf0vHAqSUc483a9MCCBkIwfr/hNMfqwxqVO0OEg1
14
rootpw --iscrypted $6$K2nKf02kVKG68960$OywvoaViphSITuro/liKvCj7Pm/CH/xqzz/lsoXyaKSR1lYf0vHAqSUc483a9MCCBkIwfr/hNMfqwxqVO0OEg1
15
 
15
 
16
# Workaround for the grubby issue on live media (see https://bugzilla.redhat.com/show_bug.cgi?id=1153410)
16
# Workaround for the grubby issue on live media (see https://bugzilla.redhat.com/show_bug.cgi?id=1153410)
17
# SL repositories (fastbugs enabled per default) 
17
# SL repositories (fastbugs enabled per default) 
18
repo --name=base      --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.6/$basearch/os/               --excludepkgs=grubby
18
repo --name=base      --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.6/$basearch/os/               --excludepkgs=grubby
19
repo --name=security  --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.6/$basearch/updates/security/ --excludepkgs=grubby
19
repo --name=security  --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.6/$basearch/updates/security/ --excludepkgs=grubby
20
repo --name=fastbugs  --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.6/$basearch/updates/fastbugs/ --excludepkgs=grubby
20
repo --name=fastbugs  --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.6/$basearch/updates/fastbugs/ --excludepkgs=grubby
21
repo --name=grubby    --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.0/$basearch/os/                    --includepkgs=grubby
21
repo --name=grubby    --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.0/$basearch/os/                    --includepkgs=grubby
22
 
22
 
23
# or use a mirror close to you
23
# or use a mirror close to you
24
#repo --name=base      --baseurl=http://mirror.switch.ch/ftp/mirror/scientificlinux/7.6/$basearch/os/               --excludepkgs=grubby
24
#repo --name=base      --baseurl=http://mirror.switch.ch/ftp/mirror/scientificlinux/7.6/$basearch/os/               --excludepkgs=grubby
25
#repo --name=security  --baseurl=http://mirror.switch.ch/ftp/mirror/scientificlinux/7.6/$basearch/updates/security/ --excludepkgs=grubby
25
#repo --name=security  --baseurl=http://mirror.switch.ch/ftp/mirror/scientificlinux/7.6/$basearch/updates/security/ --excludepkgs=grubby
26
#repo --name=fastbugs  --baseurl=http://mirror.switch.ch/ftp/mirror/scientificlinux/7.6/$basearch/updates/fastbugs/ --excludepkgs=grubby
26
#repo --name=fastbugs  --baseurl=http://mirror.switch.ch/ftp/mirror/scientificlinux/7.6/$basearch/updates/fastbugs/ --excludepkgs=grubby
27
#repo --name=grubby    --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.0/$basearch/os/                       --includepkgs=grubby
27
#repo --name=grubby    --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.0/$basearch/os/                       --includepkgs=grubby
28
 
28
 
29
 
29
 
30
%packages
30
%packages
31
@base
31
@base
32
@core
32
@core
33
@dial-up
33
@dial-up
34
@directory-client
34
@directory-client
35
@fonts
35
@fonts
36
@gnome-desktop
36
@gnome-desktop
37
@guest-agents
37
@guest-agents
38
@guest-desktop-agents
38
@guest-desktop-agents
39
@input-methods
39
@input-methods
40
@internet-browser
40
@internet-browser
41
@java-platform
41
@java-platform
42
@multimedia
42
@multimedia
43
@network-file-system-client
43
@network-file-system-client
44
@print-client
44
@print-client
45
@x11
45
@x11
46
@internet-applications
46
@internet-applications
47
@office-suite
47
@office-suite
48
#@remote-desktop-clients
48
#@remote-desktop-clients
49
@gnome-apps
49
@gnome-apps
50
 
50
 
51
# additional packages
51
# additional packages
52
@backup-client
52
@backup-client
53
@compat-libraries
53
@compat-libraries
54
@development
54
@development
55
@emacs
55
@emacs
56
@graphics
56
@graphics
57
@legacy-x
57
@legacy-x
58
@network-tools
58
@network-tools
59
@performance
59
@performance
60
@perl-runtime
60
@perl-runtime
61
@php
61
@php
62
@technical-writing
62
@technical-writing
63
 
63
 
64
# console-internet
64
# console-internet
65
lftp
65
lftp
66
mutt
66
mutt
67
whois
67
whois
68
 
68
 
69
# legacy-unix
69
# legacy-unix
70
finger
70
finger
71
ksh
71
ksh
72
telnet
72
telnet
73
 
73
 
74
# network-tools
74
# network-tools
75
nmap
75
nmap
76
wireshark
76
wireshark
77
wireshark-gnome
77
wireshark-gnome
78
iptraf-ng
78
iptraf-ng
79
netsniff-ng
79
netsniff-ng
80
 
80
 
81
# scientific
81
# scientific
82
atlas
82
atlas
83
fftw
83
fftw
84
gnuplot
84
gnuplot
85
lapack
85
lapack
86
numpy
86
numpy
87
scipy
87
scipy
88
units
88
units
89
 
89
 
90
# system-admin-tools
90
# system-admin-tools
91
screen
91
screen
92
system-storage-manager
92
system-storage-manager
93
tree
93
tree
94
mc
94
mc
95
 
95
 
96
# development
96
# development
97
java-1.7.0-openjdk-devel
97
java-1.7.0-openjdk-devel
98
 
98
 
99
# live install tools
99
# live install tools
100
anaconda
100
anaconda
101
system-config-keyboard
101
system-config-keyboard
102
firefox
102
firefox
103
patch
103
patch
104
 
104
 
105
# for UEFI/Secureboot support
105
# for UEFI/Secureboot support
106
grub2
106
grub2
107
grub2-efi
107
grub2-efi
108
efibootmgr
108
efibootmgr
109
shim
109
shim
110
 
110
 
111
%end
111
%end
112
 
112
 
113
%post
113
%post
114
# FIXME: it'd be better to get this installed from a package
114
# FIXME: it'd be better to get this installed from a package
115
cat > /etc/rc.d/init.d/livesys << EOF
115
cat > /etc/rc.d/init.d/livesys << EOF
116
#!/bin/bash
116
#!/bin/bash
117
#
117
#
118
# live: Init script for live image
118
# live: Init script for live image
119
#
119
#
120
# chkconfig: 345 00 99
120
# chkconfig: 345 00 99
121
# description: Init script for live image.
121
# description: Init script for live image.
122
### BEGIN INIT INFO
122
### BEGIN INIT INFO
123
# X-Start-Before: display-manager
123
# X-Start-Before: display-manager
124
### END INIT INFO
124
### END INIT INFO
125
 
125
 
126
. /etc/init.d/functions
126
. /etc/init.d/functions
127
 
127
 
128
if ! strstr "\`cat /proc/cmdline\`" rd.live.image || [ "\$1" != "start" ]; then
128
if ! strstr "\`cat /proc/cmdline\`" rd.live.image || [ "\$1" != "start" ]; then
129
    exit 0
129
    exit 0
130
fi
130
fi
131
 
131
 
132
if [ -e /.liveimg-configured ] ; then
132
if [ -e /.liveimg-configured ] ; then
133
    configdone=1
133
    configdone=1
134
fi
134
fi
135
 
135
 
136
exists() {
136
exists() {
137
    which \$1 >/dev/null 2>&1 || return
137
    which \$1 >/dev/null 2>&1 || return
138
    \$*
138
    \$*
139
}
139
}
140
 
140
 
141
# Make sure we don't mangle the hardware clock on shutdown
141
# Make sure we don't mangle the hardware clock on shutdown
142
ln -sf /dev/null /etc/systemd/system/hwclock-save.service
142
ln -sf /dev/null /etc/systemd/system/hwclock-save.service
143
 
143
 
144
livedir="LiveOS"
144
livedir="LiveOS"
145
for arg in \`cat /proc/cmdline\` ; do
145
for arg in \`cat /proc/cmdline\` ; do
146
  if [ "\${arg##rd.live.dir=}" != "\${arg}" ]; then
146
  if [ "\${arg##rd.live.dir=}" != "\${arg}" ]; then
147
    livedir=\${arg##rd.live.dir=}
147
    livedir=\${arg##rd.live.dir=}
148
    return
148
    return
149
  fi
149
  fi
150
  if [ "\${arg##live_dir=}" != "\${arg}" ]; then
150
  if [ "\${arg##live_dir=}" != "\${arg}" ]; then
151
    livedir=\${arg##live_dir=}
151
    livedir=\${arg##live_dir=}
152
    return
152
    return
153
  fi
153
  fi
154
done
154
done
155
 
155
 
156
# enable swaps unless requested otherwise
156
# enable swaps unless requested otherwise
157
swaps=\`blkid -t TYPE=swap -o device\`
157
swaps=\`blkid -t TYPE=swap -o device\`
158
if ! strstr "\`cat /proc/cmdline\`" noswap && [ -n "\$swaps" ] ; then
158
if ! strstr "\`cat /proc/cmdline\`" noswap && [ -n "\$swaps" ] ; then
159
  for s in \$swaps ; do
159
  for s in \$swaps ; do
160
    action "Enabling swap partition \$s" swapon \$s
160
    action "Enabling swap partition \$s" swapon \$s
161
  done
161
  done
162
fi
162
fi
163
if ! strstr "\`cat /proc/cmdline\`" noswap && [ -f /run/initramfs/live/\${livedir}/swap.img ] ; then
163
if ! strstr "\`cat /proc/cmdline\`" noswap && [ -f /run/initramfs/live/\${livedir}/swap.img ] ; then
164
  action "Enabling swap file" swapon /run/initramfs/live/\${livedir}/swap.img
164
  action "Enabling swap file" swapon /run/initramfs/live/\${livedir}/swap.img
165
fi
165
fi
166
 
166
 
167
mountPersistentHome() {
167
mountPersistentHome() {
168
  # support label/uuid
168
  # support label/uuid
169
  if [ "\${homedev##LABEL=}" != "\${homedev}" -o "\${homedev##UUID=}" != "\${homedev}" ]; then
169
  if [ "\${homedev##LABEL=}" != "\${homedev}" -o "\${homedev##UUID=}" != "\${homedev}" ]; then
170
    homedev=\`/sbin/blkid -o device -t "\$homedev"\`
170
    homedev=\`/sbin/blkid -o device -t "\$homedev"\`
171
  fi
171
  fi
172
 
172
 
173
  # if we're given a file rather than a blockdev, loopback it
173
  # if we're given a file rather than a blockdev, loopback it
174
  if [ "\${homedev##mtd}" != "\${homedev}" ]; then
174
  if [ "\${homedev##mtd}" != "\${homedev}" ]; then
175
    # mtd devs don't have a block device but get magic-mounted with -t jffs2
175
    # mtd devs don't have a block device but get magic-mounted with -t jffs2
176
    mountopts="-t jffs2"
176
    mountopts="-t jffs2"
177
  elif [ ! -b "\$homedev" ]; then
177
  elif [ ! -b "\$homedev" ]; then
178
    loopdev=\`losetup -f\`
178
    loopdev=\`losetup -f\`
179
    if [ "\${homedev##/run/initramfs/live}" != "\${homedev}" ]; then
179
    if [ "\${homedev##/run/initramfs/live}" != "\${homedev}" ]; then
180
      action "Remounting live store r/w" mount -o remount,rw /run/initramfs/live
180
      action "Remounting live store r/w" mount -o remount,rw /run/initramfs/live
181
    fi
181
    fi
182
    losetup \$loopdev \$homedev
182
    losetup \$loopdev \$homedev
183
    homedev=\$loopdev
183
    homedev=\$loopdev
184
  fi
184
  fi
185
 
185
 
186
  # if it's encrypted, we need to unlock it
186
  # if it's encrypted, we need to unlock it
187
  if [ "\$(/sbin/blkid -s TYPE -o value \$homedev 2>/dev/null)" = "crypto_LUKS" ]; then
187
  if [ "\$(/sbin/blkid -s TYPE -o value \$homedev 2>/dev/null)" = "crypto_LUKS" ]; then
188
    echo
188
    echo
189
    echo "Setting up encrypted /home device"
189
    echo "Setting up encrypted /home device"
190
    plymouth ask-for-password --command="cryptsetup luksOpen \$homedev EncHome"
190
    plymouth ask-for-password --command="cryptsetup luksOpen \$homedev EncHome"
191
    homedev=/dev/mapper/EncHome
191
    homedev=/dev/mapper/EncHome
192
  fi
192
  fi
193
 
193
 
194
  # and finally do the mount
194
  # and finally do the mount
195
  mount \$mountopts \$homedev /home
195
  mount \$mountopts \$homedev /home
196
  # if we have /home under what's passed for persistent home, then
196
  # if we have /home under what's passed for persistent home, then
197
  # we should make that the real /home.  useful for mtd device on olpc
197
  # we should make that the real /home.  useful for mtd device on olpc
198
  if [ -d /home/home ]; then mount --bind /home/home /home ; fi
198
  if [ -d /home/home ]; then mount --bind /home/home /home ; fi
199
  [ -x /sbin/restorecon ] && /sbin/restorecon /home
199
  [ -x /sbin/restorecon ] && /sbin/restorecon /home
200
  if [ -d /home/liveuser ]; then USERADDARGS="-M" ; fi
200
  if [ -d /home/liveuser ]; then USERADDARGS="-M" ; fi
201
}
201
}
202
 
202
 
203
findPersistentHome() {
203
findPersistentHome() {
204
  for arg in \`cat /proc/cmdline\` ; do
204
  for arg in \`cat /proc/cmdline\` ; do
205
    if [ "\${arg##persistenthome=}" != "\${arg}" ]; then
205
    if [ "\${arg##persistenthome=}" != "\${arg}" ]; then
206
      homedev=\${arg##persistenthome=}
206
      homedev=\${arg##persistenthome=}
207
      return
207
      return
208
    fi
208
    fi
209
  done
209
  done
210
}
210
}
211
 
211
 
212
if strstr "\`cat /proc/cmdline\`" persistenthome= ; then
212
if strstr "\`cat /proc/cmdline\`" persistenthome= ; then
213
  findPersistentHome
213
  findPersistentHome
214
elif [ -e /run/initramfs/live/\${livedir}/home.img ]; then
214
elif [ -e /run/initramfs/live/\${livedir}/home.img ]; then
215
  homedev=/run/initramfs/live/\${livedir}/home.img
215
  homedev=/run/initramfs/live/\${livedir}/home.img
216
fi
216
fi
217
 
217
 
218
# if we have a persistent /home, then we want to go ahead and mount it
218
# if we have a persistent /home, then we want to go ahead and mount it
219
if ! strstr "\`cat /proc/cmdline\`" nopersistenthome && [ -n "\$homedev" ] ; then
219
if ! strstr "\`cat /proc/cmdline\`" nopersistenthome && [ -n "\$homedev" ] ; then
220
  action "Mounting persistent /home" mountPersistentHome
220
  action "Mounting persistent /home" mountPersistentHome
221
fi
221
fi
222
 
222
 
223
# make it so that we don't do writing to the overlay for things which
223
# make it so that we don't do writing to the overlay for things which
224
# are just tmpdirs/caches
224
# are just tmpdirs/caches
225
mount -t tmpfs -o mode=0755 varcacheyum /var/cache/yum
225
mount -t tmpfs -o mode=0755 varcacheyum /var/cache/yum
226
mount -t tmpfs vartmp /var/tmp
226
mount -t tmpfs vartmp /var/tmp
227
[ -x /sbin/restorecon ] && /sbin/restorecon /var/cache/yum /var/tmp >/dev/null 2>&1
227
[ -x /sbin/restorecon ] && /sbin/restorecon /var/cache/yum /var/tmp >/dev/null 2>&1
228
 
228
 
229
if [ -n "\$configdone" ]; then
229
if [ -n "\$configdone" ]; then
230
  exit 0
230
  exit 0
231
fi
231
fi
232
 
232
 
233
# add live user with no passwd
233
# add live user with no passwd
234
action "Adding live user" useradd \$USERADDARGS -c "Live System User" liveuser
234
action "Adding live user" useradd \$USERADDARGS -c "Live System User" liveuser
235
passwd -d liveuser > /dev/null
235
passwd -d liveuser > /dev/null
236
usermod -aG wheel liveuser > /dev/null
236
usermod -aG wheel liveuser > /dev/null
237
 
237
 
238
# Remove root password lock
238
# Remove root password lock
239
passwd -d root > /dev/null
239
passwd -d root > /dev/null
240
 
240
 
241
# turn off firstboot for livecd boots
241
# turn off firstboot for livecd boots
242
systemctl --no-reload disable firstboot-text.service 2> /dev/null || :
242
systemctl --no-reload disable firstboot-text.service 2> /dev/null || :
243
systemctl --no-reload disable firstboot-graphical.service 2> /dev/null || :
243
systemctl --no-reload disable firstboot-graphical.service 2> /dev/null || :
244
systemctl stop firstboot-text.service 2> /dev/null || :
244
systemctl stop firstboot-text.service 2> /dev/null || :
245
systemctl stop firstboot-graphical.service 2> /dev/null || :
245
systemctl stop firstboot-graphical.service 2> /dev/null || :
246
 
246
 
247
# don't use prelink on a running live image
247
# don't use prelink on a running live image
248
sed -i 's/PRELINKING=yes/PRELINKING=no/' /etc/sysconfig/prelink &>/dev/null || :
248
sed -i 's/PRELINKING=yes/PRELINKING=no/' /etc/sysconfig/prelink &>/dev/null || :
249
 
249
 
250
# turn off mdmonitor by default
250
# turn off mdmonitor by default
251
systemctl --no-reload disable mdmonitor.service 2> /dev/null || :
251
systemctl --no-reload disable mdmonitor.service 2> /dev/null || :
252
systemctl --no-reload disable mdmonitor-takeover.service 2> /dev/null || :
252
systemctl --no-reload disable mdmonitor-takeover.service 2> /dev/null || :
253
systemctl stop mdmonitor.service 2> /dev/null || :
253
systemctl stop mdmonitor.service 2> /dev/null || :
254
systemctl stop mdmonitor-takeover.service 2> /dev/null || :
254
systemctl stop mdmonitor-takeover.service 2> /dev/null || :
255
 
255
 
256
# don't enable the gnome-settings-daemon packagekit plugin
256
# don't enable the gnome-settings-daemon packagekit plugin
257
echo -e "\ngsettings set org.gnome.settings-daemon.plugins.updates active 'false' &>/dev/null || :" >> /home/liveuser/.bashrc
257
echo -e "\ngsettings set org.gnome.settings-daemon.plugins.updates active 'false' &>/dev/null || :" >> /home/liveuser/.bashrc
258
 
258
 
259
# arrange icons on desktop
259
# arrange icons on desktop
260
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
260
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
261
echo      "gvfs-set-attribute -t string '/home/liveuser/Desktop/liveinst.desktop'               'metadata::nautilus-icon-position' '60,122' &>/dev/null || :" >> /home/liveuser/.bashrc
261
echo      "gvfs-set-attribute -t string '/home/liveuser/Desktop/liveinst.desktop'               'metadata::nautilus-icon-position' '60,122' &>/dev/null || :" >> /home/liveuser/.bashrc
262
 
262
 
263
# no trash icon
263
# no trash icon
264
echo -e "\ngsettings set org.gnome.nautilus.desktop trash-icon-visible false &>/dev/null || :" >> /home/liveuser/.bashrc
264
echo -e "\ngsettings set org.gnome.nautilus.desktop trash-icon-visible false &>/dev/null || :" >> /home/liveuser/.bashrc
265
 
265
 
-
 
266
# trust all .desktop files on liveuser desktop
-
 
267
echo -e "\nls -1 /home/liveuser/Desktop/*.desktop | xargs -i gio set \"{}\" \"metadata::trusted\" yes" >> /home/liveuser/.bashrc
-
 
268
 
266
# don't start cron/at as they tend to spawn things which are
269
# don't start cron/at as they tend to spawn things which are
267
# disk intensive that are painful on a live image
270
# disk intensive that are painful on a live image
268
systemctl --no-reload disable crond.service 2> /dev/null || :
271
systemctl --no-reload disable crond.service 2> /dev/null || :
269
systemctl --no-reload disable atd.service 2> /dev/null || :
272
systemctl --no-reload disable atd.service 2> /dev/null || :
270
systemctl stop crond.service 2> /dev/null || :
273
systemctl stop crond.service 2> /dev/null || :
271
systemctl stop atd.service 2> /dev/null || :
274
systemctl stop atd.service 2> /dev/null || :
272
 
275
 
273
# disable kdump service
276
# disable kdump service
274
systemctl --no-reload disable kdump.service 2> /dev/null || :
277
systemctl --no-reload disable kdump.service 2> /dev/null || :
275
systemctl stop kdump.service 2> /dev/null || :
278
systemctl stop kdump.service 2> /dev/null || :
276
 
279
 
277
# disable tuned.service
280
# disable tuned.service
278
systemctl --no-reload disable tuned.service 2> /dev/null || :
281
systemctl --no-reload disable tuned.service 2> /dev/null || :
279
systemctl stop tuned.service 2> /dev/null || :
282
systemctl stop tuned.service 2> /dev/null || :
280
 
283
 
281
# Mark things as configured
284
# Mark things as configured
282
touch /.liveimg-configured
285
touch /.liveimg-configured
283
 
286
 
284
# add static hostname to work around xauth bug
287
# add static hostname to work around xauth bug
285
# https://bugzilla.redhat.com/show_bug.cgi?id=67.686
288
# https://bugzilla.redhat.com/show_bug.cgi?id=67.686
286
echo "localhost" > /etc/hostname
289
echo "localhost" > /etc/hostname
287
 
290
 
288
# Fixing the lang install issue when other lang than English is selected . See http://bugs.centos.org/view.php?id=7217
291
# Fixing the lang install issue when other lang than English is selected . See http://bugs.centos.org/view.php?id=7217
289
/usr/bin/cp /usr/lib/python2.7/site-packages/blivet/size.py /usr/lib/python2.7/site-packages/blivet/size.py.orig
292
/usr/bin/cp /usr/lib/python2.7/site-packages/blivet/size.py /usr/lib/python2.7/site-packages/blivet/size.py.orig
290
/usr/bin/sed -i "s#return self.humanReadable()#return self.humanReadable().encode('utf-8')#g" /usr/lib/python2.7/site-packages/blivet/size.py
293
/usr/bin/sed -i "s#return self.humanReadable()#return self.humanReadable().encode('utf-8')#g" /usr/lib/python2.7/site-packages/blivet/size.py
291
 
294
 
292
EOF
295
EOF
293
 
296
 
294
# bah, hal starts way too late
297
# bah, hal starts way too late
295
cat > /etc/rc.d/init.d/livesys-late << EOF
298
cat > /etc/rc.d/init.d/livesys-late << EOF
296
#!/bin/bash
299
#!/bin/bash
297
#
300
#
298
# live: Late init script for live image
301
# live: Late init script for live image
299
#
302
#
300
# chkconfig: 345 99 01
303
# chkconfig: 345 99 01
301
# description: Late init script for live image.
304
# description: Late init script for live image.
302
 
305
 
303
. /etc/init.d/functions
306
. /etc/init.d/functions
304
 
307
 
305
if ! strstr "\`cat /proc/cmdline\`" rd.live.image || [ "\$1" != "start" ] || [ -e /.liveimg-late-configured ] ; then
308
if ! strstr "\`cat /proc/cmdline\`" rd.live.image || [ "\$1" != "start" ] || [ -e /.liveimg-late-configured ] ; then
306
    exit 0
309
    exit 0
307
fi
310
fi
308
 
311
 
309
exists() {
312
exists() {
310
    which \$1 >/dev/null 2>&1 || return
313
    which \$1 >/dev/null 2>&1 || return
311
    \$*
314
    \$*
312
}
315
}
313
 
316
 
314
touch /.liveimg-late-configured
317
touch /.liveimg-late-configured
315
 
318
 
316
# read some variables out of /proc/cmdline
319
# read some variables out of /proc/cmdline
317
for o in \`cat /proc/cmdline\` ; do
320
for o in \`cat /proc/cmdline\` ; do
318
    case \$o in
321
    case \$o in
319
    ks=*)
322
    ks=*)
320
        ks="--kickstart=\${o#ks=}"
323
        ks="--kickstart=\${o#ks=}"
321
        ;;
324
        ;;
322
    xdriver=*)
325
    xdriver=*)
323
        xdriver="\${o#xdriver=}"
326
        xdriver="\${o#xdriver=}"
324
        ;;
327
        ;;
325
    esac
328
    esac
326
done
329
done
327
 
330
 
328
# if liveinst or textinst is given, start anaconda
331
# if liveinst or textinst is given, start anaconda
329
if strstr "\`cat /proc/cmdline\`" liveinst ; then
332
if strstr "\`cat /proc/cmdline\`" liveinst ; then
330
   plymouth --quit
333
   plymouth --quit
331
   /usr/sbin/liveinst \$ks
334
   /usr/sbin/liveinst \$ks
332
fi
335
fi
333
if strstr "\`cat /proc/cmdline\`" textinst ; then
336
if strstr "\`cat /proc/cmdline\`" textinst ; then
334
   plymouth --quit
337
   plymouth --quit
335
   /usr/sbin/liveinst --text \$ks
338
   /usr/sbin/liveinst --text \$ks
336
fi
339
fi
337
 
340
 
338
# configure X, allowing user to override xdriver
341
# configure X, allowing user to override xdriver
339
if [ -n "\$xdriver" ]; then
342
if [ -n "\$xdriver" ]; then
340
   cat > /etc/X11/xorg.conf.d/00-xdriver.conf <<FOE
343
   cat > /etc/X11/xorg.conf.d/00-xdriver.conf <<FOE
341
Section "Device"
344
Section "Device"
342
	Identifier	"Videocard0"
345
	Identifier	"Videocard0"
343
	Driver	"\$xdriver"
346
	Driver	"\$xdriver"
344
EndSection
347
EndSection
345
FOE
348
FOE
346
fi
349
fi
347
 
350
 
348
EOF
351
EOF
349
 
352
 
350
chmod 755 /etc/rc.d/init.d/livesys
353
chmod 755 /etc/rc.d/init.d/livesys
351
/sbin/restorecon /etc/rc.d/init.d/livesys
354
/sbin/restorecon /etc/rc.d/init.d/livesys
352
/sbin/chkconfig --add livesys
355
/sbin/chkconfig --add livesys
353
 
356
 
354
chmod 755 /etc/rc.d/init.d/livesys-late
357
chmod 755 /etc/rc.d/init.d/livesys-late
355
/sbin/restorecon /etc/rc.d/init.d/livesys-late
358
/sbin/restorecon /etc/rc.d/init.d/livesys-late
356
/sbin/chkconfig --add livesys-late
359
/sbin/chkconfig --add livesys-late
357
 
360
 
358
# enable tmpfs for /tmp
361
# enable tmpfs for /tmp
359
systemctl enable tmp.mount
362
systemctl enable tmp.mount
360
 
363
 
361
# work around for poor key import UI in PackageKit
364
# work around for poor key import UI in PackageKit
362
rm -f /var/lib/rpm/__db*
365
rm -f /var/lib/rpm/__db*
363
releasever=$(rpm -q --qf '%{version}\n' --whatprovides system-release)
366
releasever=$(rpm -q --qf '%{version}\n' --whatprovides system-release)
364
basearch=$(uname -i)
367
basearch=$(uname -i)
365
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-*
368
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-*
366
echo "Packages within this LiveCD (with version)"
369
echo "Packages within this LiveCD (with version)"
367
rpm -qa | sort
370
rpm -qa | sort
368
echo "Packages within this LiveCD"
371
echo "Packages within this LiveCD"
369
rpm -qa --qf "%{name}\n" | sort
372
rpm -qa --qf "%{name}\n" | sort
370
# Note that running rpm recreates the rpm db files which aren't needed or wanted
373
# Note that running rpm recreates the rpm db files which aren't needed or wanted
371
rm -f /var/lib/rpm/__db*
374
rm -f /var/lib/rpm/__db*
372
 
375
 
373
# go ahead and pre-make the man -k cache (#455968)
376
# go ahead and pre-make the man -k cache (#455968)
374
/usr/bin/mandb
377
/usr/bin/mandb
375
 
378
 
376
# save a little bit of space at least...
379
# save a little bit of space at least...
377
rm -f /boot/initramfs*
380
rm -f /boot/initramfs*
378
# make sure there aren't core files lying around
381
# make sure there aren't core files lying around
379
rm -f /core*
382
rm -f /core*
380
 
383
 
381
# convince readahead not to collect
384
# convince readahead not to collect
382
# FIXME: for systemd
385
# FIXME: for systemd
383
 
386
 
384
cat >> /etc/rc.d/init.d/livesys << EOF
387
cat >> /etc/rc.d/init.d/livesys << EOF
385
 
388
 
386
 
389
 
387
# disable updates plugin
390
# disable updates plugin
388
cat >> /usr/share/glib-2.0/schemas/org.gnome.settings-daemon.plugins.updates.gschema.override << FOE
391
cat >> /usr/share/glib-2.0/schemas/org.gnome.settings-daemon.plugins.updates.gschema.override << FOE
389
[org.gnome.settings-daemon.plugins.updates]
392
[org.gnome.settings-daemon.plugins.updates]
390
active=false
393
active=false
391
FOE
394
FOE
392
 
395
 
393
# Show the system-config-keyboard tool on the desktop
396
# Show the system-config-keyboard tool on the desktop
394
mkdir /home/liveuser/Desktop -p >/dev/null
397
mkdir /home/liveuser/Desktop -p >/dev/null
395
cat /usr/share/applications/system-config-keyboard.desktop | sed '/NotShowIn/d' |sed 's/Terminal=false/Terminal=true/' > /home/liveuser/Desktop/system-config-keyboard.desktop
398
cat /usr/share/applications/system-config-keyboard.desktop | sed '/NotShowIn/d' |sed 's/Terminal=false/Terminal=true/' > /home/liveuser/Desktop/system-config-keyboard.desktop
396
cat /usr/share/applications/liveinst.desktop | sed '/NoDisplay/d' > /home/liveuser/Desktop/liveinst.desktop 
399
cat /usr/share/applications/liveinst.desktop | sed '/NoDisplay/d' > /home/liveuser/Desktop/liveinst.desktop 
397
chmod +x /home/liveuser/Desktop/*.desktop
400
chmod +x /home/liveuser/Desktop/*.desktop
398
chown -R liveuser:liveuser /home/liveuser
401
chown -R liveuser:liveuser /home/liveuser
399
 
402
 
400
# Liveuser face
403
# Liveuser face
401
if [ -e /usr/share/icons/hicolor/96x96/apps/fedora-logo-icon.png ] ; then
404
if [ -e /usr/share/icons/hicolor/96x96/apps/fedora-logo-icon.png ] ; then
402
    cp /usr/share/icons/hicolor/96x96/apps/fedora-logo-icon.png /home/liveuser/.face
405
    cp /usr/share/icons/hicolor/96x96/apps/fedora-logo-icon.png /home/liveuser/.face
403
    chown liveuser:liveuser /home/liveuser/.face
406
    chown liveuser:liveuser /home/liveuser/.face
404
fi
407
fi
405
 
408
 
406
# make the installer show up
409
# make the installer show up
407
if [ -f /usr/share/applications/liveinst.desktop ]; then
410
if [ -f /usr/share/applications/liveinst.desktop ]; then
408
  # Show harddisk install in shell dash
411
  # Show harddisk install in shell dash
409
  sed -i -e 's/NoDisplay=true/NoDisplay=false/' /usr/share/applications/liveinst.desktop 
412
  sed -i -e 's/NoDisplay=true/NoDisplay=false/' /usr/share/applications/liveinst.desktop 
410
  # need to move it to anaconda.desktop to make shell happy
413
  # need to move it to anaconda.desktop to make shell happy
411
  #cp /usr/share/applications/liveinst.desktop /usr/share/applications/anaconda.desktop
414
  #cp /usr/share/applications/liveinst.desktop /usr/share/applications/anaconda.desktop
412
fi
415
fi
413
  cat >> /usr/share/glib-2.0/schemas/org.gnome.shell.gschema.override << FOE
416
  cat >> /usr/share/glib-2.0/schemas/org.gnome.shell.gschema.override << FOE
414
[org.gnome.shell]
417
[org.gnome.shell]
415
favorite-apps=['liveinst.desktop','firefox.desktop', 'evolution.desktop', 'empathy.desktop', 'rhythmbox.desktop', 'shotwell.desktop', 'libreoffice-writer.desktop', 'nautilus.desktop', 'gnome-documents.desktop', 'anaconda.desktop']
418
favorite-apps=['liveinst.desktop','firefox.desktop', 'evolution.desktop', 'empathy.desktop', 'rhythmbox.desktop', 'shotwell.desktop', 'libreoffice-writer.desktop', 'nautilus.desktop', 'gnome-documents.desktop', 'anaconda.desktop']
416
FOE
419
FOE
417
 
420
 
418
 
421
 
419
# set up auto-login
422
# set up auto-login
420
cat > /etc/gdm/custom.conf << FOE
423
cat > /etc/gdm/custom.conf << FOE
421
[daemon]
424
[daemon]
422
AutomaticLoginEnable=True
425
AutomaticLoginEnable=True
423
AutomaticLogin=liveuser
426
AutomaticLogin=liveuser
424
FOE
427
FOE
425
 
428
 
426
# Turn off PackageKit-command-not-found while uninstalled
429
# Turn off PackageKit-command-not-found while uninstalled
427
if [ -f /etc/PackageKit/CommandNotFound.conf ]; then
430
if [ -f /etc/PackageKit/CommandNotFound.conf ]; then
428
  sed -i -e 's/^SoftwareSourceSearch=true/SoftwareSourceSearch=false/' /etc/PackageKit/CommandNotFound.conf
431
  sed -i -e 's/^SoftwareSourceSearch=true/SoftwareSourceSearch=false/' /etc/PackageKit/CommandNotFound.conf
429
fi
432
fi
430
 
433
 
431
# make sure to set the right permissions and selinux contexts
434
# make sure to set the right permissions and selinux contexts
432
chown -R liveuser:liveuser /home/liveuser/
435
chown -R liveuser:liveuser /home/liveuser/
433
restorecon -R /home/liveuser/
436
restorecon -R /home/liveuser/
434
 
437
 
435
# Fixing default locale to us - does not work for SL7.1
438
# Fixing default locale to us - does not work for SL7.1
436
#localectl set-keymap us
439
#localectl set-keymap us
437
#localectl set-x11-keymap us
440
#localectl set-x11-keymap us
438
EOF
441
EOF
439
 
442
 
440
# rebuild schema cache with any overrides we installed
443
# rebuild schema cache with any overrides we installed
441
glib-compile-schemas /usr/share/glib-2.0/schemas
444
glib-compile-schemas /usr/share/glib-2.0/schemas
442
 
445
 
443
 
446
 
444
%end
447
%end