Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/soas-appliance.ks
blob: e2bd08d251273d6c401b1422a46c4148a2697081 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
lang en_US.UTF-8
keyboard us
timezone US/Eastern
auth --useshadow --enablemd5
selinux --disabled
firewall --enabled --service=mdns
xconfig --startxonboot

bootloader --timeout=1 --append="acpi=force"
network --bootproto=dhcp --device=eth0 --onboot=on
services --enabled=network --disabled=acpid,avahi-daemon,auditd,cups,dnsmasq,exim, ip6tables,iptables,irda,kerneloops,mdmonitor,netfs,nfs,nfslock,nscd,portreserve,rpcbind,rpcgssd,rpcidmapd,sshd

device virtio_blk
device virtio_pci
device scsi_wait_scan

part / --size 1536 --fstype ext3 --ondisk sda

repo --name=sugar --baseurl=http://download.sugarlabs.org/soas/repositories/2/

# Fedora 11 is out now!
repo --name=fedora --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-11&arch=i386 --excludepkgs=abiword,libabiword,generic-release,generic-release-notes,plymouth,plymouth-*,PolicyKit-kde
repo --name=updates --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f11&arch=i386 --excludepkgs=abiword,libabiword,generic-release,generic-release-notes,plymouth,plymouth-*,PolicyKit-kde

%packages --excludedocs --instLangs en_US

# basic package set
@base-x
@base
@core
kernel

# sugar!
# temporary changes until comps group gets fixed
sugar
sugar-browse
sugar-calculator
sugar-chat
sugar-imageviewer
sugar-jukebox
sugar-log
sugar-read
sugar-terminal
sugar-turtleart
sugar-write

# additional packages
DeviceKit-disks
espeak
etoys
evince-djvu
gtksourceview2
gvfs
libffi
numpy
olpcsound
pygame
python-json
squeak-vm

# use gdm to get login working
gdm

# e-mail client
alpine

# multimedia implementations
gnash-plugin

# work around for keyboard layout
system-config-keyboard

# include to get better feedback
smolt

# pull plymouth theme
plymouth-theme-soas

# sound
pulseaudio
alsa-plugins-pulseaudio
alsa-utils
gstreamer-plugins-good
gstreamer-plugins-espeak

# no need for kudzu if the hardware doesn't change
-kudzu
-prelink
-setserial
-ed

# Remove the authconfig pieces
-authconfig
-rhpl
-wireless-tools

# Remove the kbd bits
-kbd
-usermode

# these are all kind of overkill but get pulled in by mkinitrd ordering
-mkinitrd
-kpartx
-dmraid
-mdadm
-lvm2
-tar

# save some space
-cracklib-dicts
-nss_db
-acpid
-anacron
-mailcap
-nano
-wavpack
-createrepo
-irqbalance
-specspo
-esc
-samba-client
-a2ps
-mpage
-redhat-lsb
-sox
-hplip
-hpijs
-sendmail
-ssmtp
-numactl
-isdn4k-utils
-autofs

# exclude input methods
-scim*
-m17n*

# dictionaries are big
-aspell-*
-hunspell-*
-man-pages-*
-words

# smartcards won't really work on the livecd.
-coolkey
-ccid

# duplicate functionality
-pinfo
-vorbis-tools
-wget

# lose the compat stuff
-compat*

# scanning takes quite a bit of space :/
-xsane
-xsane-gimp
-sane-backends

# no printing
-system-config-printer
-cups*
-foomatic*
-gutenprint*

# attempt to remove dependencies on perl
-w3m
-logwatch
-lftp
-fbset
-exim
-deltarpm

# remove SELinux stack
-setroubleshoot
-policycoreutils
-policycoreutils-gui
-checkpolicy
-selinux-*
-libselinux-python
-libselinux

# other random stuff
-bluez*
-samba*
-*-backgrounds
-compiz-gnome
-PackageKit*

# strip fedora trademarks and use the soas release package
-fedora-logos
-fedora-release
-fedora-release-notes
generic-logos
generic-release
generic-release-notes

# make sure debuginfo doesn't end up on the live image
-*debuginfo
%end

%post

# create soas user
/usr/sbin/useradd -m -c "soas user" soas
/usr/bin/passwd -d soas

