Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/soas-sugar.ks
blob: a1738cad97a53ee2f54450d7dd0ab353d5f02f94 (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
%include soas-base.ks

# include our sugar on a stick repo
repo --name=sugar --baseurl=http://download.sugarlabs.org/soas/repositories/2/

%packages

# 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

# display manager
slim

# e-mail client
alpine

# multimedia implementations
gnash-plugin

# work around for keyboard layout
system-config-keyboard

# allow reproduction of images
livecd-tools

# include to get better feedback
smolt

# pull plymouth theme
plymouth-theme-soas

# allow better power management
gnome-power-manager

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

%end

%post --nochroot

# download additional honey activities
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

# get the script to install the activities
curl -O http://git.sugarlabs.org/projects/soas/repos/mainline/blobs/raw/2d1057e6d8e74aecfa82c0b8e51a2c8d772a7923/install-activity.py

# pull sample content for the journal
curl -O http://dev.sugarlabs.org/raw-attachment/ticket/840/south_america.pdf
curl -O http://dev.sugarlabs.org/raw-attachment/ticket/840/africa.pdf
curl -O http://dev.sugarlabs.org/raw-attachment/ticket/840/asia.pdf
curl -O http://dev.sugarlabs.org/raw-attachment/ticket/840/central_america.pdf
curl -O http://dev.sugarlabs.org/raw-attachment/ticket/840/europe.pdf
curl -O http://dev.sugarlabs.org/raw-attachment/ticket/840/middle_east.pdf
curl -O http://dev.sugarlabs.org/raw-attachment/ticket/840/north_america.pdf
curl -O http://dev.sugarlabs.org/raw-attachment/ticket/840/oceania.pdf
curl -O http://dev.sugarlabs.org/raw-attachment/ticket/840/southeast_asia.pdf

# get sample content setup script directly from git
curl -O http://git.sugarlabs.org/projects/soas/repos/mainline/blobs/raw/8ad00566985860f9891aea714c74e5430e9c395d/copy-to-datastore.py

chown -R 500:500 $BUNDLES_DIR
cd $WD

%end

%post

cat > /etc/sysconfig/desktop <<EOF
DISPLAYMANAGER=/usr/bin/slim-dynwm
EOF

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

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

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

# permanently set %__dbi_cdb rpm macro to work around jffs2's lack of writeable mmap()
mkdir -p /etc/rpm
echo "%__dbi_cdb create private nommap" > /etc/rpm/macros.rpmdb

# 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

# setup auto-login for slim
cat >> /etc/slim.conf << FOE
auto_login	yes
default_user	liveuser
FOE

# fix permissions on home directory
chown liveuser /home/liveuser
chgrp liveuser /home/liveuser

# setup Xclients
cat >> /home/liveuser/.Xclients << FOE
xsetroot -def

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

chmod a+x /home/liveuser/.Xclients
chown liveuser:liveuser /home/liveuser/.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

# 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

# unzip activities and clean up
cd /usr/share/sugar/bundles
ACTIVITY_DIR=/home/liveuser/Activities
mkdir -p \$ACTIVITY_DIR
chown -R 500:500 \$ACTIVITY_DIR

chmod a+x install-activity.py
for file in *.xo; do
    su liveuser -c "./install-activity.py \$file"
    rm -f \$file
done

# execute sample content script and clean up afterwards
chmod a+x copy-to-datastore.py
su liveuser -c ./copy-to-datastore.py
rm -f *.pdf

EOF

%end