%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 <> /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