# make sure to own home directory
chown soas /home/soas
chgrp soas /home/soas

# turn off firstboot service
chkconfig --level 345 firstboot off 2>/dev/null

# try to work-around issues with NM and APs
rm -f /etc/NetworkManager/dispatcher.d/05-netfs

# fix issues with dbus and ck
rm /etc/X11/xinit/xinitrc.d/00-start-message-bus.sh

# add Sugar repository to yum
cat >> /etc/yum.repos.d/sugar.repo << FOE
[sugar]
name=Sugar
failovermethod=priority
baseurl=http://download.sugarlabs.org/soas/repositories/2/
enabled=1
gpgcheck=0
FOE

# set up timed gdm auto-login for after 60 seconds
cat >> /etc/gdm/custom.conf << FOE
[daemon]
TimedLoginEnable=true
TimedLogin=soas
TimedLoginDelay=60
FOE

# setup Xclients
cat > /home/soas/.Xclients <<FOE

eval \$(dbus-launch --sh-syntax --exit-with-session)

RESOLUTION=\$(xdpyinfo | grep resolution | sed "s/.* \\([0-9][0-9]*\\)x.*/\\1/")
if [ "\$RESOLUTION" -gt 150 ]; then
    SUGAR_SCALING=100
else
    SUGAR_SCALING=72
fi

SUGAR_SCALING=\$SUGAR_SCALING sugar
FOE

# fix some permissions
chmod a+x /home/soas/.Xclients
chown soas:soas /home/soas/.Xclients

# disable the logout menu item in Sugar
gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t bool /desktop/sugar/show_logout false >/dev/null

# setup activity directory
mkdir -p /home/soas/Activities
chown soas:soas /home/soas/Activities
chown -R soas:soas /usr/share/sugar/bundles
for bundle in \`find /usr/share/sugar/bundles -maxdepth 1\` ; do
ln -s \$bundle /home/soas/Activities
done

# add more activities to the favorites
cat > /usr/share/sugar/data/activities.defaults << FOE
com.garycmartin.Moon
org.laptop.AbiWordActivity
org.laptop.Calculate
org.laptop.Chat
org.sugarlabs.InfoSlicer
org.sugarlabs.IRC
org.laptop.Memorize
org.laptop.Pippy
org.laptop.TurtleArtActivity
org.laptop.WebActivity
org.vpri.EtoysActivity
org.laptop.Oficina
org.laptop.RecordActivity
org.gnome.Labyrinth
org.laptop.physics
vu.lux.olpc.Speak
org.worldwideworkshop.olpc.JigsawPuzzle
FOE

EOF

%end

%post --nochroot

ASLO="$ASLO 4042" # InfoSlicer
ASLO="$ASLO 4034" # Moon
ASLO="$ASLO 4046" # JigsawPuzzle
ASLO="$ASLO 4047" # SliderPuzzle
ASLO="$ASLO 4063" # Memorize
ASLO="$ASLO 4038" # Speak
ASLO="$ASLO 4037" # CartoonBuilder
ASLO="$ASLO 4044" # FlipSticks
ASLO="$ASLO 4064" # JokeMachine
ASLO="$ASLO 4029" # IRC
ASLO="$ASLO 4054" # FreeCell
ASLO="$ASLO 4039" # ViewSlides
ASLO="$ASLO 4073" # StoryBuilder
ASLO="$ASLO 4074" # Poll
ASLO="$ASLO 4078" # Labyrinth
ASLO="$ASLO 4082" # Paint
ASLO="$ASLO 4081" # Record
ASLO="$ASLO 4050" # Colors
ASLO="$ASLO 4089" # Library
ASLO="$ASLO 4041" # Pippy
ASLO="$ASLO 4193" # Physics

WD=$PWD
BUNDLES_DIR=$INSTALL_ROOT/usr/share/sugar/bundles

mkdir -p $BUNDLES_DIR
cd $BUNDLES_DIR

for id in $ASLO ; do
  curl -L http://activities.sugarlabs.org/en-US/sugar/downloads/latest/$id > $id.xo
done

for file in *.xo ; do
    unzip $file
    rm $file
done

cd $WD

%end