Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Dziallas <sebastian@when.com>2009-12-28 16:17:42 (GMT)
committer Sebastian Dziallas <sebastian@when.com>2009-12-28 16:17:42 (GMT)
commit949463414e9caf40394ab9a2f69330a80738d274 (patch)
treee66204eb9e859e7cdc94a92a6b1564a102a5aa37
parent8c34c1bd7867148866f5bbdf10c02d164222dd87 (diff)
heavy refactoring for the upcoming soas-3 development
-rw-r--r--BUGS.txt16
-rw-r--r--BUILDING60
-rw-r--r--Makefile136
-rw-r--r--README.txt74
-rw-r--r--TODO3
-rwxr-xr-xannounce75
-rw-r--r--appliance.py8
-rwxr-xr-xbootable-tree-to-fulldisk-img.sh43
-rwxr-xr-xbootable-tree-to-xo.sh41
-rwxr-xr-xbuild20
-rwxr-xr-xcopy-to-datastore.py138
-rw-r--r--generic-logos.spec152
-rwxr-xr-ximage-digestor.sh72
-rwxr-xr-xinstall-activity.py17
-rw-r--r--live.py44
-rwxr-xr-xlivecd-iso-to-bootable-tree.sh45
-rwxr-xr-xlivecd-iso-to-disk.sh710
-rwxr-xr-xliveusb-to-liveusb.sh29
-rwxr-xr-xmake_fake_device.sh71
-rw-r--r--plymouth.spec1026
-rw-r--r--repo60
-rwxr-xr-x[-rw-r--r--]soas-appliance.ks422
-rw-r--r--soas-aslo-and-content.ks116
-rw-r--r--soas-base.ks248
-rw-r--r--soas-liveuserscripts-eliminate.ks350
-rwxr-xr-x[-rw-r--r--]soas-sugar.ks201
-rw-r--r--soas-xo.ks221
-rw-r--r--soas.ks49
-rwxr-xr-xsync19
29 files changed, 180 insertions, 4286 deletions
diff --git a/BUGS.txt b/BUGS.txt
deleted file mode 100644
index 1479138..0000000
--- a/BUGS.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-
-Caveats/Known Issues:
-
-Please reply or comment on the Fedora/Redhat bug report if you see any
-of these.
-
-- XO-1 camera not recognised in Record / Cheese
- https://bugzilla.redhat.com/show_bug.cgi?id=498900
-
-- XO-1 SD boots sometimes fail (mount: unknown filesystem type:
- 'jffs2')
- https://bugzilla.redhat.com/show_bug.cgi?id=500196
-
-Before reporting bugs, it'd be nice if one could search the fedora
-bugzilla; start with this bug:
-https://bugzilla.redhat.com/show_bug.cgi?id=461806
diff --git a/BUILDING b/BUILDING
deleted file mode 100644
index 677cfdb..0000000
--- a/BUILDING
+++ /dev/null
@@ -1,60 +0,0 @@
-Quickstart
--------------
-# TODO: clarify prerequisites like Fedora livecd-creator tools
-git clone git://git.sugarlabs.org/soas/mainline.git xo-soas
-cd xo-soas
-mkdir images cache
-echo "soas00" > images/lastbuild
-sudo ./build
-# output goes to images/soas01.buildlog
-
-Introduction
--------------
-
-This set of scripts is for people that want to build their own
-Sugar/Fedora image customised for removeable devices like USB sticks
-and for the the OLPC XO-1's NAND.
-
-The created images are intended to be run from _writable_ media,
-including:
-
-- SD card
-- USB stick
-- XO-1 onboard NAND flash
-
-The created images are not intended to be used to create LiveCDs for
-running on the XO-1*.
-
-
-Objectives
--------------
-
-This set of scripts:
-
-1a) creates a jffs2 .img, .crc, and .plc file set suitable for OFW's
- copy-nand and NANDBlaster image-copying methods
-
-1b) creates a file that can be copied bit-for-bit (e.g., dd) onto a 4GB
- removable drive from which Sugar/F11 can be booted
-
-2) creates a livecd .ISO suitable for use booting an XO-1 with
- Sugar/F11 via Fedora's livecd-creator tool
-
-
-Prerequisites
--------------
-
-Currently SoaS builds on Fedora 11 and higher. Patches for other
-systems very welcome.
-
-On Fedora, ensure you have the LiveCD and Appliance tools installed:
-
-yum -y install livecd-tools appliance-tools
-
-
-
-Colophon
--------------
-
-* In case you asked "why no read-only media?", recall that a CD player
- is not a standard XO-1 accessory
diff --git a/Makefile b/Makefile
deleted file mode 100644
index b1b22e1..0000000
--- a/Makefile
+++ /dev/null
@@ -1,136 +0,0 @@
-###
-### More fundamental definitions at the top, big "user"-level
-### definitions at the end, and .ISO-like targets in the middle
-###
-
-
-################################
-### build tracking variables
-################################
-
-# keep in sync with "./build" script
-prevbuild := $(shell cat < lastbuild)
-buildstem := $(shell python -c "print '$(prevbuild)'.split('.')[0][:-2];")
-nextbuild := $(shell python -c "print '%0.2d' % (int('$(prevbuild)'.split('.')[0][-2:]) + 1);")
-buildname := $(buildstem)$(nextbuild)
-
-
-################################
-### Fundamental rules
-################################
-
-create.%: sized.% %.sha1sum
- echo $@ done
-
-sized.%: % %.size.txt
- echo $@ done
-
-%.size.txt: %
- du -sk $^ | cut -f 1 > $@
-%.sha1sum: %
- sha1sum $^ > $@
-%.tree.tar: %.tree
- tar -c -C $^ . > $@
-%.tree.tar.lzma: %.tree.tar
- lzma -1kf $^
-%.tar.lzma: %
- tar -c $^ | lzma -1 > $@
-
-
-################################
-### The Really Interesting Artifacts: .ISOs, .IMG files, VMDK
-################################
-
-soas%xo.iso:
- livecd-creator --cache=../cache --fslabel soas$*xo -c ../soas-xo.ks
-soas%.iso:
- livecd-creator --cache=../cache --fslabel soas$* -c ../soas.ks
-soas%.vmdk:
- appliance-creator --cache=../cache -n soas$* -f vmdk --checksum -p zip -c ../soas-appliance.ks
-soas%.vmdk.zip: soas%.vmdk
- echo "created $@"
-
-soas%.tree: soas%.iso
- ../livecd-iso-to-bootable-tree.sh $^ $@
- touch $@
- chroot $@ rpm -qa | sort > $@.packages.txt
- chroot $@ rpm -qa --queryformat="%10{SIZE}\t%{NAME}\n" | sort -k1,1n > $@.packages-sizes.txt
-
-soas%.fulldisk.img: soas%.tree
- ../bootable-tree-to-fulldisk-img.sh $^ $@
-
-soas%xo.img: soas%xo.tree
- ../bootable-tree-to-xo.sh $^ $@
-soas%xo.plc: soas%xo.img
- ../image-digestor.sh $^
-
-
-
-################################
-### Announcements, size changes, xdeltas, and other .txt files
-################################
-
-exts := .tree .fulldisk.img.tar.lzma xo.tree xo.img
-sized_names = soas$(nextbuild)$(ext).size-change.txt
-sized_changes := $(foreach ext,$(exts),$(sized_names))
-
-soas%.announcement.txt: $(sized_changes) soas%.tree.package-changes.txt
- ../announce . soas$*
-
-soas$(nextbuild)%.size-change.txt: soas$(nextbuild)%.size.txt $(prevbuild)%.size.txt
- cat $^ | python -c "import sys; oldk, newk = [int(l.strip()) for l in sys.stdin.readlines()] ; print '%0.2fM / %dK' % (newk / 1024.0, newk - oldk)" > $@
-
-soas%.tree.tar.xdelta: soas%.tree.tar
- -xdelta delta $(prevbuild).tree.tar $^ $@
-
-soas$(nextbuild)fulldisk.img.xdelta: soas$(nextbuild)fulldisk.img
- -xdelta delta $(prevbuild)fulldisk.img $^ $@
-
-soas$(nextbuild).tree.package-changes.txt: $(prevbuild).tree.packages.txt soas$(nextbuild).tree.packages.txt
- diff -U 1 $^ | grep -v ^@@ > $@ || echo "[No changes]" > $@
-
-
-################################
-### Big XXXX.done target and make-isms like .PRECIOUS
-################################
-
-.PRECIOUS: soas%.iso soas%.tree soas%.tree.tar soas%.tree.tar.lzma \
- soas%.fulldisk.img soas%.fulldisk.img.tar.lzma soas%.fulldisk.img.tar.lzma.size-change.txt \
- soas%xo.fulldisk.img soas%xo.fulldisk.img.tar.lzma soas%xo.fulldisk.img.tar.lzma.size-change.txt \
- soas%xo.iso soas%xo.tree soas%xo.tree.tar soas%xo.tree.tar.lzma \
- soas%xo.img soas%xo.plc \
- soas%xo.tree.size-change.txt \
- soas%xo.img.size-change.txt \
- soas%.tree.size-change.txt \
- %.size.txt %.sha1sum \
- soas%.vmdk soas%.vmdk.zip \
- soas%.announcement.txt
-
-soas%.done: create.soas%.iso sized.soas%.tree \
- create.soas%.tree.tar.lzma soas%.tree.tar.xdelta \
- create.soas%.fulldisk.img.tar.lzma \
- create.soas%xo.iso sized.soas%xo.tree \
- create.soas%xo.tree.tar.lzma soas%xo.tree.tar.xdelta \
- create.soas%xo.fulldisk.img.tar.lzma \
- create.soas%xo.img soas%xo.plc \
- create.soas%.vmdk.zip
- touch $@
-
-
-################################
-### high-level targets like "all" and "clean"
-################################
-
-all: soas$(nextbuild).done soas$(nextbuild).announcement.txt
- echo soas$(nextbuild) > lastbuild
-
-artifacts = $(wildcard *.txt) $(wildcard *.tree) $(wildcard *.tar) \
- $(wildcard *.img) $(wildcard *.iso) $(wildcard *.plc) \
- $(wildcard *.crc) $(wildcard *.lzma) $(wildcard *.sha1sum) \
- $(wildcard *.done)
-
-clean:
- rm -rf $(filter-out soas$(nextbuild)% $(prevbuild)%,$(artifacts))
-
-.PHONY: create.% sized.% all clean
-
diff --git a/README.txt b/README.txt
deleted file mode 100644
index 306ce2b..0000000
--- a/README.txt
+++ /dev/null
@@ -1,74 +0,0 @@
-Instructions for experts:
-------------
-either:
- copy-nand u:\soas??xo.img
-or: (2g or larger removable)
- cat soas??xo.4gremovable.tar.lzma | lzma -dc - | tar xf - -O > /dev/sdX
-or: (4g or larger removable)
- cat soas??xo.2gremovable.tar.lzma | lzma -dc - | tar xf - -O > /dev/sdX
-
-
-Quick Start for normal people:
--------------
-
-Create a removable drive with Sugar for use on your XO.
-
-You need to have an unlocked XO first. See instructions here for
-unlocking:
-
-http://wiki.laptop.org/go/Activation_and_Developer_Keys#Disable_the_security_system
-
-1) Download the right sized-image:
-
-2) "burn" it onto your removable media (USB stick / SD card).
-
-**** THIS WILL ERASE EVERYTHING ON YOUR REMOVABLE DRIVE ****
-
-Either:
-
- cat soasxo??.4gremovable.tar.lzma | lzma -dc - | tar xf - -O > /dev/sdX
-
-or:
-
- cat soasxo??.2gremovable.tar.lzma | lzma -dc - | tar xf - -O > /dev/sdX
-
-Replace the "??" with the right filename, and replace the "/dev/sdX"
-with the name of your removable device (the _whole device_, NOT a
-partition like /dev/sda1)
-
-3) When this is done, eject the device and be sure all data were
- written:
-
- eject /dev/sdX ; sync ; sync
-
-4) Plug the stick/card into your XO-1 and power it on.
-
-
-
-Replace your XO operating system
--------------
-
-There is another way - you can replace your XO's operating system:
-
-**** THIS WILL ERASE EVERYTHING ON YOUR XO laptop ****
-
-1) Download the latest files:
-
-soas??xo.img
-soas??xo.crc
-
-2) Copy it to a removable drive
-
-3) Plug in your removable drive and press "Esc" after powering up your
-XO.
-
-4a) If your removable drive is a USB drive, type:
-
-copy-nand u:\soas??xo.img
-
-4b) If your removable drive is a SD card, type:
-
-copy-nand sd:\soas??xo.img
-
-5) When the process completes, remove your drive and reboot the XO.
-
diff --git a/TODO b/TODO
deleted file mode 100644
index 38d3d04..0000000
--- a/TODO
+++ /dev/null
@@ -1,3 +0,0 @@
-add cjb's screencast
-background SSH host key generation (user will be busy picking colours)
-
diff --git a/announce b/announce
deleted file mode 100755
index 014dbe9..0000000
--- a/announce
+++ /dev/null
@@ -1,75 +0,0 @@
-#!/bin/bash
-set -e
-
-recipients=martin@martindengler.com
-
-buildname=$2
-announcefile=$buildname.announcement.txt
-
-nandsize=$(<${buildname}xo.img.size.txt)
-nandsizechange=$(<${buildname}xo.img.size-change.txt)
-
-treesize=$(<$buildname.tree.size.txt)
-treesizechange=$(<$buildname.tree.size-change.txt)
-
-cat > $announcefile <<EOF
-
-New Sugar-on-a-Stick build $buildname is done.
-
-Size changes:
-------------
-
-total SoaS ext3 size / change in size: $treesizechange (change)
-total SoaS-for-XO-1 NAND size / change in size: $nandsizechange (change)
-
-
-Package changes:
----------------
-$(<$buildname.tree.package-changes.txt)
-
-
-How to get it:
--------------
-Download from http://people.sugarlabs.org/~mtd/soas
-
-$(<../BUGS.txt)
-
-
-Quickstart:
-----------
-either:
- copy-nand u:\soas??xo.img
-or: (2g or larger removable)
- cat soas??xo.4gremovable.tar.lzma | lzma -dc - | tar xf - -O > /dev/sdX
-or: (4g or larger removable)
- cat soas??xo.2gremovable.tar.lzma | lzma -dc - | tar xf - -O > /dev/sdX
-
-
-Installation instructions:
--------------------------
-
- http://people.sugarlabs.org/~mtd/soas/README.txt
-
-
-Files:
------
-
-$buildname.iso - iso9990 file system (for use with livecd-iso-to-disk)
-$buildname.tree.tar.lzma - for hacking
-
-${buildname}xo.img - for ...
-${buildname}xo.crc - ... copy-nand'ing
-${buildname}xo.plc - ... NANDblast'ing
-
-$buildname.4gremovable.img.tar.lzma - for simply writing to 4 gig removable devices:
- cat $buildname.4gremovable.tar.lzma | lzma -dc - | tar xf - -O > /dev/sdX
-
-$buildname.2gremovable.img.tar.lzma - for simply writing to 2 gig removable devices:
- cat $buildname.2gremovable.tar.lzma | lzma -dc - | tar xf - -O > /dev/sdX
-
-Build date: $(date)
-
-EOF
-
-mail -s "New SoaS build $buildname" $recipients < $announcefile
-
diff --git a/appliance.py b/appliance.py
index ccbf983..b18f611 100644
--- a/appliance.py
+++ b/appliance.py
@@ -21,13 +21,13 @@ def main():
os.mkdir(appliances_dir)
appliance_date = strftime("%Y%m%d", gmtime())
- appliance_name = 'soas3-%s' % appliance_date
+ appliance_name = 'soas-3-%s' % appliance_date
if os.path.exists(os.path.join(appliances_dir, appliance_name + '.tar.gz')):
print 'Appliance %s exists already' % appliance_name
sys.exit(2)
ks = imgcreate.read_kickstart(os.path.join(base_dir, 'soas-appliance.ks'))
- creator = appcreate.ApplianceImageCreator(ks, 'soas3-appliance', 'vmdk', 512, 1)
+ creator = appcreate.ApplianceImageCreator(ks, 'soas-3-appliance', 'vmdk', 512, 1)
try:
creator.mount(cachedir=cache_dir)
@@ -44,10 +44,10 @@ def main():
os.chdir('./appliances')
zip = zipfile.ZipFile('%s.zip' % appliance_name, 'w', zipfile.ZIP_DEFLATED)
- zip.write('soas3-appliance/soas3-appliance-sda.vmdk', '%s.vmdk' % appliance_name)
+ zip.write('soas-3-appliance/soas-3-appliance-sda.vmdk', '%s.vmdk' % appliance_name)
zip.close()
- shutil.rmtree('soas3-appliance')
+ shutil.rmtree('soas-3-appliance')
return 0
diff --git a/bootable-tree-to-fulldisk-img.sh b/bootable-tree-to-fulldisk-img.sh
deleted file mode 100755
index 4106577..0000000
--- a/bootable-tree-to-fulldisk-img.sh
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/bin/bash
-
-set -x
-set -e
-set -o pipefail
-
-
-cleanup() {
- [ -d "$TMP_MNT" ] && rm -rf $TMP_MNT
-}
-
-exitclean() {
- echo "Cleaning up to exit..."
- cleanup
- exit 1
-}
-
-trap exitclean SIGINT SIGTERM
-
-PATH=/sbin:/usr/sbin:$PATH
-
-ROOT=$1
-output=${2:-soas}
-outputsize=${3:---2G}
-
-echo "Making removable image $ROOT --> $output"
-
-TMP_MNT=$(mktemp -d ./removable.XXXXXX)
-
-device=`../make_fake_device.sh $outputsize $output`
-mount -t ext2 $device $TMP_MNT
-
-cp -a $ROOT/* $TMP_MNT
-
-umount $TMP_MNT
-losetup -d $device
-
-echo "Done making removable image $ROOT --> $output_stem"
-cleanup
-
-
-
-
diff --git a/bootable-tree-to-xo.sh b/bootable-tree-to-xo.sh
deleted file mode 100755
index c105c43..0000000
--- a/bootable-tree-to-xo.sh
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/bin/bash
-
-set -x
-set -e
-
-PATH=/sbin:/usr/sbin:$PATH
-
-cleanup() {
- [ -d "$TMP_MNT" ] && rm -rf $TMP_MNT
-}
-
-exitclean() {
- echo "Cleaning up to exit..."
- cleanup
- exit 1
-}
-
-trap exitclean SIGINT SIGTERM
-
-
-echo "Build jffs2 image $IMG"
-
-ROOT=$1
-IMG=${2:-${ROOT}.img}
-
-TMP_MNT=$(mktemp -d ./jffs2.XXXXXX)
-
-chmod a+rx $TMP_MNT/.
-
-cp -al $ROOT/* $TMP_MNT
-
-echo "(removing livesys scripts from image because they'll really foul it up if they run)"
-rm -f $TMP_MNT/etc/init.d/livesys*
-
-mkfs.jffs2 -n -e128KiB -r $TMP_MNT -o $IMG.tmp
-sumtool -n -p -e 128KiB -i $IMG.tmp -o $IMG
-rm $IMG.tmp
-crcimg $IMG
-
-echo "Done building jffs2 image $IMG"
-cleanup
diff --git a/build b/build
deleted file mode 100755
index 03cb783..0000000
--- a/build
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/bash
-
-set -e
-
-pushd images
-
-# keep in sync with Makefile
-prevbuild=$(<lastbuild)
-buildstem=$(python -c "print '$prevbuild'.split('.')[0][:-2];")
-nextbuild=$(python -c "print '%0.2d' % (int('$prevbuild'.split('.')[0][-2:]) + 1);")
-buildname=$buildstem$nextbuild
-
-date ; date >> ${buildname}.buildlog
-echo building $buildname ; echo building $buildname >> ${buildname}.buildlog
-/usr/bin/time nice setarch i586 \
- make -f ../Makefile all >> ${buildname}.buildlog 2>&1
-
-date ; date >> ${buildname}.buildlog
-
-popd
diff --git a/copy-to-datastore.py b/copy-to-datastore.py
deleted file mode 100755
index 0831b35..0000000
--- a/copy-to-datastore.py
+++ /dev/null
@@ -1,138 +0,0 @@
-#!/usr/bin/python
-# -*- coding: utf-8 -*-
-
-import os
-import uuid
-import shutil
-import time
-import subprocess
-
-DS_PATH = os.path.join(os.path.expanduser('~/.sugar'), 'default/datastore')
-
-def create_ds_directory():
- if not os.path.isdir(DS_PATH):
- try:
- os.makedirs(DS_PATH, 0770)
- except OSError:
- print "Could not create user directory."
-
-def calculate_md5sum(path):
- """Calculate the md5 checksum of a given file.
- """
- popen = subprocess.Popen(['md5sum', path], stdout=subprocess.PIPE)
- stdout, stderr_ = popen.communicate()
- return stdout.split(' ', 1)[0]
-
-def create_empty_file(path, filename):
- open(os.path.join(path, filename), 'w').close()
-
-def create_content_file(path, filename, content):
- f = open(os.path.join(path, filename), 'w')
- f.write(content)
- f.close()
-
-def create_entry(filename, meta):
- title, mime_type, description, tags = (meta["title"],
- meta["mime_type"],
- meta["description"],
- meta["tags"])
-
- uid = str(uuid.uuid4())
- path = os.path.join(DS_PATH, uid[:2])
- if not os.path.isdir(path):
- os.mkdir(path)
- path = os.path.join(path, uid)
- os.mkdir(path)
-
- shutil.copyfile(filename, os.path.join(path, 'data'))
-
- metadata_path = os.path.join(path, 'metadata')
- os.mkdir(metadata_path)
-
- create_empty_file(metadata_path, 'activity')
- create_empty_file(metadata_path, 'activity_id')
- create_empty_file(metadata_path, 'buddies')
- create_empty_file(metadata_path, 'preview')
- create_empty_file(metadata_path, 'icon-color')
- create_empty_file(metadata_path, 'mtime')
-
- create_content_file(metadata_path, 'title', title)
- create_content_file(metadata_path, 'mime_type', mime_type)
- create_content_file(metadata_path, 'description', description)
- create_content_file(metadata_path, 'keep', '0')
- create_content_file(metadata_path, 'title_set_by_user', '1')
- create_content_file(metadata_path, 'timestamp', str(int(time.time())))
- create_content_file(metadata_path, 'uid', uid)
- create_content_file(metadata_path, 'checksum', calculate_md5sum(os.path.join(path, 'data')))
- create_content_file(metadata_path, 'tags', tags)
-
-files = (
- ("south_america.pdf",
- {"title": "South America World Factbook Map",
- "mime_type": "application/pdf",
- "description": "South America is the southern continent of the Americas, situated entirely in the Western Hemisphere and mostly in the Southern Hemisphere, with a relatively small portion in the Northern Hemisphere. It is bordered on the west by the Pacific Ocean and on the north and east by the Atlantic Ocean; North America and the Caribbean Sea lie to the northwest.",
- "tags": "CHILE BRAZIL URUGUAY PARAGUAY BOLIVIA COLOMBIA ECUADOR SURINAME PERU PANAMA NICARAGUA COSTA RICA HONDURAS TRINIDAD AND GUYANA BARBADOS TOBAGO THE GRENADINES ST. LUCIA GRENADA Martinique VENEZUELA ST. VINCENT AND French Guiana Aruba Antilles Netherlands Falkland Islands Islas Malvinas South Sandwich Islands ARGENTINA Equator Amazon Lago Titicaca Toc Orinoco Strait of Magellan Atlantic Pacific Caribbean Sea Maracaibo Cali Guayaquil Recife Salvador São Paulo Rio de Janeiro Córdoba Rosario Pôrto Alegre Horizonte Antofagasta Concepción Puerto Montt Mendoza La Plata San Miguel de Tucumán Arica Santa Cruz Cochabamba Arequipa Manaus Natal Fortaleza Santarém Cusco Iquitos Trujillo Huánuco Piura Cartagena Barranquilla Ciudad Curitiba Teresina Ushuaia Punta Arenas Valparaíso Bahía Blanca Medellín Caracas Georgetown Paramaribo Cayenne Quito Lima La Paz Asunción Santiago Buenos Aires Montevideo Stanley Port-of-Spain Boa Vista Macapá Belém São Luís Velho Pôrto Branco Rio Goiânia Brasília Cúcuta Valencia Barquisimeto Río Gallegos Campo Grande Uberlândia Belo Salta Santa Fe Maceió Bogotá Panama San José Managua Tegucigalpa Santos Florianópolis San Cristóbal Guayana Vitória Iquique Resistencia Salto Sucre Potosí San Carlos de Bariloche Comodoro Rivadavia Cuiabá Trinidad Mar del Plata SOUTH AMERICA ANDES ALTIPLANOA Cerro Aconcagua MATO GROSSO AMAZON BASIN ARCHIPIÉLAGO JUAN FERNÁNDEZ Isla San Félix Isla San Ambrosio Isla de Malpelo Isla de San Andrés Laguna del Carbón Cape Horn",
- }),
-
- ("africa.pdf",
- {"title": "Africa World Factbook Map",
- "mime_type": "application/pdf",
- "description": "Africa is the second-largest and second most-populous continent, after Asia. With a billion people (as of 2009) in 61 territories, it accounts for about 14.8% of the World's human population. The continent is surrounded by the Mediterranean Sea to the north, the Suez Canal and the Red Sea to the northeast, the Indian Ocean to the southeast, and the Atlantic Ocean to the west.",
- "tags": "MALI CHAD FASO IRAN TOGO SOUTH BOTSWANA LESOTHO SWAZILAND MADAGASCAR MOZAMBIQUE ZAMBIA ANGOLA TANZANIA KENYA ETHIOPIA EGYPT ARABIA SAUDI MOROCCO MAURITANIA CENTRAL AFRICAN REPUBLIC CAPE VERDE THE GAMBIA SENEGAL NIGERIA SAO TOME AND PRINCIPE GABON TURKEY SPAIN CAMEROON UGANDA RWANDA BURUNDI MALAWI DJIBOUTI ERITREA SOMALIA GUINEA-BISSAU GUINEA SIERRA LEONE GHANA BENIN BURKINA EQUATORIAL GUINEA CÔTE D'IVOIRE ALGERIA SUDAN LIBYA NIGER FRANCE GERMANY POLAND ITALY GREECE UKRAINE U.K. IRE. RUSSIA TURKMENISTAN SYRIA UZBEKISTAN ROM. BELARUS AZER. LEB. QATAR KUWAIT JORDAN ISRAEL CYPRUS U.A.E MAURITIUS Western Sahara ALB. AUS. TUNISIA MALTA ZIMBABWE COMOROS BULG. SLO. CRO. SER. MONT. MACE. HUNG. CZ. REP. SLOV. NETH. BEL. LUX. SWITZ. MOL. BOS. & HER. AND. ARM. GEO. IRAQ BAHR. NAMIBIA YEMEN OMAN ANGOLA Cabinda YEMEN Sicily LIBERIA boundary Socotra SEYCHELLES PORTUGAL Admin. EQUA. GUI. AFG. Sardinia Corsica DEM. REP. OF THE CONGO KAZAKHSTAN St. Helena Ascension St. Helena AFRICA KOS. Strait of Gibraltar North Atlantic Ocean Mediterranean Sea Black Sea Sea of Azov Danube Nile Red Sea Volga Persian Gulf South Atlantic Ocean Gulf of Guinea Arabian Sea Indian Ocean Gulf of Aden Lake Victoria Lake Nyasa Lake Tanganyika Blue Nile White Nile Congo Benue Volta Niger Indian Ocean Mozambique Channel Zambezi Oran Aral Caspian Sea Gulf Sea AFRICA Jerusalem Berlin Warsaw Minsk Kyiv Prague Amsterdam London Dublin Brussels Vienna Budapest Bratislava Ljubljana Zagreb Belgrade Chisinau Bucharest Sofia Skopje Sarajevo Athens Valletta Tunis Algiers Tripoli Cairo Beirut Nicosia Damascus Amman Baghdad Riyadh Bern Rabat Tashkent Ashgabat Baku Doha Muscat Manama Kuwait Sanaa Asmara Abu Dhabi Djibouti Mogadishu Nairobi Ababa Addis N'Djamena Bangui Kinshasa Yaoundé Malabo Lomé São Tomé Brazzaville Libreville Niamey Abuja Novo Porto-Victoria Moroni St. Denis Port Louis Antananarivo Maputo Pretoria Maseru Mbabane Gaborone Windhoek Luanda Lusaka Harare Dar es Salaam Laayoune El Aaiún Nouakchott Praia Dakar Banjul Bamako Bissau Ouagadougou Conakry Freetown Accra Island Glorioso Islands Mayotte Bassas da India Juan de Nova Island Tromelin Island Oran Constantine Fès Casablanca Marrakech Banghazi Alexandria Kano Ogbomoso Ibadan Lagos Douala Pointe-Noire Kisangani Mbuji-Mayi Lubumbashi Bukavu Kitwe Durban Johannesburg Port Elizabeth Cape Town Beira Mombasa Hargeysa Omdurman Moundou Lubango Namibe Walvis Bay Medina Mecca Jiddah Port Sudan Aswan Al Jawf Tombouctou Blantyre Naples Milan Mashhad Esfahan Ankara Adana Izmir Istanbul Tehran Odesa Rostov Lisbon Rome Barcelona Marseille Tabriz Abidjan Yamoussoukro Monrovia Ponta Funchal Las Palmas Delgada Yerevan Aleppo Shiraz Dodoma Zanzibar Al Jizah AZORES MADEIRA ISLANDS CANARY ISLANDS Nouadhibou Mahajanga Toamasina Bandar 'Abbas Juba Zinder Agadez Annobón Tbilisi Reunion Europa Paris Madrid Khartoum Kampala Kigali Bujumbura Lilongwe Kananga Tirana Podgorica Cidade de Nacala Pristina SAHARA Mt. Kilimanjaro Lac'Assal NAMIB DESERT KALAHARI DESERT CONGO BASIN GREAT RIFT VALLEY",
- }),
-
- ("asia.pdf",
- {"title": "Asia World Factbook Map",
- "mime_type": "application/pdf",
- "description": "Asia is the world's largest and most populous continent. It covers 8.6% of the Earth's total surface area (or 29.9% of its land area) and with approximately 4 billion people, it accounts for 60% of the world's current human population. It is located chiefly in the eastern and northern hemispheres.",
- "tags": "Arabian Sea Bay of Bengal South China Sea Andaman Sea Laccadive Sea Indian Ocean Persian Gulf East China Sea Sea of Japan Sea of Okhotsk Bering Sea East Siberian Sea Laptev Sea Arctic Ocean Kara Sea Barents Sea Norwegian Sea Black Sea Caspian Sea Aral Sea Lake Balkhash Lake Baikal Philippine Sea North Sea Kama Volga Vilyuy Indus Ganges Brahmaputra Xi Jiang Irrawaddy Mekong Salween Lake Onega Lake Ladoga Angara Aldan Amur Sulu Sea Yellow Sea Gulf of Thailand Celebes Sea Banda Sea Timor Sea Java Sea Yenisey Amur Yangtze Oslo Stockholm Ulaanbaatar Tehran Seoul Pyongyang Tokyo Kabul Islamabad New Delhi Kathmandu Thimphu Abu Dhabi Muscat Dhaka Hanoi Rangoon Colombo Male Kuala Lumpur Singapore Jakarta Beijing Vientiane Bangkok Manila Dili Phnom Penh Glasgow Saint Petersburg Nizhniy Novgorod Kazan' Saratov Perm' Ufa Chelyabinsk Omsk Novosibirsk Krasnoyarsk Irkutsk Volgograd Khabarovsk Vladivostok Davao Bandar Seri Begawan Moscow Kharkiv Donets'k Yekaterinburg Samara Yerevan Warsaw Tallinn Copenhagen Kyiv Bishkek Tashkent Dushanbe Ashgabat Baku Taipei Kamchatskiy Petropavlovsk- Yakutsk Cherskiy Anadyr' Provideniya Ürümqi Lhasa Kunming Nay Pyi Taw Nanning Guangzhou Guiyang Chongqing Chengdu Lanzhou Wuhan Nanchang Hangzhou Shanghai Qingdao Tianjin Shenyang Harbin Changchun Taiyuan Zhengzhou Nanjing Changsha Haiphong Ho Chi Minh City Baotou Kolkata Hyderabad Karachi Ahmadabad Noril'sk Tiksi Murmansk Arkhangel'sk Medan Mandalay Karaganda Qaraghandy Surabaya Lahore Rostov Vilnius Minsk Riga Helsinki Mumbai Yokohama Nagoya Osaka Fukuoka Pusan Kanpur Bengaluru Cochin Tbilisi Chittagong Lucknow Jaipur Surat Nagpur Voronezh Mashhad Dalian Kashi Tabriz Shiraz Esfahan Cebu Semarang Palembang Makassar Bandung Xi'an Jinan Pune Bandar'Abbas Da Nang Magadan Quetta Pontianak Atyrau Chennai Almaty Kandahar Jaffna Sapporo Astana ASIA Okinawa Wrangel Island Borneo Mindanao Sumatra Timor Sulawesi Celebes Luzon Java KURIL ISLANDS LAKSHADWEEP ANDAMAN NICOBAR ISLANDS ISLANDS FRANZ JOSEF LAND NOVAYA ZEMLYA SEVERNAYA NEW SIBERIAN ISLANDS Hainan Dao JAPAN Sakhalin SPRATLY ISLANDS SRI LANKA NEPAL BHUTAN BANGLADESH INDIA CHINA PHILIPPINES AUSTRALIA TIMOR-LESTE VIETNAM LAOS BURMA THAILAND PAKISTAN AFGHANISTAN INDONESIA CAMBODIA BRUNEI MALAYSIA SINGAPORE MALAYSIA JAPAN OMAN SAUDI ARABIA U.A.E. TURKMENISTAN UZBEKISTAN KYRGYZSTAN TAJIKISTAN GEORGIA ARMENIA MALDIVES RUSSIA U.K. NORWAY SWEDEN FINLAND DEN. BELA. LITH. LAT. EST. RUS. UKR. SOUTH KOREA NORTH KOREA POL. Svalbard U.S. Macau S.A.R. AZERBAIJAN KAZAKHSTAN Hong Kong S.A.R. IRAN MONGOLIA Taiwan Mt. Everest TAKLA MAKAN DESERT HIMALAYAS SIBERIA GOBI DESERT CHERSKOGO QING ZANG GAOYUAN HENGDUAN SHAN",
- }),
-
- ("central_america.pdf",
- {"title": "Central America World Factbook Map",
-"mime_type": "application/pdf",
-"description": "Central America (Spanish: Centroamérica or América Central) is a central geographic region of the Americas. It is the southernmost, isthmian portion of the North American continent, which connects with South America on the southeast. Most of Central America is considered to be part of the Mesoamerican biodiversity hotspot.",
- "tags": "Río Magdalena North Atlantic Ocean Lago de Maracaibo Golfo de Venezuela Orinoco Panama Canal Mona Passage Anegada Passage North Pacific Caribbean Sea Gulf of Mexico Lago de Nicaragua Straits of Florida Bahía de Campeche Yucatan Channel Windward Passage Río COLOMBIA BRAZIL GUYANA HONDURAS GUATEMALA MEXICO JAMAICA DOMINICAN REPUBLIC UNITED STATES CUBA COSTA RICA Aruba Netherlands Antilles TOBAGO TRINIDAD AND GRENADA ST. VINCENT AND THE GRENADINES DOMINICA BARBADOS Martinique Guadeloupe ST. KITTS AND NEVIS ANTIGUA AND BARBUDA Anguilla Puerto Rico Virgin Is. British Virgin Is. Navassa Island Guantanamo Bay THE BAHAMAS HAITI VENEZUELA Cayman Islands Montserrat NICARAGUA EL SALVADOR COSTA RICA PANAMA BELIZE Turks and Caicos Islands ST. LUCIA Antilles Saint Barthelemy Saint Martin Tampa Freeport Miami Campeche Villahermosa Tuxtla Gutiérrez Tapachula Boa Vista Guatemala Castries Bridgetown Georgetown Ciudad del Carmen Quetzaltenango St. Petersburg Flores Puerto Barrios Puerto San Fernando Arauca Ayacucho Pereira Ibagué Buenaventura Cali Bogotá Santa Ana Salvador San Mérida Basseterre St. John's Plymouth Roseau Kingstown Basse-Terre Fort-de-France St. Croix Matanzas Santa Clara Cienfuegos Camagüey Guantánamo Santiago Montego Bay Belize City La Ceiba Puerto Lempira Puerto Cabezas Choluteca Matagalpa León Bluefields Granada Barranquilla Marta Santa Cartagena Maracaibo Cumaná Valencia Barquisimeto Maracay Puntarenas Bocas del Toro Colón Golfito Monteria Balboa David Mérida Ciudad Guayana Cúcuta Santiago San Cristóbal Bucaramanga Santiago de Cuba Nassau Havana Grand Turk San Juan Santo Domingo Belmopan Tegucigalpa Oranjestad Managua St. George's Willemstad Caracas José Panama Port-of-Spain Puerto Limón Port-au-Prince Kingston George Town Chetumal San Pedro Sula San Miguel Medellín Cabello Puerto Barcelona Maturín Pinar del Río Holguín Nuevitas Manzanillo Cap-Haïtien Cancún Key West Les Cayes La Palma Ciudad Bolívar Isla del Coco Rum Cay San Salvador Samana Cay Mayaguana Great Inagua Acklins Cay Lobos Island Isla de la Providencia Isla de San Andrés SWAN ISLANDS Cay Sal Bank Long Island Crooked Island Guinchos Cay RAGGED RANGE Juventud Trinidad Marie-Galante Tobago Isla Mona ISLAS DE LA BAHIÁ Isla la Tortuga Isla de Margarita Grand Bahama Great Abaco Providence Eleuthera BIMINI ISLANDS Island Cat Island Great Exuma Andros Island Isla Cozumel Curaçao Bonaire ISLAS DEL MAIZ CENTRAL AMERICA AND THE CARIBBEAN Cayos Miskitos Cayman Trench Puerto Rico Peru Chile The Valley Gustavia Marigot Isla de Aves",
- }),
-
- ("europe.pdf",
- {"title": "Europe World Factbook Map",
- "mime_type": "application/pdf",
- "description": "Europe is, by convention, one of the world's seven continents. Comprising the westernmost peninsula of Eurasia, Europe is generally divided from Asia to its east by the water divide of the Ural Mountains, the Ural River, the Caspian Sea, and by the Caucasus Mountains to the southeast.",
- "tags": "Strait of Gibraltar Denmark Strait Celtic Sea North Atlantic Ocean Ligurian Tagus Volga North Sea Kattegat Skagerrak Baltic Sea Balearic Sea Oder Dnieper Black Sea Danube Elbe Po Danube Rhine Seine Loire Bothnia Gulf of Gulf of Finland Irish Channel English White Sea Onega Ladoga Barents Biscay Greenland Sea Lake Lake Sea Aegean Ionian Tyrrhenian Sea Sea Sea Mediterranean Sea Adriatic FRANCE GREECE BULGARIA Ceut a SPAIN Melilla Isle of Man CROATIA NETH. BEL. ESTONIA MOLDOVAL UX. ANDORRA MONACO LIEC H. Gibraltar NORWAY FINLAND SWEDEN GERMANY UKRAINE BELARUS POLAND Jersey Guernsey TURKEY LATVIA ICELAND DENMARK IRELAND UNITED KINGDOM LITHUANIA RUSSIA CZECH REPUBLIC SLOVAKIA HERZEGOVINA BOSNIA AND SERBIA MONT. HUNGARY SLOVENIA SWITZ. AUSTRIA ROMANIA MACEDONIA MARINOVA TIC AN MALTA ITALY PORTUGAL MOROCCO ALGERIA TUNISIA SAN ALB. RUSSIA SPAIN KOS. Porto Athens Barcelona Tunis Algiers Palermo Naples Cagliari Tirana Podgorica Smolensk Kiruna Hammerfest Tampere Turku Gävle Strasbourg Geneva Genoa Florence Venice Umeå Luleå Stavanger Aberdeen Chernivtsi Mykolayiv Skopje Ljubljana Manchester Vella Andorra Toulouse Nantes Lille Tórshavn Casablanca Bern Riga Reykjavík Rabat Valletta Lisbon Madrid Rome Sofia Sarajevo Belgrade Zagreb Bucharest Vaduz Vienna Budapest Bratislava Chisinau Paris Luxembourg Prague Brussels London Kyiv Amsterdam Berlin Warsaw Dublin Minsk Copenhagen Vilnius Moscow Tallinn Stockholm Oslo Helsinki Thessaloníki Milan Odesa Brest Hrodna Mahilyow Vitsyebsk Zürich Brno Homyel' Varna Iasi Constanta Cluj-Napoca Oulu Murmansk Tromsø Malmö Trondheim Göteborg Bergen Gdansk Kaliningrad Bursa Oran Sevilla Zaragoza Valencia Málaga Bilbao Lyon Bordeaux Marseille Cardiff Edinburgh Leeds Belfast Arkhangel'sk Kraków Lódz L'viv Munich Stuttgart Liverpool Izmir Istanbul Turin Saint Petersburg Poznan Wroclaw Rotterdam Birmingham Glasgow Bonn Cologne Frankfurt Greenland Hamburg Bremen Leipzig Essen Pristina Zhytomyr Chernihiv Vinnytsya Crete Sicily Sardinia Rhodes BALEARIC ISLANDS Corsica Öland Bornholm Gotland ALAND ISLANDS Rockall Jan Mayen Faroe Islands SHETLAND ISLANDS ORKNEY ISLANDS HEBRIDES PYRENEES MASSIF CARPATHIAN EUROPE",
- }),
-
- ("middle_east.pdf",
- {"title": "Middle East World Factbook Map",
- "mime_type": "application/pdf",
- "description": "The Middle East is a region that spans southwestern Asia and northeastern Africa. It has no clear boundaries. The history of the Middle East dates back to ancient times, and throughout its history the Middle East has been a major centre of world affairs. The Middle East generally has an arid and hot climate, with several major rivers providing irrigation to support agriculture in limited areas.",
- "tags": "Black Sea Caspian Sea Lake Urmia Tigris Lake Van Euphrates Mediterranean Sea Bosporus Dardanelles Aegean Sea Persian Gulf Aral Sea Gulf of Aqaba Strait of Hormuz Gulf of Suez Suez Canal Dead Sea Gulf of Oman Arabian Sea Gulf of Aden T'ana Hayk' Blue Nile White Nile Mandeb Babel Red Sea SAUDI ARABIA SUDAN EGYPT TURKEY BULGARIA ROM. ETHIOPIA SOMALIA RUSSIA CYPRUS JORDAN ISRAEL GREECE ARMENIA OMAN PAK. KUWAIT UNITED ARAB EMIRATES IRAN TURKMENISTAN UZBEKISTAN GEORGIA AZERBAIJAN ERITREA DJIBOUTI OMAN SYRIA IRAQ AFG. UKR. BAHRAIN QATAR YEMEN LEBANON KAZAKHSTAN Socotra Bucharest Sofia Baku Ankara Ashgabat Athens Damascus Baghdad Amman Cairo Kuwait Manama Riyadh Muscat Khartoum Sanaa Asmara Addis Ababa Krasnodar Istanbul Izmir Adana Aleppo Kirkuk Al Basrah Jerusalem Alexandria Mecca Massawa Jiddah Port Sudan Aswan Said Port Aden Abadan Bandar 'Abbas Mosul Ahvaz Mashhad Zahedan Esfahan Mary Herat Buxoro Groznyy Bursa Konya Samsun Kayseri Gaziantep Bat'umi Crete Golan Heights West Bank Gaza Strip Dhahran Diyarbakir Tabriz Shiraz Dasoguz Nukus Sumqayit Sokhumi Sevastopol' Constanta Varna Thessaloníkí Arbil Al Jizah Suez Asyut Omdurman Wad Madani Djibouti Berbera Hargeysa Al Mukalla Al Hudaydah Abu Dhabi Doha Ad Dammam Al Jubayl Medina Beirut Nicosia Latakia Hims 'Aqabah Yanbu' al Bahr Jizan Yerevan Luxor Tel Aviv Yafo Trabzon Denizli Antalya Erzurum Van Al Ghaydah Salalah Balkanabat Bandar-e Bushehr Kerman Zanjan Rasht Arak Qom An Nasiriyah Hala'ib Aqtau Aktau Ha'il Buraydah Dubai Tabuk Dese Hafar al Batin Tbilisi Kermanshah Türkmenbasy Icel Mersin Abha MIDDLE EAST Türkmenabat Ku¯h-e Dama¯vand Mount Ararat Gora El'brus Tehran Qazvin ZAGROS TAURUS CAUCASUS SYRIAN NUBIAN WESTERN QATTARA DEPRESSION DESERT Lac'Assal SINAI PENINSULA GREAT RIFT VALLEY",
- }),
-
- ("north_america.pdf",
- {"title": "North America World Factbook Map",
- "mime_type": "application/pdf",
- "description": "North America is the northern continent of the Americas, situated in the Earth's northern hemisphere and almost totally in the western hemisphere. It is bordered on the north by the Arctic Ocean, on the east by the North Atlantic Ocean, on the southeast by the Caribbean Sea, and on the west by the North Pacific Ocean; South America lies to the southeast.",
- "tags": "Greenland ICELAND EL SALVADOR St. Pierre and Miquelon THE BAHAMAS HAITI BELIZE CUBA Jan Mayen Bermuda GUATEMALA UNITED STATES CANADA UNITED STATES MEXICO RUSSIA NICARAGUA HONDURAS JAMAICA North Pacific Ocean Arctic Ocean Atlantic Labrador Sea Baffin Bay Greenland Sea Hudson Bay Davis Strait Great Salt Lake Lake Michigan Lake Ontario Huron Winnipeg Missouri Great Bear Great Slave Athabasca Lake Superior St. Lawrence Ohio River Arkansas Colorado River Snake River Rio Grande Mississippi Mackenzie Nelson Saskatchewan Columbia Gulf of California Beaufort Sea Bering Sea Chukchi Sea Bering Sea Gulf of Mexico Caribbean Sea Bahía de Campeche Yukon River Lake Erie Denmark Strait Gulf of Alaska East Siberian Sea ISLAS REVILLAGIGEDO QUEEN ELIZABETH ISLANDS Ellesmere Island Baffin Island Victoria Island Banks Island NORTH AMERICA Island of Newfoundland Nord Cherskiy Alert Anadyr' Provideniya Barrow Prudhoe Resolute Nome Fairbanks Inuvik Paamiut Anchorage Dawson Echo Bay Whitehorse Rankin Inlet Yellowknife Watson Lake Juneau Hay River St. John's Churchill Chisasibi Sydney Edmonton Saskatoon Fredericton Calgary Québec Vancouver Halifax Victoria Regina Saint John Winnipeg Montréal Seattle Boston Portland Toronto Hamilton Minneapolis New York Detroit Windsor Milwaukee Philadelphia Chicago Columbus Indianapolis Salt Lake City San Francisco St. Louis Denver Charleston Atlanta Oklahoma City Los Angeles Albuquerque Phoenix San Diego Tijuana Dallas Jacksonville Mexicali El Paso Ciudad Houston New Orleans Juárez Miami Hermosillo Chihuahua Monterrey Matamoros La Paz Torreón Mazatlán Tampico Mérida León Guadalajara Veracruz Puebla Oaxaca Acapulco Iqaluit Cambridge Bay Happy Valley Goose Bay Prince Rupert Charlottetown Memphis San Antonio Thunder Bay Ottawa Nassau Port-au-Prince Kingston Belmopan Tegucigalpa Managua San Salvador Scoresbysund Tasiilaq Frederikshåb Kangerlussuaq Narsarsuaq Qaanaaq Thule Reykjavík Ittoqqortoormiit Cleveland Baltimore Bethel Valdez Moosonee Repulse Bay Prince George Pittsburgh Norfolk Sacramento Kansas City Pevek Schefferville Cancún Kodiak Søndre Strømfjord Godthåb Nuuk Washington, D.C. Havana Mexico Guatemala Ivujivik Las Vegas BROOKS RANGE ALASKA RANGE SIERRA NEVADA ROCKY MOUNTAINS APPALACHIAN MOUNTAINS SIERRA MADRE Mt. McKinley Death Valley CASCADES",
- }),
-
- ("oceania.pdf",
- {"title": "Oceania World Factbook Map",
- "mime_type": "application/pdf",
- "description": "Oceania (sometimes Oceanica) is a geographical, often geopolitical, region consisting of numerous lands—mostly islands in the Pacific Ocean and vicinity. The term \"Oceania\" was coined in 1831 by French explorer Dumont d'Urville. The term is used today in many languages to define one of the continents and is one of eight terrestrial ecozones.",
- "tags": "Philippine Sea South China Sea Celebes Sea Sulu Sea Luzon Strait Solomon Sea Bismarck Sea Arafura Sea Timor Sea Banda Sea Java Sea Molucca Sea Strait Torres Gulf of Carpentaria North Pacific Ocean South Pacific Ocean Indian Ocean Tasman Sea Coral Sea Great Australian Bight Darling Murray Bass Strait Great Barrier Reef CLIPPERTON FRACTURE ZONE CLARION FRACTURE ZONE MOLOKAI FRACTURE ZONE Wewak Sorong Darwin Surabaya Palu Samarinda Manado Townsville Alice Springs Port Hedland Lae Jayapura Brisbane Perth Sydney Gold Coast Rockhampton Gladstone Mackay Cairns Bunbury Manila Saipan Majuro Melekeok Bandar Seri Begawan Dili Tarawa Funafuti Honiara Port Moresby Apia Pago Papeete Adamstown Port-Vila Suva Alofi Nuku'alofa Avarua Noumea Kingston Canberra Wellington Honolulu Davao Adelaide Melbourne Auckland Christchurch Dunedin Invercargill Hobart Taipei Fuzhou Guangzhou Wenzhou Xiamen Shantou Kao-hsiung Naha Cagayan de Oro Zamboanga Cebu Bacolod Iloilo Makassar Banjarmasin Denpasar Kupang Ambon Hamilton Kalgoorlie Broken Hill Whyalla Bendigo Geelong Mount Isa Newcastle Wollongong Madang Hastings Yaren District Geraldton Esperance Mata-Utu Palikir Hagåtña Tahiti Mururoa Pohnpei Eniwetak Timor Flores Sumba Ceram Celebes Palawan Negros Yap Lord Howe Island RYUKU ISLANDS Sumbawa ÎLES SOCIETY ISLANDS ÎLES TUBUAI KERMADEC KIRIBATI CHATHAM ISLANDS Lombok HAWAIIAN ISLANDS DAITO-SHOTO NAMPO-SHOTO BONIN ISLANDS VOLCANO ISLANDS Samar MARSHALL ISLANDS TUVALU Tokelau SAMOA Northern Mariana Islands SOLOMON ISLANDS KERMADEC ISLANDS American Palmyra Atoll Kingman Reef Johnston Atoll Midway Islands Marcus Island Ashmore and Cartier Islands Oahu PHOENIX ISLANDS LINE ISLANDS Christmas Island North Island New Ireland New Britain Guadalcanal Bougainville Guam Borneo New Guinea PAPUA NEW GUINEA AUSTRALIA INDONESIA PHILIPPINES CHINA Viti Vanua Stewart Island Okinawa New Caledonia Cook Islands American Samoa Wallis and Futuna Niue Coral Sea Islands BRUNEI S.A.R. Taiwan TIMOR-LESTE Hawaii Kauai Maui Kwajalein Ceva-i-Ra Banaba Bali Luzon Negros Yap RYUKU Kiritimati MARQUISES RAWAKI GILBERT ISLANDS Mindanao South Island CAROLINE ISLANDS Panay Buru Stewart Island Mariana Northern Islands Baker Island Howland Island Wake Island Jarvis Island Norfolk Island Pitcairn Islands NEW ZEALAND VANUATU FIJI TONGA MALAYSIA Macau NAURU PALAU FEDERATED STATES OF MICRONESIA Hong Kong S.A.R. French Polynesia Okino-tori-shima Rapa ARCHIPEL DES TUAMOTU Tasmania SANTA CRUZ ISLANDS Rotuma Levu Java Halmahera Minerva Reef SIMPSON DESERT GIBSON HAMMERSLEY GREAT VICTORIA GREAT SANDY Mount Kosciuszko Lake Eyre OCEANIA",
- }),
-
- ("southeast_asia.pdf",
- {"title": "Southeast Asia World Factbook Map",
- "mime_type": "application/pdf",
- "description": "Southeast Asia is a subregion of Asia, consisting of the countries that are geographically south of China, east of India and north of Australia. The region lies on the intersection of geological plates, with heavy seismic and volcanic activity. Southeast Asia consists of two geographic regions: the Asian mainland, and island arcs and archipelagoes to the east and southeast.",
- "tags": "LAOS AUSTRALIA CHINA VIETNAM THAILAND BURMA INDIA MALAYSIA SINGAPORE BRUNEI PAPUA NEW GUINEA INDONESIA Ashmore and Cartier Islands TIMOR-LESTE Cocos Keeling Islands Macau S.A.R. FED. STATES OF MICRONESIA PALAU JAPAN Hong Kong S.A.R. Christmas Island PHILIPPINES CAMBODIA Taiwan Buru Borneo Bangka Billiton Sumatra Pulau Simeulue Pulau Nias Pulau Siberut Pratas Island Samar Mindoro Mindanao Negros Palawan Luzon Ceram PARACEL ISLANDS SPRATLY ISLANDS BABUYAN ISLANDS KEPULAUAN ISLANDS MENTAWAI Halmahera Pulau Sulawesi NICOBAR NAMPO SHOTO RYUKYU Okinawa Okino-tori-shima BONIN ISLANDS VOLCANO ISLANDS Timor Bali Madura Sumba Flores Sumbawa ANDAMAN ISLANDS Lombok KEPULAUAN ARU NATUNA Dao Hainan DAITO-SHOTO Java Panay MOLUCCAS SOUTHEAST ASIA New Guinea Davao Haiphong Ho Chi Minh City Pontianak Samarinda Palu Ambon Palembang Padang Medan Banda Aceh Phuket George Town Ipoh Kuching Semarang Bandung Surabaya Makassar Kupang Cebu Shanghai Hangzhou Changsha Guangzhou Nanning Chengdu Mandalay Pathein Mawlamyine Mai Da Nang Kunming Taipei Fuzhou Nanchang Guiyang Wuhan Long Xuyen Nha Trang Jayapura Sorong Manado Bacolod Hanoi Vientiane Rangoon Manila Bangkok Phnom Penh Bandar Seri Begawan Kuala Lumpur Singapore Jakarta Denpasar Nakhon Ratchasima Chiang Tanjungkarang Banjarmasin Zamboanga Cagayan de Oro Iloilo Naha Kao-hsiung Xiamen Chongqing Zigong Shantou Ningbo Wenzhou Zhanjiang Hefei Mount Isa Port Hedland Karratha Melekeok Hue Songkhla Dawei Vinh Kota Kinabalu Dili Kendari Merauke Melaka Akyab Nay Pyi Taw Telukbetung Darwin South China Sea East China Sea Java Sea Indian Ocean Arafura Sea Celebes Sea Sulu Sea Gulf of Tonkin Gulf of Thailand Coco Channel Great Channel Strait of Malacca Andaman Sea Philippine Sea North Pacific Ocean Timor Sea Banda Sea Taiwan Strait Mekong Irrawaddy Salween Brahmaputra Molucca Sea Flores Sea Makassar Strait Selat Sunda Jiang Xi Gulf of Carpentaria Luzon Strait Selat Karimata Selat Lombok Yangtze CHAÎNE ANNAMITIQUE BARISAN PEGUNUNGAN MAOKE GREAT SANDY DESERT HENGDUAN SHAN",
- }),
- )
-
-
-create_ds_directory()
-
-for filename, meta in files:
- create_entry(filename, meta)
diff --git a/generic-logos.spec b/generic-logos.spec
deleted file mode 100644
index e5b1ce7..0000000
--- a/generic-logos.spec
+++ /dev/null
@@ -1,152 +0,0 @@
-Name: generic-logos
-Summary: Icons and pictures
-Version: 12.2
-Release: 2%{?dist}.1
-Group: System Environment/Base
-Source0: generic-logos-%{version}.tar.bz2
-Source1: syslinux-vesa-splash.jpg
-Source2: soas-blueberry.tar.bz2
-License: GPLv2 and LGPL
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildArch: noarch
-Obsoletes: redhat-logos
-Provides: redhat-logos = %{version}-%{release}
-Provides: system-logos = %{version}-%{release}
-Conflicts: fedora-logos
-Conflicts: kdebase <= 3.1.5
-Conflicts: anaconda-images <= 10
-Conflicts: redhat-artwork <= 5.0.5
-# For _kde4_appsdir macro:
-BuildRequires: kde-filesystem
-
-
-%description
-The generic-logos package contains various image files which can be
-used by the bootloader, anaconda, and other related tools. It can
-be used as a replacement for the fedora-logos package, if you are
-unable for any reason to abide by the trademark restrictions on the
-fedora-logos package.
-
-%prep
-%setup -q
-
-%build
-
-cp %{SOURCE1} anaconda/
-rm -f plymouth/charge/*
-tar -xvjf %{SOURCE2} -C plymouth/charge
-
-%install
-rm -rf $RPM_BUILD_ROOT
-
-# should be ifarch i386
-mkdir -p $RPM_BUILD_ROOT/boot/grub
-install -p -m 644 bootloader/splash.xpm.gz $RPM_BUILD_ROOT/boot/grub/splash.xpm.gz
-# end i386 bits
-
-mkdir -p $RPM_BUILD_ROOT%{_datadir}/firstboot/themes/generic
-for i in firstboot/* ; do
- install -p -m 644 $i $RPM_BUILD_ROOT%{_datadir}/firstboot/themes/generic
-done
-
-mkdir -p $RPM_BUILD_ROOT%{_datadir}/pixmaps/splash
-for i in gnome-splash/* ; do
- install -p -m 644 $i $RPM_BUILD_ROOT%{_datadir}/pixmaps/splash
-done
-
-mkdir -p $RPM_BUILD_ROOT%{_datadir}/pixmaps
-for i in pixmaps/* ; do
- install -p -m 644 $i $RPM_BUILD_ROOT%{_datadir}/pixmaps
-done
-
-mkdir -p $RPM_BUILD_ROOT%{_datadir}/kde-settings/kde-profile/default/share/icons/Fedora-KDE/48x48/apps/
-install -p -m 644 icons/Fedora/48x48/apps/* $RPM_BUILD_ROOT%{_datadir}/kde-settings/kde-profile/default/share/icons/Fedora-KDE/48x48/apps/
-mkdir -p $RPM_BUILD_ROOT%{_kde4_appsdir}/ksplash/Themes/Leonidas/2048x1536
-install -p -m 644 ksplash/SolarComet-kde.png $RPM_BUILD_ROOT%{_kde4_appsdir}/ksplash/Themes/Leonidas/2048x1536/logo.png
-
-mkdir -p $RPM_BUILD_ROOT%{_datadir}/plymouth/themes/charge/
-for i in plymouth/charge/* ; do
- install -p -m 644 $i $RPM_BUILD_ROOT%{_datadir}/plymouth/themes/charge/
-done
-
-# File or directory names do not count as trademark infringement
-mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/Fedora/48x48/apps/
-mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/Fedora/scalable/apps/
-install -p -m 644 icons/Fedora/48x48/apps/* $RPM_BUILD_ROOT%{_datadir}/icons/Fedora/48x48/apps/
-install -p -m 644 icons/Fedora/scalable/apps/* $RPM_BUILD_ROOT%{_datadir}/icons/Fedora/scalable/apps/
-
-(cd anaconda; make DESTDIR=$RPM_BUILD_ROOT install)
-
-%clean
-rm -rf $RPM_BUILD_ROOT
-
-%files
-%defattr(-, root, root)
-%doc COPYING COPYING-kde-logo
-%{_datadir}/firstboot/themes/*
-%{_datadir}/anaconda/pixmaps/*
-%{_datadir}/icons/Fedora/*/apps/*
-%{_datadir}/pixmaps/*
-%{_datadir}/plymouth/themes/charge/*
-/usr/lib/anaconda-runtime/*.jpg
-%{_kde4_appsdir}/ksplash/Themes/Leonidas/2048x1536/logo.png
-%{_datadir}/kde-settings/kde-profile/default/share/icons/Fedora-KDE/*/apps/*
-# should be ifarch i386
-/boot/grub/splash.xpm.gz
-# end i386 bits
-
-%changelog
-* Wed Nov 22 2009 Sebastian Dziallas <sebastian@when.com> - 12.2-2
-- Fork for Sugar on a Stick Blueberry release
-
-* Wed Nov 4 2009 Tom "spot" Callaway <tcallawa@redhat.com> - 12.2-2
-- kde icon installation
-
-* Fri Oct 30 2009 Bill Nottingham <notting@redhat.com> - 12.2-1
-- tweak anaconda.png/svg to match rest of icons (<duffy@redhat.com>)
-
-* Fri Oct 30 2009 Tom "spot" Callaway <tcallawa@redhat.com> - 12.1-1
-- 12.1 (add generic versions of anaconda.png/svg)
-
-* Thu Oct 1 2009 Bill Nottingham <notting@redhat.com> - 12.0-1
-- update for F12 (<duffy@redhat.com>)
-
-* Tue May 12 2009 Bill Nottingham <notting@redhat.com> - 11.0.1-1
-- Add new plymouth artwork (#500239)
-
-* Wed Apr 22 2009 Bill Nottingham <notting@redhat.com> - 11.0.0-1
-- updates for Fedora 11
-
-* Wed Dec 3 2008 Bill Nottingham <notting@redhat.com> - 10.0.2-1
-- fix syslinux splash (accidentally branded)
-
-* Tue Oct 28 2008 Bill Nottingham <notting@redhat.com> - 10.0.1-1
-- incorporate KDE logo into upstream source distribution
-- fix system-logo-white.png for compiz bleeding (#468258)
-
-* Mon Oct 27 2008 Jaroslav Reznik <jreznik@redhat.com> - 10.0.0-3
-- Solar Comet generic splash logo redesign
-
-* Sun Oct 26 2008 Kevin Kofler <Kevin@tigcc.ticalc.org> - 10.0.0-2
-- Add (current version of) KDE logo for SolarComet KSplash theme
-
-* Thu Oct 23 2008 Bill Nottingham <notting@redhat.com> - 10.0.0-1
-- update for current fedora-logos, with Solar theme
-
-* Fri Jul 11 2008 Bill Nottingham <notting@redhat.com> - 9.99.0-1
-- add a system logo for plymouth's spinfinity plugin
-
-* Tue Apr 15 2008 Bill Nottingham <notting@redhat.com> - 9.0.0-1
-- updates for current fedora-logos (much thanks to <duffy@redhat.com>)
-- remove KDE Infinity splash
-
-* Mon Oct 29 2007 Bill Nottingham <notting@redhat.com> - 8.0.2-1
-- Add Infinity splash screen for KDE
-
-* Thu Sep 13 2007 Bill Nottingham <notting@redhat.com> - 7.92.1-1
-- add powered-by logo (#250676)
-- updated rhgb logo (<duffy@redhat.com>)
-
-* Tue Sep 11 2007 Bill Nottinghan <notting@redhat.com> - 7.92.0-1
-- initial packaging. Forked from fedora-logos, adapted from the Fedora
- Art project's Infinity theme
diff --git a/image-digestor.sh b/image-digestor.sh
deleted file mode 100755
index 793342a..0000000
--- a/image-digestor.sh
+++ /dev/null
@@ -1,72 +0,0 @@
-#!/bin/bash -e
-#
-# Copyright © 2008 Andres Salomon <dilinger@queued.net>
-#
-# This file is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-check_for_cmds()
-{
- for cmd in $@; do
- which $cmd >/dev/null || {
- echo "Missing required command '$cmd'!" 1>&2
- return 1
- }
- done
-
- return 0
-}
-
-check_for_cmds dd sha256sum
-
-usage()
-{
- echo "" 1>&2
- echo "Usage: $0 <img>" 1>&2
- echo "Produces <img_basename>.plc"
- echo "For use in secure reflash, the resulting placement control file"
- echo "(*.plc) must be included as data.img in an OLPC-signed fs.zip."
- echo "" 1>&2
- exit 1
-}
-
-if [ "$#" != "1" ]; then
- usage
-fi
-
-IMAGE_FILE_NAME=$1
-IMAGE_FILE_BASENAME=`basename $IMAGE_FILE_NAME`
-PLACEMENT_CONTROL_FILE=${IMAGE_FILE_BASENAME/.img/.plc}
-
-
-do_sha256()
-{
- f=$1
- eblocks=$((`stat --printf "%s\n" $f` / (128*1024)))
- for b in $(seq 0 $(($eblocks - 1))); do
- sha=$(dd status=noxfer bs=128KiB skip=$b count=1 if=$f 2>/dev/null | sha256sum | cut -d\ -f1)
- echo "eblock: `printf '%x' $b` sha256 $sha" >> ${PLACEMENT_CONTROL_FILE}
- done
-}
-
-cat >${PLACEMENT_CONTROL_FILE}<<EOF
-data: ${IMAGE_FILE_BASENAME}
-erase-all
-mark-pending: 0
-EOF
-do_sha256 "${IMAGE_FILE_NAME}"
-cat >>${PLACEMENT_CONTROL_FILE}<<EOF
-cleanmarkers
-mark-complete: 0
-EOF
diff --git a/install-activity.py b/install-activity.py
deleted file mode 100755
index 26f0269..0000000
--- a/install-activity.py
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/usr/bin/env python
-import sys
-
-from sugar.bundle.activitybundle import ActivityBundle
-
-def cmd_help():
- print 'Usage: sugar-install-bundle [ bundlename ] \n\n\
- Install an activity bundle (.xo). \n'
-
-if len(sys.argv) != 2:
- cmd_help()
- sys.exit(2)
-
-bundle = ActivityBundle(sys.argv[1])
-bundle.install()
-
-print "%s: '%s' installed." % (sys.argv[0], sys.argv[1])
diff --git a/live.py b/live.py
new file mode 100644
index 0000000..940fdca
--- /dev/null
+++ b/live.py
@@ -0,0 +1,44 @@
+#!/usr/bin/python
+
+import logging
+import os
+import sys
+from time import gmtime, strftime
+
+import imgcreate
+
+base_dir = os.path.dirname(__file__)
+images_dir = os.path.join(base_dir, 'images')
+cache_dir = os.path.join(base_dir, 'cache')
+last_file = os.path.join(images_dir, 'last')
+
+def main():
+
+ if not os.path.exists(images_dir):
+ os.mkdir(images_dir)
+
+ image_date = strftime("%Y%m%d%H%M", gmtime())
+ image_name = 'soas-3-%s' % image_date
+ if os.path.exists(os.path.join(images_dir, image_name + '.iso')):
+ print 'Image %s exists already' % image_name
+ sys.exit(2)
+
+ ks = imgcreate.read_kickstart(os.path.join(base_dir, 'soas-sugar.ks'))
+ creator = imgcreate.LiveImageCreator(ks, image_name, image_name)
+
+ try:
+ creator.mount(cachedir=cache_dir)
+ creator.install()
+ creator.configure()
+ creator.unmount()
+ creator.package(destdir=images_dir)
+ except imgcreate.CreatorError, e:
+ logging.error("Error creating Live CD : %s" % e)
+ return 1
+ finally:
+ creator.cleanup()
+
+ return 0
+
+if __name__ == "__main__":
+ sys.exit(main())
diff --git a/livecd-iso-to-bootable-tree.sh b/livecd-iso-to-bootable-tree.sh
deleted file mode 100755
index 40f18e5..0000000
--- a/livecd-iso-to-bootable-tree.sh
+++ /dev/null
@@ -1,45 +0,0 @@
-#!/bin/bash
-
-set -e
-
-cleanup() {
- [ -d "$EXTMNT" ] && umount $EXTMNT && rmdir $EXTMNT
- [ -d "$SQUASHMNT" ] && umount $SQUASHMNT && rmdir $SQUASHMNT
- [ -d "$ISOMNT" ] && umount $ISOMNT && rmdir $ISOMNT
-}
-
-exitclean() {
- echo "Cleaning up to exit..."
- cleanup
- exit 1
-}
-
-trap exitclean SIGINT SIGTERM
-
-PATH=/sbin:/usr/sbin:$PATH
-
-ISO=$(readlink -f "$1")
-ROOT=$(readlink -f "$2")
-
-ISOMNT=$(mktemp -d /media/isotmp.XXXXXX)
-mount -o loop,ro "$ISO" $ISOMNT || exitclean
-
-EXTIMG=$ISOMNT/LiveOS/ext3fs.img
-if [ -e $ISOMNT/LiveOS/squashfs.img ] ; then
- SQUASHMNT=$(mktemp -d /media/squashtmp.XXXXXX)
- mount -o loop,ro $ISOMNT/LiveOS/squashfs.img $SQUASHMNT || exitclean
- EXTIMG=$SQUASHMNT/LiveOS/ext3fs.img
-fi
-
-EXTMNT=$(mktemp -d /media/exttmp.XXXXXX)
-mount -o loop,ro $EXTIMG $EXTMNT || exitclean
-
-echo "Create root filesystem..."
-
-mkdir -p $ROOT
-chmod a+rx $ROOT/.
-
-cp -a $EXTMNT/* $ROOT
-
-echo "Done."
-cleanup
diff --git a/livecd-iso-to-disk.sh b/livecd-iso-to-disk.sh
deleted file mode 100755
index cd75153..0000000
--- a/livecd-iso-to-disk.sh
+++ /dev/null
@@ -1,710 +0,0 @@
-#!/bin/bash
-# Convert a live CD iso so that it's bootable off of a USB stick
-# Copyright 2007 Red Hat, Inc.
-# Jeremy Katz <katzj@redhat.com>
-#
-# overlay/persistence enhancements by Douglas McClendon <dmc@viros.org>
-# GPT+MBR hybrid enhancements by Stewart Adam <s.adam@diffingo.com>
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Library General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-
-export PATH=/sbin:/usr/sbin:$PATH
-
-usage() {
- echo "$0 [--format] [--reset-mbr] [--noverify] [--overlay-size-mb <size>] [--home-size-mb <size>] [--unencrypted-home] [--skipcopy] <isopath> <usbstick device>"
- exit 1
-}
-
-cleanup() {
- sleep 2
- [ -d "$CDMNT" ] && umount $CDMNT && rmdir $CDMNT
- [ -d "$USBMNT" ] && umount $USBMNT && rmdir $USBMNT
-}
-
-exitclean() {
- echo "Cleaning up to exit..."
- cleanup
- exit 1
-}
-
-getdisk() {
- DEV=$1
-
- if [[ "$DEV" =~ "/dev/loop*" ]]; then
- device="$DEV"
- return
- fi
-
- p=$(udevadm info -q path -n $DEV)
- if [ -e /sys/$p/device ]; then
- device=$(basename /sys/$p)
- else
- device=$(basename $(readlink -f /sys/$p/../))
- fi
- if [ ! -e /sys/block/$device -o ! -e /dev/$device ]; then
- echo "Error finding block device of $DEV. Aborting!"
- exitclean
- fi
-
- device="/dev/$device"
- # FIXME: weird dev names could mess this up I guess
- p=/dev/`basename $p`
- partnum=${p##$device}
-}
-
-resetMBR() {
- if [[ "$DEV" =~ "/dev/loop*" ]]; then
- return
- fi
- getdisk $1
- # if efi, we need to use the hybrid MBR
- if [ -n "$efi" ];then
- if [ -f /usr/lib/syslinux/gptmbr.bin ]; then
- gptmbr='/usr/lib/syslinux/gptmbr.bin'
- elif [ -f /usr/share/syslinux/gptmbr.bin ]; then
- gptmbr='/usr/share/syslinux/gptmbr.bin'
- else
- echo "Could not find gptmbr.bin (syslinux)"
- exitclean
- fi
- # our magic number is LBA-2, offset 16 - (512+512+16)/$bs
- dd if=$device bs=16 skip=65 count=1 | cat $gptmbr - > $device
- else
- if [ -f /usr/lib/syslinux/mbr.bin ]; then
- cat /usr/lib/syslinux/mbr.bin > $device
- elif [ -f /usr/share/syslinux/mbr.bin ]; then
- cat /usr/share/syslinux/mbr.bin > $device
- else
- echo "Could not find mbr.bin (syslinux)"
- exitclean
- fi
- fi
-}
-
-checkMBR() {
- if [[ "$DEV" =~ "/dev/loop*" ]]; then
- return 0
- fi
- getdisk $1
-
- bs=$(mktemp /tmp/bs.XXXXXX)
- dd if=$device of=$bs bs=512 count=1 2>/dev/null || exit 2
-
- mbrword=$(hexdump -n 2 $bs |head -n 1|awk {'print $2;'})
- rm -f $bs
- if [ "$mbrword" = "0000" ]; then
- echo "MBR appears to be blank."
- echo "Do you want to replace the MBR on this device?"
- echo "Press Enter to continue or ctrl-c to abort"
- read
- resetMBR $1
- fi
-
- return 0
-}
-
-checkPartActive() {
- dev=$1
- getdisk $dev
-
- # if we're installing to whole-disk and not a partition, then we
- # don't need to worry about being active
- if [ "$dev" = "$device" ]; then
- return
- fi
- if [[ "$dev" =~ "/dev/loop*" ]]; then
- return
- fi
-
- if [ "$(/sbin/fdisk -l $device 2>/dev/null |grep $dev |awk {'print $2;'})" != "*" ]; then
- echo "Partition isn't marked bootable!"
- echo "You can mark the partition as bootable with "
- echo " # /sbin/parted $device"
- echo " (parted) toggle N boot"
- echo " (parted) quit"
- exitclean
- fi
-}
-
-createGPTLayout() {
- dev=$1
- getdisk $dev
-
- echo "WARNING: THIS WILL DESTROY ANY DATA ON $device!!!"
- echo "Press Enter to continue or ctrl-c to abort"
- read
- umount ${device}? &> /dev/null
- /sbin/parted --script $device mklabel gpt
- partinfo=$(/sbin/parted --script -m $device "unit b print" |grep ^$device:)
- size=$(echo $partinfo |cut -d : -f 2 |sed -e 's/B$//')
- /sbin/parted --script $device unit b mkpart '"EFI System Partition"' fat32 17408 $(($size - 17408)) set 1 boot on
- USBDEV=${device}1
- # Sometimes automount can be _really_ annoying.
- echo "Waiting for devices to settle..."
- /sbin/udevadm settle
- sleep 5
- umount $USBDEV &> /dev/null
- /sbin/mkdosfs -n LIVE $USBDEV
- USBLABEL="UUID=$(/sbin/blkid -s UUID -o value $USBDEV)"
-}
-
-createMSDOSLayout() {
- dev=$1
- getdisk $dev
-
- echo "WARNING: THIS WILL DESTROY ANY DATA ON $device!!!"
- echo "Press Enter to continue or ctrl-c to abort"
- read
- umount ${device}? &> /dev/null
- /sbin/parted --script $device mklabel msdos
- partinfo=$(/sbin/parted --script -m $device "unit b print" |grep ^$device:)
- size=$(echo $partinfo |cut -d : -f 2 |sed -e 's/B$//')
- /sbin/parted --script $device unit b mkpart primary fat32 17408 $(($size - 17408)) set 1 boot on
- USBDEV=${device}1
- # Sometimes automount can be _really_ annoying.
- echo "Waiting for devices to settle..."
- /sbin/udevadm settle
- sleep 5
- umount $USBDEV &> /dev/null
- /sbin/mkdosfs -n LIVE $USBDEV
- USBLABEL="UUID=$(/sbin/blkid -s UUID -o value $USBDEV)"
-}
-
-checkGPT() {
- dev=$1
- getdisk $dev
-
- if [ "$(/sbin/fdisk -l $device 2>/dev/null |grep -c GPT)" -eq "0" ]; then
- echo "EFI boot requires a GPT partition table."
- echo "This can be done manually or you can run with --format"
- exitclean
- fi
-
- partinfo=$(/sbin/parted --script -m $device "print" |grep ^$partnum:)
- volname=$(echo $partinfo |cut -d : -f 6)
- flags=$(echo $partinfo |cut -d : -f 7)
- if [ "$volname" != "EFI System Partition" ]; then
- echo "Partition name must be 'EFI System Partition'"
- echo "This can be set in parted or you can run with --reset-mbr"
- exitclean
- fi
- if [ "$(echo $flags |grep -c boot)" = "0" ]; then
- echo "Partition isn't marked bootable!"
- echo "You can mark the partition as bootable with "
- echo " # /sbin/parted $device"
- echo " (parted) toggle N boot"
- echo " (parted) quit"
- exitclean
- fi
-}
-
-checkFilesystem() {
- dev=$1
-
- USBFS=$(/sbin/blkid -s TYPE -o value $dev)
- if [ "$USBFS" != "vfat" -a "$USBFS" != "msdos" -a "$USBFS" != "ext2" -a "$USBFS" != "ext3" ]; then
- echo "USB filesystem must be vfat or ext[23]"
- exitclean
- fi
-
- USBLABEL=$(/sbin/blkid -s UUID -o value $dev)
- if [ -n "$USBLABEL" ]; then
- USBLABEL="UUID=$USBLABEL" ;
- else
- USBLABEL=$(/sbin/blkid -s LABEL -o value $dev)
- if [ -n "$USBLABEL" ]; then
- USBLABEL="LABEL=$USBLABEL"
- else
- echo "Need to have a filesystem label or UUID for your USB device"
- if [ "$USBFS" = "vfat" -o "$USBFS" = "msdos" ]; then
- echo "Label can be set with /sbin/dosfslabel"
- elif [ "$USBFS" = "ext2" -o "$USBFS" = "ext3" ]; then
- echo "Label can be set with /sbin/e2label"
- fi
- exitclean
- fi
- fi
-
- if [ "$USBFS" = "vfat" -o "$USBFS" = "msdos" ]; then
- mountopts="-o shortname=winnt,umask=0077"
- fi
-}
-
-checkSyslinuxVersion() {
- if [ ! -x /usr/bin/syslinux ]; then
- echo "You need to have syslinux installed to run this script"
- exit 1
- fi
- if ! syslinux 2>&1 | grep -qe -d; then
- SYSLINUXPATH=""
- elif [ -n "$multi" ]; then
- SYSLINUXPATH="$LIVEOS/syslinux"
- else
- SYSLINUXPATH="syslinux"
- fi
-}
-
-checkMounted() {
- dev=$1
- if grep -q "^$dev " /proc/mounts ; then
- echo "$dev is mounted, please unmount for safety"
- exitclean
- fi
- if grep -q "^$dev " /proc/swaps; then
- echo "$dev is in use as a swap device, please disable swap"
- exitclean
- fi
-}
-
-checkint() {
- if ! test $1 -gt 0 2>/dev/null ; then
- usage
- fi
-}
-
-if [ $(id -u) != 0 ]; then
- echo "You need to be root to run this script"
- exit 1
-fi
-
-cryptedhome=1
-keephome=1
-homesizemb=0
-swapsizemb=0
-overlaysizemb=0
-LIVEOS=LiveOS
-
-HOMEFILE="home.img"
-while [ $# -gt 2 ]; do
- case $1 in
- --overlay-size-mb)
- checkint $2
- overlaysizemb=$2
- shift
- ;;
- --home-size-mb)
- checkint $2
- homesizemb=$2
- shift
- ;;
- --swap-size-mb)
- checkint $2
- swapsizemb=$2
- shift
- ;;
- --crypted-home)
- cryptedhome=1
- ;;
- --unencrypted-home)
- cryptedhome=""
- ;;
- --delete-home)
- keephome=""
- ;;
- --noverify)
- noverify=1
- ;;
- --reset-mbr|--resetmbr)
- resetmbr=1
- ;;
- --efi|--mactel)
- efi=1
- ;;
- --format)
- format=1
- ;;
- --skipcopy)
- skipcopy=1
- ;;
- --xo)
- xo=1
- skipcompress=1
- ;;
- --xo-no-home)
- xonohome=1
- ;;
- --compress)
- skipcompress=""
- ;;
- --skipcompress)
- skipcompress=1
- ;;
- --extra-kernel-args)
- kernelargs=$2
- shift
- ;;
- --force)
- force=1
- ;;
- --livedir)
- LIVEOS=$2
- shift
- ;;
- --multi)
- multi=1
- ;;
- *)
- echo "invalid arg -- $1"
- usage
- ;;
- esac
- shift
-done
-
-ISO=$(readlink -f "$1")
-USBDEV=$(readlink -f "$2")
-
-if [ -z "$ISO" ]; then
- usage
-fi
-
-if [ ! -b "$ISO" -a ! -f "$ISO" ]; then
- usage
-fi
-
-# FIXME: If --format is given, we shouldn't care and just use /dev/foo1
-if [ -z "$USBDEV" -o ! -b "$USBDEV" ]; then
- usage
-fi
-
-if [ -z "$noverify" ]; then
- # verify the image
- echo "Verifying image..."
- checkisomd5 --verbose "$ISO"
- if [ $? -ne 0 ]; then
- echo "Are you SURE you want to continue?"
- echo "Press Enter to continue or ctrl-c to abort"
- read
- fi
-fi
-
-# do some basic sanity checks.
-checkMounted $USBDEV
-if [ -n "$format" ];then
- # checks for a valid filesystem
- if [ -n "$efi" ];then
- createGPTLayout $USBDEV
- else
- createMSDOSLayout $USBDEV
- fi
-fi
-checkFilesystem $USBDEV
-if [ -n "$efi" ]; then
- checkGPT $USBDEV
-fi
-checkSyslinuxVersion
-# Because we can't set boot flag for EFI Protective on msdos partition tables
-[ -z "$efi" ] && checkPartActive $USBDEV
-[ -n "$resetmbr" ] && resetMBR $USBDEV
-checkMBR $USBDEV
-
-
-if [ "$overlaysizemb" -gt 0 -a "$USBFS" = "vfat" ]; then
- if [ "$overlaysizemb" -gt 2047 ]; then
- echo "Can't have an overlay of 2048MB or greater on VFAT"
- exitclean
- fi
-fi
-
-if [ "$homesizemb" -gt 0 -a "$USBFS" = "vfat" ]; then
- if [ "$homesizemb" -gt 2047 ]; then
- echo "Can't have a home overlay greater than 2048MB on VFAT"
- exitclean
- fi
-fi
-
-if [ "$swapsizemb" -gt 0 -a "$USBFS" = "vfat" ]; then
- if [ "$swapsizemb" -gt 2047 ]; then
- echo "Can't have a swap file greater than 2048MB on VFAT"
- exitclean
- fi
-fi
-
-# FIXME: would be better if we had better mountpoints
-CDMNT=$(mktemp -d /media/cdtmp.XXXXXX)
-mount -o loop,ro "$ISO" $CDMNT || exitclean
-USBMNT=$(mktemp -d /media/usbdev.XXXXXX)
-mount $mountopts $USBDEV $USBMNT || exitclean
-
-trap exitclean SIGINT SIGTERM
-
-if [ -f "$USBMNT/$LIVEOS/$HOMEFILE" -a -n "$keephome" -a "$homesizemb" -gt 0 ]; then
- echo "ERROR: Requested keeping existing /home and specified a size for /home"
- echo "Please either don't specify a size or specify --delete-home"
- exitclean
-fi
-
-if [ -n "$efi" -a ! -d $CDMNT/EFI/boot ]; then
- echo "ERROR: This live image does not support EFI booting"
- exitclean
-fi
-
-# let's try to make sure there's enough room on the stick
-if [ -d $CDMNT/LiveOS ]; then
- check=$CDMNT/LiveOS
-else
- check=$CDMNT
-fi
-if [ -d $USBMNT/$LIVEOS ]; then
- tbd=$(du -s -B 1M $USBMNT/$LIVEOS | awk {'print $1;'})
- [ -f $USBMNT/$LIVEOS/$HOMEFILE ] && homesz=$(du -s -B 1M $USBMNT/$LIVEOS/$HOMEFILE | awk {'print $1;'})
- [ -n "$homesz" -a -n "$keephome" ] && tbd=$(($tbd - $homesz))
-else
- tbd=0
-fi
-livesize=$(du -s -B 1M $check | awk {'print $1;'})
-if [ -n "$skipcompress" ]; then
- if [ -e $CDMNT/LiveOS/squashfs.img ]; then
- if mount -o loop $CDMNT/LiveOS/squashfs.img $CDMNT; then
- livesize=$(du -s -B 1M $CDMNT/LiveOS/ext3fs.img | awk {'print $1;'})
- umount $CDMNT
- else
- echo "WARNING: --skipcompress or --xo was specified but the currently"
- echo "running kernel can not mount the squashfs from the ISO file to extract"
- echo "it. The compressed squashfs will be copied to the USB stick."
- skipcompress=""
- fi
- fi
-fi
-free=$(df -B1M $USBDEV |tail -n 1 |awk {'print $4;'})
-
- tba=$(($overlaysizemb + $homesizemb + $livesize + $swapsizemb))
-if [ $tba -gt $(($free + $tbd)) ]; then
- echo "Unable to fit live image + overlay on available space on USB stick"
- echo "+ Size of live image: $livesize"
- [ "$overlaysizemb" -gt 0 ] && echo "+ Overlay size: $overlaysizemb"
- [ "$homesizemb" -gt 0 ] && echo "+ Home overlay size: $homesizemb"
- [ "$swapsizemb" -gt 0 ] && echo "+ Swap overlay size: $swapsizemb"
- echo "---------------------------"
- echo "= Requested: $tba"
- echo "- Available: $(($free + $tbd))"
- echo "---------------------------"
- echo "= To fit, free or decrease requested size total by: $(($tba - $free + $tbd))"
- exitclean
-fi
-
-if [ -z "$skipcopy" ];then
- if [ -d $USBMNT/$LIVEOS -a -z "$force" ]; then
- echo "Already set up as live image."
- if [ -z "$keephome" -a -e $USBMNT/$LIVEOS/$HOMEFILE ]; then
- echo "WARNING: Persistent /home will be deleted!!!"
- echo "Press Enter to continue or ctrl-c to abort"
- read
- else
- echo "Deleting old OS in fifteen seconds..."
- sleep 15
-
- [ -e "$USBMNT/$LIVEOS/$HOMEFILE" -a -n "$keephome" ] && mv $USBMNT/$LIVEOS/$HOMEFILE $USBMNT/$HOMEFILE
- fi
-
- rm -rf $USBMNT/$LIVEOS
- fi
-fi
-
-# Bootloader is always reconfigured, so keep these out of the if skipcopy stuff.
-[ ! -d $USBMNT/$SYSLINUXPATH ] && mkdir -p $USBMNT/$SYSLINUXPATH
-[ -n "$efi" -a ! -d $USBMNT/EFI/boot ] && mkdir -p $USBMNT/EFI/boot
-
-if [ -z "$skipcopy" ];then
- echo "Copying live image to USB stick"
- [ ! -d $USBMNT/$LIVEOS ] && mkdir $USBMNT/$LIVEOS
- [ -n "$keephome" -a -f "$USBMNT/$HOMEFILE" ] && mv $USBMNT/$HOMEFILE $USBMNT/$LIVEOS/$HOMEFILE
- if [ -n "$skipcompress" -a -f $CDMNT/LiveOS/squashfs.img ]; then
- mount -o loop $CDMNT/LiveOS/squashfs.img $CDMNT || exitclean
- cp $CDMNT/LiveOS/ext3fs.img $USBMNT/$LIVEOS/ext3fs.img || (umount $CDMNT ; exitclean)
- umount $CDMNT
- elif [ -f $CDMNT/LiveOS/squashfs.img ]; then
- cp $CDMNT/LiveOS/squashfs.img $USBMNT/$LIVEOS/squashfs.img || exitclean
- elif [ -f $CDMNT/LiveOS/ext3fs.img ]; then
- cp $CDMNT/LiveOS/ext3fs.img $USBMNT/$LIVEOS/ext3fs.img || exitclean
- fi
- if [ -f $CDMNT/LiveOS/osmin.img ]; then
- cp $CDMNT/LiveOS/osmin.img $USBMNT/$LIVEOS/osmin.img || exitclean
- fi
-fi
-
-cp $CDMNT/isolinux/* $USBMNT/$SYSLINUXPATH
-BOOTCONFIG=$USBMNT/$SYSLINUXPATH/isolinux.cfg
-# Set this to nothing so sed doesn't care
-BOOTCONFIG_EFI=
-if [ -n "$efi" ];then
- cp $CDMNT/EFI/boot/* $USBMNT/EFI/boot
-
- # this is a little ugly, but it gets the "interesting" named config file
- BOOTCONFIG_EFI=$USBMNT/EFI/boot/boot?*.conf
- rm -f $USBMNT/EFI/boot/grub.conf
-fi
-
-echo "Updating boot config file"
-# adjust label and fstype
-sed -i -e "s/CDLABEL=[^ ]*/$USBLABEL/" -e "s/rootfstype=[^ ]*/rootfstype=$USBFS/" $BOOTCONFIG $BOOTCONFIG_EFI
-if [ -n "$kernelargs" ]; then sed -i -e "s/liveimg/liveimg ${kernelargs}/" $BOOTCONFIG $BOOTCONFIG_EFI ; fi
-if [ "$LIVEOS" != "LiveOS" ]; then sed -i -e "s;liveimg;liveimg live_dir=$LIVEOS;" $BOOTCONFIG $BOOTCONFIG_EFI ; fi
-
-if [ "$overlaysizemb" -gt 0 ]; then
- echo "Initializing persistent overlay file"
- OVERFILE="overlay-$( /sbin/blkid -s LABEL -o value $USBDEV )-$( /sbin/blkid -s UUID -o value $USBDEV )"
- if [ "$USBFS" = "vfat" ]; then
- # vfat can't handle sparse files
- dd if=/dev/zero of=$USBMNT/$LIVEOS/$OVERFILE count=$overlaysizemb bs=1M
- else
- dd if=/dev/null of=$USBMNT/$LIVEOS/$OVERFILE count=1 bs=1M seek=$overlaysizemb
- fi
- sed -i -e "s/liveimg/liveimg overlay=${USBLABEL}/" $BOOTCONFIG $BOOTCONFIG_EFI
- sed -i -e "s/\ ro\ /\ rw\ /" $BOOTCONFIG $BOOTCONFIG_EFI
-fi
-
-if [ "$swapsizemb" -gt 0 ]; then
- echo "Initializing swap file"
- dd if=/dev/zero of=$USBMNT/$LIVEOS/swap.img count=$swapsizemb bs=1M
- mkswap -f $USBMNT/$LIVEOS/swap.img
-fi
-
-if [ "$homesizemb" -gt 0 ]; then
- echo "Initializing persistent /home"
- homesource=/dev/zero
- [ -n "$cryptedhome" ] && homesource=/dev/urandom
- if [ "$USBFS" = "vfat" ]; then
- # vfat can't handle sparse files
- dd if=${homesource} of=$USBMNT/$LIVEOS/$HOMEFILE count=$homesizemb bs=1M
- else
- dd if=/dev/null of=$USBMNT/$LIVEOS/$HOMEFILE count=1 bs=1M seek=$homesizemb
- fi
- if [ -n "$cryptedhome" ]; then
- loop=$(losetup -f)
- losetup $loop $USBMNT/$LIVEOS/$HOMEFILE
- setupworked=1
- until [ ${setupworked} == 0 ]; do
- echo "Encrypting persistent /home"
- cryptsetup luksFormat -y -q $loop
- setupworked=$?
- done
- setupworked=1
- until [ ${setupworked} == 0 ]; do
- echo "Please enter the password again to unlock the device"
- cryptsetup luksOpen $loop EncHomeFoo
- setupworked=$?
- done
- mke2fs -j /dev/mapper/EncHomeFoo
- tune2fs -c0 -i0 -ouser_xattr,acl /dev/mapper/EncHomeFoo
- sleep 2
- cryptsetup luksClose EncHomeFoo
- losetup -d $loop
- else
- echo "Formatting unencrypted /home"
- mke2fs -F -j $USBMNT/$LIVEOS/$HOMEFILE
- tune2fs -c0 -i0 -ouser_xattr,acl $USBMNT/$LIVEOS/$HOMEFILE
- fi
-fi
-
-# create the forth files for booting on the XO if requested
-# we'd do this unconditionally, but you have to have a kernel that will
-# boot on the XO anyway.
-if [ -n "$xo" ]; then
- echo "Setting up /boot/olpc.fth file"
- args=$(egrep "^[ ]*append" $USBMNT/$SYSLINUXPATH/isolinux.cfg |head -n1 |sed -e 's/.*initrd=[^ ]*//')
- if [ -z "$xonohome" -a ! -f $USBMNT/$LIVEOS/$HOMEFILE ]; then
- args="$args persistenthome=mtd0"
- fi
- args="$args reset_overlay"
- xosyspath=$(echo $SYSLINUXPATH | sed -e 's;/;\\;')
- if [ ! -d $USBMNT/boot ]; then mkdir -p $USBMNT/boot ; fi
- cat > $USBMNT/boot/olpc.fth <<EOF
-\ Boot script for USB boot
-hex rom-pa fffc7 + 4 \$number drop h# 2e19 < [if]
- patch 2drop erase claim-params
- : high-ramdisk ( -- )
- cv-load-ramdisk
- h# 22c +lp l@ 1+ memory-limit umin /ramdisk - ffff.f000 and ( new-ramdisk-adr )
- ramdisk-adr over /ramdisk move ( new-ramdisk-adr )
- to ramdisk-adr
- ;
- ' high-ramdisk to load-ramdisk
-[then]
-
-: set-bootpath-dev ( -- )
- " /chosen" find-package if ( phandle )
- " bootpath" rot get-package-property 0= if ( propval$ )
- get-encoded-string ( bootpath$ )
- [char] \ left-parse-string 2nip ( dn$ )
- dn-buf place ( )
- then
- then
-
- " /sd" dn-buf count sindex 0>= if
- " sd:"
- else
- " u:"
- then
- " BOOTPATHDEV" \$set-macro
-;
-
-set-bootpath-dev
-" $args" to boot-file
-" \${BOOTPATHDEV}$xosyspath\initrd0.img" expand$ to ramdisk
-" \${BOOTPATHDEV}$xosyspath\vmlinuz0" expand$ to boot-device
-unfreeze
-boot
-EOF
-
-fi
-
-if [ -z "$multi" ]; then
- echo "Installing boot loader"
- if [ -n "$efi" ]; then
- # replace the ia32 hack
- if [ -f "$USBMNT/EFI/boot/boot.conf" ]; then cp -f $USBMNT/EFI/boot/bootia32.conf $USBMNT/EFI/boot/boot.conf ; fi
- fi
-
- # this is a bit of a kludge, but syslinux doesn't guarantee the API for its com32 modules :/
- if [ -f $USBMNT/$SYSLINUXPATH/vesamenu.c32 -a -f /usr/share/syslinux/vesamenu.c32 ]; then
- cp /usr/share/syslinux/vesamenu.c32 $USBMNT/$SYSLINUXPATH/vesamenu.c32
- elif [ -f $USBMNT/$SYSLINUXPATH/vesamenu.c32 -a -f /usr/lib/syslinux/vesamenu.c32 ]; then
- cp /usr/lib/syslinux/vesamenu.c32 $USBMNT/$SYSLINUXPATH/vesamenu.c32
- elif [ -f $USBMNT/$SYSLINUXPATH/menu.c32 -a -f /usr/share/syslinux/menu.c32 ]; then
- cp /usr/share/syslinux/menu.c32 $USBMNT/$SYSLINUXPATH/menu.c32
- elif [ -f $USBMNT/$SYSLINUXPATH/menu.c32 -a -f /usr/lib/syslinux/menu.c32 ]; then
- cp /usr/lib/syslinux/menu.c32 $USBMNT/$SYSLINUXPATH/menu.c32
- fi
-
- if [ "$USBFS" = "vfat" -o "$USBFS" = "msdos" ]; then
- # syslinux expects the config to be named syslinux.cfg
- # and has to run with the file system unmounted
- mv $USBMNT/$SYSLINUXPATH/isolinux.cfg $USBMNT/$SYSLINUXPATH/syslinux.cfg
- # deal with mtools complaining about ldlinux.sys
- if [ -f $USBMNT/$SYSLINUXPATH/ldlinux.sys ] ; then rm -f $USBMNT/$SYSLINUXPATH/ldlinux.sys ; fi
- cleanup
- if [ -n "$SYSLINUXPATH" ]; then
- syslinux -d $SYSLINUXPATH $USBDEV
- else
- syslinux $USBDEV
- fi
- elif [ "$USBFS" = "ext2" -o "$USBFS" = "ext3" ]; then
- # extlinux expects the config to be named extlinux.conf
- # and has to be run with the file system mounted
- mv $USBMNT/$SYSLINUXPATH/isolinux.cfg $USBMNT/$SYSLINUXPATH/extlinux.conf
- extlinux -i $USBMNT/$SYSLINUXPATH
- chattr -i $USBMNT/$SYSLINUXPATH/extlinux.sys
- cleanup
- fi
-else
- # we need to do some more config file tweaks for multi-image mode
- sed -i -e "s;kernel vm;kernel /$LIVEOS/syslinux/vm;" $USBMNT/$SYSLINUXPATH/isolinux.cfg
- sed -i -e "s;initrd=i;initrd=/$LIVEOS/syslinux/i;" $USBMNT/$SYSLINUXPATH/isolinux.cfg
- mv $USBMNT/$SYSLINUXPATH/isolinux.cfg $USBMNT/$SYSLINUXPATH/syslinux.cfg
- cleanup
-fi
-
-echo "USB stick set up as live image!"
diff --git a/liveusb-to-liveusb.sh b/liveusb-to-liveusb.sh
deleted file mode 100755
index 3cc937c..0000000
--- a/liveusb-to-liveusb.sh
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/bash
-
-cleanup() {
- [ -d "$MNT" ] && umount $MNT && rmdir $MNT
-}
-
-exitclean() {
- echo "Cleaning up to exit..."
- cleanup
- exit 1
-}
-
-DEV=$(readlink -f "$1")
-
-livecd-iso-to-disk /dev/live $DEV
-
-MNT=$(mktemp -d /media/mnttmp.XXXXXX)
-mount -o loop,rw "$DEV" $MNT || exitclean
-
-cp -r /mnt/live/syslinux $MNT
-
-USBLABEL=$(/sbin/blkid -s UUID -o value $DEV)
-USBFS=$(/sbin/blkid -s TYPE -o value $DEV)
-sed -i -e "s/root=[^ ]*/root=UUID=$USBLABEL/" -e "s/rootfstype=[^ ]*/rootfstype=$USBFS/" -e "s/overlay=[^ ]*/overlay=$USBLABEL/" $MNT/syslinux/syslinux.cfg
-
-trap exitclean SIGINT SIGTERM
-
-echo "Done."
-cleanup
diff --git a/make_fake_device.sh b/make_fake_device.sh
deleted file mode 100755
index c44a0e0..0000000
--- a/make_fake_device.sh
+++ /dev/null
@@ -1,71 +0,0 @@
-#!/bin/bash
-
-set -e
-set -o pipefail
-
-PATH=/usr/sbin:/sbin:$PATH
-
-SAFE_SIZE_4G=3758096384 #3584mb
-SAFE_SIZE_2G=1879048192 #1/2 4g safe size
-SAFE_SIZE_1G=939524096 #1/2 2g safe size
-
-DISK_SIZE=$SAFE_SIZE_4G
-LOOP_DEV=$(losetup -f)
-
-usage() {
- echo "make_fake_device.sh [--4G|--2G|--1G] <loop device backing store filename>"
- echo " outputs a loop device whose backing store is a partitioned disk "
- echo " image using a sparse file of the specified size (default is --4G)"
- exit 1
-}
-
-while [ $# -gt 1 ]; do
- case $1 in
- --4G)
- DISK_SIZE=$SAFE_SIZE_4G
- shift
- ;;
- --2G)
- DISK_SIZE=$SAFE_SIZE_2G
- shift
- ;;
- --1G)
- DISK_SIZE=$SAFE_SIZE_2G
- shift
- ;;
- *)
- usage
- ;;
- esac
-done
-IMG=$1
-
-
-BLOCK_SIZE=512
-NUM_HEADS=16
-NUM_SECTORS_PER_TRACK=62
-NUM_BLOCKS=$(($DISK_SIZE / $BLOCK_SIZE))
-NUM_CYLINDERS=$(($NUM_BLOCKS / $NUM_HEADS / $NUM_SECTORS_PER_TRACK))
-IMAGE_SIZE=$(($NUM_CYLINDERS * $NUM_HEADS * $NUM_SECTORS_PER_TRACK * $BLOCK_SIZE))
-OS_PART1_BEGIN=$(($NUM_SECTORS_PER_TRACK * $BLOCK_SIZE))
-
-dd if=/dev/zero of=$IMG bs=$BLOCK_SIZE count=0 seek=$(($IMAGE_SIZE / $BLOCK_SIZE)) > /dev/null 2>&1 || exitclean
-/sbin/fdisk -b $BLOCK_SIZE -C $NUM_CYLINDERS -S $NUM_SECTORS_PER_TRACK -H $NUM_HEADS $IMG > /dev/null 2>&1 <<EOF
-n
-p
-1
-
-
-t
-83
-p
-w
-q
-EOF
-
-losetup -d $LOOP_DEV > /dev/null 2>&1 || /bin/true
-losetup -o $OS_PART1_BEGIN $LOOP_DEV $IMG
-
-mke2fs -O dir_index -L OLPCRoot -F $LOOP_DEV > /dev/null 2>&1 || exitclean
-echo $LOOP_DEV
-
diff --git a/plymouth.spec b/plymouth.spec
deleted file mode 100644
index ae6c4d0..0000000
--- a/plymouth.spec
+++ /dev/null
@@ -1,1026 +0,0 @@
-%define plymouthdaemon_execdir /sbin
-%define plymouthclient_execdir /bin
-%define plymouth_libdir /%{_lib}
-%define _default_patch_fuzz 999
-
-Summary: Graphical Boot Animation and Logger
-Name: plymouth
-Version: 0.8.0
-Release: 0.2009.29.09.19%{?dist}.1
-License: GPLv2+
-Group: System Environment/Base
-Source0: http://freedesktop.org/software/plymouth/releases/%{name}-%{version}.tar.bz2
-Source1: boot-duration
-Source2: charge.plymouth
-Source3: plymouth-set-default-plugin
-Source4: plymouth-update-initrd
-Source5: soas-blueberry.tar.bz2
-
-URL: http://freedesktop.org/software/plymouth/releases
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-
-Requires: system-logos
-Requires(post): plymouth-scripts
-Requires: initscripts >= 8.83-1
-
-BuildRequires: pkgconfig(libdrm)
-BuildRequires: pkgconfig(libdrm_intel)
-BuildRequires: pkgconfig(libdrm_radeon)
-BuildRequires: pkgconfig(libdrm_nouveau)
-
-Obsoletes: plymouth-text-and-details-only < %{version}-%{release}
-Obsoletes: plymouth-plugin-pulser < 0.7.0-0.2009.05.08.2
-Obsoletes: plymouth-theme-pulser < 0.7.0-0.2009.05.08.2
-
-Patch0: fix-2nd-show-splash.patch
-Patch1: fix-text-password-crash.patch
-Patch2: fix-firstboot-on-intel.patch
-Patch3: fix-firstboot-on-radeon.patch
-Patch4: more-drm-fixes.patch
-Patch5: fix-emergency-shell.patch
-Patch6: fix-details-clear-screen.patch
-Patch7: fix-text-shutdown-crash.patch
-Patch8: fix-text-ask-for-password.patch
-Patch9: dont-unlink-devnull.patch
-Patch10: fix-hvc0-console.patch
-Patch11: force-raw-mode.patch
-
-%description
-Plymouth provides an attractive graphical boot animation in
-place of the text messages that normally get shown. Text
-messages are instead redirected to a log file for viewing
-after boot.
-
-%package system-theme
-Summary: Plymouth default theme
-Group: System Environment/Base
-Obsoletes: rhgb < 1:10.0.0
-Provides: rhgb = 1:10.0.0
-Obsoletes: %{name}-system-plugin < %{version}-%{release}
-Provides: %{name}-system-plugin = %{version}-%{release}
-Provides: rhgb = 1:10.0.0
-Requires: plymouth(system-theme) = %{version}-%{release}
-
-%description system-theme
-This metapackage tracks the current distribution default theme.
-
-%package libs
-Summary: Plymouth libraries
-Group: Development/Libraries
-
-%description libs
-This package contains the libply and libplybootsplash libraries
-used by Plymouth.
-
-%package devel
-Summary: Libraries and headers for writing Plymouth splash plugins
-Group: Development/Libraries
-Requires: %{name} = %{version}-%{release}
-Requires: pkgconfig
-
-%description devel
-This package contains the libply and libplybootsplash libraries
-and headers needed to develop 3rd party splash plugins for Plymouth.
-
-%package utils
-Summary: Plymouth related utilities
-Group: Applications/System
-Requires: %{name} = %{version}-%{release}
-BuildRequires: gtk2-devel
-
-%description utils
-This package contains utilities that integrate with Plymouth
-including a boot log viewing application.
-
-%package scripts
-Summary: Plymouth related scripts
-Group: Applications/System
-Requires: nash
-
-%description scripts
-This package contains scripts that help integrate Plymouth with
-the system.
-
-%package gdm-hooks
-Summary: Plymouth GDM integration
-Group: Applications/System
-Requires: gdm >= 1:2.22.0
-Requires: plymouth-utils
-Requires: %{name} = %{version}-%{release}
-
-%description gdm-hooks
-This package contains support files for integrating Plymouth with GDM
-Namely, it adds hooks to show boot messages at the login screen in the
-event start-up services fail.
-
-%package plugin-label
-Summary: Plymouth label plugin
-Group: System Environment/Base
-Requires: %{name}-libs = %{version}-%{release}
-BuildRequires: pango-devel >= 1.21.0
-BuildRequires: cairo-devel
-
-%description plugin-label
-This package contains the label control plugin for
-Plymouth. It provides the ability to render text on
-graphical boot splashes using pango and cairo.
-
-%package plugin-fade-throbber
-Summary: Plymouth "Fade-Throbber" plugin
-Group: System Environment/Base
-Requires: %{name}-libs = %{version}-%{release}
-BuildRequires: libpng-devel
-
-%description plugin-fade-throbber
-This package contains the "Fade-In" boot splash plugin for
-Plymouth. It features a centered image that fades in and out
-while other images pulsate around during system boot up.
-
-%package theme-fade-in
-Summary: Plymouth "Fade-In" theme
-Group: System Environment/Base
-Requires: %{name}-plugin-fade-throbber = %{version}-%{release}
-Requires(post): %{_sbindir}/plymouth-set-default-theme
-Obsoletes: plymouth-plugin-fade-in <= 0.7.0-0.2009.05.08.2
-Provides: plymouth-plugin-fade-in = 0.7.0-0.2009.05.08.2
-
-%description theme-fade-in
-This package contains the "Fade-In" boot splash theme for
-Plymouth. It features a centered logo that fades in and out
-while stars twinkle around the logo during system boot up.
-
-%package plugin-throbgress
-Summary: Plymouth "Throbgress" plugin
-Group: System Environment/Base
-Requires: %{name}-libs = %{version}-%{release}
-Requires: plymouth-plugin-label
-BuildRequires: libpng-devel
-
-%description plugin-throbgress
-This package contains the "throbgress" boot splash plugin for
-Plymouth. It features a centered logo and animated spinner that
-spins repeatedly while a progress bar advances at the bottom of
-the screen.
-
-%package theme-spinfinity
-Summary: Plymouth "Spinfinity" theme
-Group: System Environment/Base
-Requires: %{name}-plugin-throbgress = %{version}-%{release}
-Requires(post): %{_sbindir}/plymouth-set-default-theme
-Obsoletes: plymouth-plugin-spinfinity <= 0.7.0-0.2009.05.08.2
-Provides: plymouth-plugin-spinfinity = 0.7.0-0.2009.05.08.2
-
-%description theme-spinfinity
-This package contains the "Spinfinity" boot splash theme for
-Plymouth. It features a centered logo and animated spinner that
-spins in the shape of an infinity sign.
-
-%package plugin-space-flares
-Summary: Plymouth "space-flares" plugin
-Group: System Environment/Base
-Requires: %{name}-libs = %{version}-%{release}
-Requires: plymouth-plugin-label
-BuildRequires: libpng-devel
-
-%description plugin-space-flares
-This package contains the "space-flares" boot splash plugin for
-Plymouth. It features a corner image with animated flares.
-
-%package theme-solar
-Summary: Plymouth "Solar" theme
-Group: System Environment/Base
-Requires: %{name}-plugin-space-flares = %{version}-%{release}
-Requires(post): %{_sbindir}/plymouth-set-default-theme
-Obsoletes: plymouth-plugin-solar <= 0.7.0-0.2009.05.08.2
-Provides: plymouth-plugin-solar = 0.7.0-0.2009.05.08.2
-# We require this to fix upgrades (see bug 499940).
-Requires: plymouth-system-theme
-
-%description theme-solar
-This package contains the "Solar" boot splash theme for
-Plymouth. It features a blue flamed sun with animated solar flares.
-
-%package plugin-two-step
-Summary: Plymouth "two-step" plugin
-Group: System Environment/Base
-Requires: %{name}-libs = %{version}-%{release}
-Requires: plymouth-plugin-label
-BuildRequires: libpng-devel
-
-%description plugin-two-step
-This package contains the "two-step" boot splash plugin for
-Plymouth. It features a two phased boot process that starts with
-a progressing animation synced to boot time and finishes with a
-short, fast one-shot animation.
-
-%package theme-soas
-Summary: Plymouth "SoaS" plugin
-Group: System Environment/Base
-Requires: %{name}-plugin-two-step = %{version}-%{release}
-Requires(post): %{_sbindir}/plymouth-set-default-theme
-Provides: plymouth(system-theme) = %{version}-%{release}
-
-%description theme-soas
-This package contains the "SoaS" boot splash theme for
-Plymouth. It features the Sugar logo.
-
-%package plugin-script
-Summary: Plymouth "script" plugin
-Group: System Environment/Base
-Requires: %{name}-libs = %{version}-%{release}
-BuildRequires: libpng-devel
-
-%description plugin-script
-This package contains the "script" boot splash plugin for
-Plymouth. It features an extensible, scriptable boot splash
-language that simplifies the process of designing custom
-boot splash themes.
-
-%package theme-script
-Summary: Plymouth "Script" plugin
-Group: System Environment/Base
-Requires: %{name}-plugin-script = %{version}-%{release}
-Requires(post): %{_sbindir}/plymouth-set-default-theme
-
-%description theme-script
-This package contains the "script" boot splash theme for
-Plymouth. It it is a simple example theme the uses the "script"
-plugin.
-
-%prep
-%setup -q
-
-%patch0 -p1 -b .fix-2nd-show-splash
-%patch1 -p1 -b .fix-text-password-crash
-%patch2 -p1 -b .fix-firstboot-on-intel
-%patch3 -p1 -b .fix-firstboot-on-radeon
-%patch4 -p1 -b .more-drm-fixes
-%patch5 -p1 -b .fix-emergency-shell
-%patch6 -p1 -b .fix-details-clear-screen
-%patch7 -p1 -b .fix-text-shutdown-crash
-%patch8 -p1 -b .fix-text-ask-for-password
-%patch9 -p1 -b .dont-unlink-devnull
-%patch10 -p1 -b .fix-hvc0-console
-%patch11 -p1 -b .force-raw-mode
-
-%build
-%configure --enable-tracing --disable-tests --without-boot-entry \
- --without-default-plugin \
- --with-logo=%{_datadir}/pixmaps/system-logo-white.png \
- --with-background-start-color-stop=0x0073B3 \
- --with-background-end-color-stop=0x00457E \
- --with-background-color=0x3391cd \
- --enable-gdm-transition \
- --with-system-root-install \
- --with-rhgb-compat-link
-
-make
-
-%install
-rm -rf $RPM_BUILD_ROOT
-
-make install DESTDIR=$RPM_BUILD_ROOT
-
-# Glow isn't quite ready for primetime
-rm -rf $RPM_BUILD_ROOT%{_datadir}/plymouth/glow/
-rm -f $RPM_BUILD_ROOT%{_libdir}/plymouth/glow.so
-
-find $RPM_BUILD_ROOT -name '*.a' -exec rm -f {} \;
-find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} \;
-
-# Temporary symlink until rc.sysinit is fixed
-(cd $RPM_BUILD_ROOT%{_bindir}; ln -s ../../bin/plymouth)
-
-mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/plymouth
-cp $RPM_SOURCE_DIR/boot-duration $RPM_BUILD_ROOT%{_datadir}/plymouth/default-boot-duration
-cp $RPM_SOURCE_DIR/boot-duration $RPM_BUILD_ROOT%{_localstatedir}/lib/plymouth
-
-# Add soas, our new default
-mkdir -p $RPM_BUILD_ROOT%{_datadir}/plymouth/themes/soas
-tar -xvjf %{SOURCE5} -C $RPM_BUILD_ROOT%{_datadir}/plymouth/themes/soas
-rm -f $RPM_BUILD_ROOT%{_datadir}/plymouth/themes/soas/soas-blueberry.tar.bz2
-cp $RPM_BUILD_ROOT%{_datadir}/plymouth/themes/glow/{box,bullet,entry,lock}.png $RPM_BUILD_ROOT%{_datadir}/plymouth/themes/soas
-
-# Drop glow, it's not very Fedora-y
-rm -rf $RPM_BUILD_ROOT%{_datadir}/plymouth/themes/glow
-
-# Add compat script for upgrades
-cp $RPM_SOURCE_DIR/plymouth-set-default-plugin $RPM_BUILD_ROOT%{_sbindir}
-chmod +x $RPM_BUILD_ROOT%{_sbindir}/plymouth-set-default-plugin
-
-# Override plymouth-update-initrd to work dracut or mkinitrd
-cp -f $RPM_SOURCE_DIR/plymouth-update-initrd $RPM_BUILD_ROOT%{_libexecdir}/plymouth/plymouth-update-initrd
-
-%clean
-rm -rf $RPM_BUILD_ROOT
-
-%post
-[ -f %{_localstatedir}/lib/plymouth/boot-duration ] || cp -f %{_datadir}/plymouth/default-boot-duration %{_localstatedir}/lib/plymouth/boot-duration
-
-%postun
-if [ $1 -eq 0 ]; then
- rm -f %{_libdir}/plymouth/default.so
- rm -f /boot/initrd-plymouth.img
-fi
-
-%post libs -p /sbin/ldconfig
-%postun libs -p /sbin/ldconfig
-
-%postun theme-spinfinity
-export LIB=%{_lib}
-if [ $1 -eq 0 ]; then
- if [ "$(%{_sbindir}/plymouth-set-default-theme)" == "spinfinity" ]; then
- %{_sbindir}/plymouth-set-default-theme text
- fi
-fi
-
-%postun theme-fade-in
-export LIB=%{_lib}
-if [ $1 -eq 0 ]; then
- if [ "$(%{_sbindir}/plymouth-set-default-theme)" == "fade-in" ]; then
- %{_sbindir}/plymouth-set-default-theme --reset
- fi
-fi
-
-%postun theme-solar
-export LIB=%{_lib}
-if [ $1 -eq 0 ]; then
- if [ "$(%{_sbindir}/plymouth-set-default-theme)" == "solar" ]; then
- %{_sbindir}/plymouth-set-default-theme --reset
- fi
-fi
-
-%post theme-soas
-export LIB=%{_lib}
-if [ $1 -eq 1 ]; then
- %{_sbindir}/plymouth-set-default-theme soas
-else
- if [ "$(%{_sbindir}/plymouth-set-default-theme)" == "solar" ]; then
- %{_sbindir}/plymouth-set-default-theme soas
- fi
-fi
-
-%postun theme-soas
-export LIB=%{_lib}
-if [ $1 -eq 0 ]; then
- if [ "$(%{_sbindir}/plymouth-set-default-theme)" == "soas" ]; then
- %{_sbindir}/plymouth-set-default-theme --reset
- fi
-fi
-
-%files
-%defattr(-, root, root)
-%doc AUTHORS NEWS README
-%dir %{_datadir}/plymouth
-%dir %{_datadir}/plymouth/themes
-%dir %{_libexecdir}/plymouth
-%dir %{_localstatedir}/lib/plymouth
-%{plymouthdaemon_execdir}/plymouthd
-%{plymouthclient_execdir}/plymouth
-%{_bindir}/plymouth
-%{_bindir}/rhgb-client
-%{_libdir}/plymouth/details.so
-%{_libdir}/plymouth/text.so
-%{_libdir}/plymouth/renderers
-%{_datadir}/plymouth/default-boot-duration
-%{_datadir}/plymouth/themes/details/details.plymouth
-%{_datadir}/plymouth/themes/text/text.plymouth
-%{_localstatedir}/run/plymouth
-%{_localstatedir}/spool/plymouth
-%ghost %{_localstatedir}/lib/plymouth/boot-duration
-
-%files devel
-%defattr(-, root, root)
-%{plymouth_libdir}/libply.so
-%{_libdir}/libplybootsplash.so
-%{_libdir}/pkgconfig/plymouth-1.pc
-%{_includedir}/plymouth-1
-
-%files libs
-%defattr(-, root, root)
-%{plymouth_libdir}/libply.so.*
-%{_libdir}/libplybootsplash.so.*
-%dir %{_libdir}/plymouth
-
-%files scripts
-%defattr(-, root, root)
-%{_sbindir}/plymouth-set-default-theme
-%{_sbindir}/plymouth-set-default-plugin
-%{_libexecdir}/plymouth/plymouth-update-initrd
-%{_libexecdir}/plymouth/plymouth-generate-initrd
-%{_libexecdir}/plymouth/plymouth-populate-initrd
-
-%files utils
-%defattr(-, root, root)
-%{_bindir}/plymouth-log-viewer
-
-%files gdm-hooks
-%defattr(-, root, root)
-%{_datadir}/gdm/autostart/LoginWindow/plymouth-log-viewer.desktop
-
-%files plugin-label
-%defattr(-, root, root)
-%{_libdir}/plymouth/label.so
-
-%files plugin-fade-throbber
-%defattr(-, root, root)
-%{_libdir}/plymouth/fade-throbber.so
-
-%files theme-fade-in
-%defattr(-, root, root)
-%dir %{_datadir}/plymouth/themes/fade-in
-%{_datadir}/plymouth/themes/fade-in/bullet.png
-%{_datadir}/plymouth/themes/fade-in/entry.png
-%{_datadir}/plymouth/themes/fade-in/lock.png
-%{_datadir}/plymouth/themes/fade-in/star.png
-%{_datadir}/plymouth/themes/fade-in/fade-in.plymouth
-
-%files plugin-throbgress
-%defattr(-, root, root)
-%{_libdir}/plymouth/throbgress.so
-
-%files theme-spinfinity
-%defattr(-, root, root)
-%dir %{_datadir}/plymouth/themes/spinfinity
-%{_datadir}/plymouth/themes/spinfinity/box.png
-%{_datadir}/plymouth/themes/spinfinity/bullet.png
-%{_datadir}/plymouth/themes/spinfinity/entry.png
-%{_datadir}/plymouth/themes/spinfinity/lock.png
-%{_datadir}/plymouth/themes/spinfinity/throbber-[0-3][0-9].png
-%{_datadir}/plymouth/themes/spinfinity/spinfinity.plymouth
-
-%files plugin-space-flares
-%defattr(-, root, root)
-%{_libdir}/plymouth/space-flares.so
-
-%files theme-solar
-%defattr(-, root, root)
-%dir %{_datadir}/plymouth/themes/solar
-%{_datadir}/plymouth/themes/solar/*.png
-%{_datadir}/plymouth/themes/solar/solar.plymouth
-
-%files plugin-two-step
-%defattr(-, root, root)
-%{_libdir}/plymouth/two-step.so
-
-%files theme-soas
-%defattr(-, root, root)
-%dir %{_datadir}/plymouth/themes/soas
-%{_datadir}/plymouth/themes/soas/*.png
-%{_datadir}/plymouth/themes/soas/soas.plymouth
-
-%files plugin-script
-%defattr(-, root, root)
-%{_libdir}/plymouth/script.so
-
-%files theme-script
-%defattr(-, root, root)
-%{_datadir}/plymouth/themes/script/*.png
-%{_datadir}/plymouth/themes/script/script.script
-%{_datadir}/plymouth/themes/script/script.plymouth
-
-%files system-theme
-%defattr(-, root, root)
-
-%changelog
-* Fri Nov 20 2009 Sebastian Dziallas <sebastian@when.com> 0.8.0-0.2009.29.09.19
-- Fork for Sugar on a Stick Blueberry release
-
-* Tue Nov 10 2009 Ray Strode <rstrode@redhat.com> 0.8.0-0.2009.29.09.19
-- Force raw mode on every text draw. This works around a bug where
- some program at startup is kicking the terminal out of raw mode.
-
-* Wed Nov 04 2009 Ray Strode <rstrode@redhat.com> 0.8.0-0.2009.29.09.18
-- Make plymouth-update-initrd work with dracut
-
-* Tue Nov 03 2009 Ray Strode <rstrode@redhat.com> 0.8.0-0.2009.29.09.17
-- Add nash dep for plymouth-set-default-theme
-
-* Fri Oct 30 2009 Ray Strode <rstrode@redhat.com> 0.8.0-0.2009.29.09.16
-- Drop debug spew that snuck in
-
-* Thu Oct 29 2009 Ray Strode <rstrode@redhat.com> 0.8.0-0.2009.29.09.15
-- Fix plymouth over ppc hyperviser console (bug 531581)
-
-* Thu Oct 29 2009 Ray Strode <rstrode@redhat.com> 0.8.0-0.2009.29.09.14
-- Don't unlink /dev/null (bug 531740)
-
-* Mon Oct 19 2009 Ray Strode <rstrode@redhat.com> 0.8.0-0.2009.29.09.13
-- Drop nash dep (bug 528706)
-
-* Wed Oct 14 2009 Ray Strode <rstrode@redhat.com> 0.8.0-0.2009.29.09.12
-- Don't clear screen in text plugin immediately after displaying
- password prompt (bug 527426)
-
-* Tue Oct 13 2009 Ray Strode <rstrode@redhat.com> 0.8.0-0.2009.29.09.11
-- Clean up terminal on exit (bug 528683 again)
-
-* Tue Oct 13 2009 Ray Strode <rstrode@redhat.com> 0.8.0-0.2009.29.09.10
-- Fix more emergency shell horkage (for users without modesetting)
- (bug 528683)
-
-* Fri Oct 09 2009 Ray Strode <rstrode@redhat.com> 0.8.0-0.2009.29.09.9
-- Fix frame-buffer fallback plugin
- (broken by details fix in 0.8.0-0.2009.29.09.7)
-
-* Fri Oct 09 2009 Ray Strode <rstrode@redhat.com> 0.8.0-0.2009.29.09.8
-- Fix crash in text plugin on shutdown
-
-* Thu Oct 08 2009 Ray Strode <rstrode@redhat.com> 0.8.0-0.2009.29.09.7
-- Fix emergency shell horkage (bug 526597)
-- Fix problem with details splash not showing up (bug 527426, bug 527254)
-
-* Wed Oct 07 2009 Ray Strode <rstrode@redhat.com> 0.8.0-0.2009.29.09.6
-- Fix the reason radeon single head users were affected.
-
-* Wed Oct 07 2009 Ray Strode <rstrode@redhat.com> 0.8.0-0.2009.29.09.5
-- Prevent firstboot's X from crashing on radeon hardware. This should
- only affect multihead users, but for some reason it's getting some
- single head users as well.
-
-* Tue Oct 06 2009 Ray Strode <rstrode@redhat.com> 0.8.0-0.2009.29.09.4
-- Prevent firstboot's X from crashing on intel hardware
-
-* Mon Oct 05 2009 Ray Strode <rstrode@redhat.com> 0.8.0-0.2009.29.09.3
-- Fix crasher in text plugin after password prompt (bug 526652)
-- Actually apply the patch mentioned in 2009.29.09.2
-
-* Mon Oct 5 2009 Ray Strode <rstrode@redhat.com> 0.8.0-0.2009.29.09.2
-- Fix --show-splash after --hide-splash (bug 527299)
-
-* Tue Sep 29 2009 Ray Strode <rstrode@redhat.com> 0.8.0-0.2009.29.09.1
-- Fix escape and ask-for-password
-
-* Mon Sep 28 2009 Ray Strode <rstrode@redhat.com> 0.8.0-0.2009.28.09
-- Add prerelease of 0.8.0 for multihead support
-
-* Fri Sep 11 2009 Ray Strode <rstrode@redhat.com> 0.7.1-7
-- Go back to blue charge background (bug 522460)
-
-* Fri Sep 11 2009 Ray Strode <rstrode@redhat.com> 0.7.1-6
-- Remove duplicate Provides: plymouth(system-theme)
-
-* Thu Sep 10 2009 Ray Strode <rstrode@redhat.com> 0.7.1-5
-- Fix set_verbose error reported by yaneti.
-
-* Wed Sep 9 2009 Ray Strode <rstrode@redhat.com> 0.7.1-4
-- Look for inst() in dracut as well as mkinitrd bash source file
-- Drop plymouth initrd for now.
-
-* Fri Aug 28 2009 Ray Strode <rstrode@redhat.com> 0.7.1-3
-- Create plymouth supplementary initrd in post (bug 515589)
-
-* Tue Aug 25 2009 Ray Strode <rstrode@redhat.com> 0.7.1-2
-- Get plugin path from plymouth instead of trying
- to guess. Should fix bug 502667
-
-* Tue Aug 25 2009 Ray Strode <rstrode@redhat.com> 0.7.1-1
-- Update to 0.7.1
-
-* Mon Aug 24 2009 Adam Jackson <ajax@redhat.com> 0.7.0-2
-- Set charge bgcolor to black. (#519052)
-
-* Tue Aug 11 2009 Ray Strode <rstrode@redhat.com> 0.7.0-1
-- Update to 0.7.0
-
-* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.7.0-0.2010.05.15.1
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
-
-* Fri May 15 2009 Ray Strode <rstrode@redhat.com> 0.7.0-0.2009.05.15.1
-- Fix spinfinity theme to point to the right image directory
- (bug 500994)
-
-* Thu May 14 2009 Ray Strode <rstrode@redhat.com> 0.7.0-0.2009.05.14.1
-- Update to new snapshot that renames plugins to fix upgrades
- somewhat (bug 499940)
-
-* Fri May 08 2009 Ray Strode <rstrode@redhat.com> 0.7.0-0.2009.05.08.1
-- Add some fixes for shutdown
-
-* Fri May 08 2009 Ray Strode <rstrode@redhat.com> 0.7.0-0.2009.05.06.4
-- Don't slow down progress updating at the end of boot
-
-* Thu May 07 2009 Ray Strode <rstrode@redhat.com> 0.7.0-0.2009.05.06.3
-- Change colors to transition better to gdm
-
-* Wed May 06 2009 Ray Strode <rstrode@redhat.com> 0.7.0-0.2009.05.06.2
-- Make "charge" theme require two-step plugin instead of solar (oops)
-
-* Wed May 06 2009 Ray Strode <rstrode@redhat.com> 0.7.0-0.2009.05.06.1
-- Update to "plugin-rework" branch from git
-
-* Wed Apr 08 2009 Jesse Keating <jkeating@redhat.com> - 0.7.0-0.2009.03.10.3
-- Drop the version on system-logos requires for now, causing hell with
- other -logos providers not having the same version.
-
-* Wed Mar 18 2009 Ray Strode <rstrode@redhat.com> 0.7.0-0.2009.03.10.2
-- Destroy terminal on detach (may help with bug 490965)
-
-* Tue Mar 10 2009 Ray Strode <rstrode@redhat.com> 0.7.0-0.2009.03.10.1
-- Address one more issue with password handling. It wasn't working
- well for secondary devices when using the "details" plugin.
-
-* Mon Mar 9 2009 Ray Strode <rstrode@redhat.com> 0.7.0-0.2009.03.09.1
-- Attempt to address some problems with password handling in the
- 0.7.0 snapshots
-
-* Fri Mar 6 2009 Ray Strode <rstrode@redhat.com> 0.7.0-0.2009.03.06.2
-- Fix set default script
-
-* Fri Mar 6 2009 Ray Strode <rstrode@redhat.com> 0.7.0-0.2009.03.06.1
-- more scriptlet changes to move from solar to spinfinity
-
-* Fri Mar 6 2009 Ray Strode <rstrode@redhat.com> 0.7.0-0.2009.03.06
-- Updated to development snapshot
-- Guess progress better on second boot of persistent live images
-- Drop upstream patches
-- swap "solar" and "spinfinity" scriptlet behavior
-
-* Tue Feb 24 2009 Ray Strode <rstrode@redhat.com> 0.6.0-3
-- Add fix-heap-corruptor patch from master. Problem
- spotted by Mr. McCann.
-
-* Wed Dec 17 2008 Ray Strode <rstrode@redhat.com> 0.6.0-2
-- Add patch from drop-nash branch for jeremy
-
-* Wed Dec 3 2008 Ray Strode <rstrode@redhat.com> 0.6.0-1
-- Update to 0.6.0
-
-* Sat Nov 22 2008 Matthias Clasen <mclasen@redhat.com> 0.6.0-0.2008.11.17.3.1
-- Strip %%name from %%summary
-
-* Mon Nov 17 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.11.17.3
-- don't give error about missing default.so
-- rework packaging of boot-duration to prevent .rpmnew droppings
- (bug 469752)
-
-* Mon Nov 17 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.11.17.2
-- Don't tell gdm to transition unless booting into runlevel 3
- (bug 471785)
-
-* Mon Nov 17 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.11.17.1
-- Crawl progress bar if boot is way off course (Charlie, bug 471089)
-
-* Fri Nov 14 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.11.14.2
-- Don't loop forever when tty returns NUL byte (bug 471498)
-
-* Fri Nov 14 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.11.14.1
-- Generate solar background dynamically to reduce ondisk size, and
- look better at various resolutions (Charlie, bug 471227)
-
-* Thu Nov 13 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.11.12.4
-- Move Obsoletes: plymouth-text-and-details-only to base package
- so people who had it installed don't end up solar on upgrade
-
-* Wed Nov 12 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.11.12.3
-- Redo packaging to work better with minimal installs
- (bug 471314)
-
-* Wed Nov 12 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.11.12.2
-- Fix plymouth-set-default-plugin to allow external $LIB
-
-* Wed Nov 12 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.11.12.1
-- Fix star image (Charlie, bug 471113)
-
-* Tue Nov 11 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.11.11.2
-- Improve solar flares (Charlie)
-- redirect tty again on --show-splash
-- ignore subsequent --hide-splash calls after the first one
-- turn off kernel printks during boot up
-
-* Tue Nov 11 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.11.11.1
-- Disconnect from tty when init=/bin/bash (bug 471007)
-
-* Mon Nov 10 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.11.10.5
-- Force the right arch when calling plymouth-set-default-plugin
- (bug 470732)
-
-* Mon Nov 10 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.11.10.4
-- Drop comet (bug 468705)
-- make boot-duration config(noreplace)
-
-* Mon Nov 10 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.11.10.3
-- Don't abort if no splash when root is mounted
-- Actually move patches upstream
-
-* Mon Nov 10 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.11.10.1
-- Fix feedback loop with plymouth:debug
-- Move patches upstream
-- Improve comet animation
-
-* Sun Nov 9 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.11.06.4
-- Fix up more-debug patch to not assert with plymouth:nolog
- (bug 470569)
-
-* Fri Nov 7 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.11.06.3
-- add some more debug spew to help debug a problem jlaska is having
-
-* Thu Nov 6 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.11.06.2
-- show details plugin on --hide-splash so people can see why the splash
- got hidden.
-
-* Thu Nov 6 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.11.06.1
-- Don't exit on plymouth --show-splash after sulogin
-- Properly retake console after that --show-splash
-
-* Wed Nov 5 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.11.05.1
-- reset colors on quit --retain-splash
-- fix off by one in damage calculation for label
-
-* Tue Nov 4 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.10.30.5
-- Add a sample boot-duration for livecds and first time boots
- (bug 469752)
-
-* Mon Nov 3 2008 Jeremy Katz <katzj@redhat.com> - 0.6.0-0.2008.10.30.4
-- Allow pre-setting the default plugin when calling plymouth-populate-initrd
-
-* Fri Oct 31 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.10.30.3
-- Add pango minimum version to buildrequires
-
-* Thu Oct 30 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.10.30.2
-- Update prompt text colors to be legible on new artwork
-
-* Thu Oct 30 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.10.30.1
-- Patch from Charlie to make password screen match animation better
- (bug 468899)
-
-* Thu Oct 30 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.10.27.8
-- Fix escape at password prompt (bug 467533)
-
-* Tue Oct 28 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.10.27.7
-- Don't require /bin/plymouth before it's installed (bug 468925)
-
-* Tue Oct 28 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.10.27.6
-- Force raw mode for keyboard input with solar and fade-in
- (bug 468880)
-- make sure windows get closed on exit
-
-* Mon Oct 27 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.10.27.5
-- Make "Solar" lock icon the same as the "Spinfinity" one.
-
-* Mon Oct 27 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.10.27.4
-- Make plymouth-libs own /usr/lib/plymouth (bug 458071)
-
-* Mon Oct 27 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.10.27.3
-- Default to "Solar" instead of "Spinfinity"
-
-* Mon Oct 27 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.10.27.2
-- Don't set plymouth default plugin to text in %%post
-
-* Mon Oct 27 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.10.27.1
-- Add Charlie patch to dither in lower color modes (bug 468276)
-
-* Sun Oct 26 2008 Jeremy Katz <katzj@redhat.com> - 0.6.0-0.2008.10.24.2
-- More requires changing to avoid loops (#467356)
-
-* Fri Oct 24 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.10.24.1
-- Add updated progress bar for solar plugin from Charlie
-- Log plymouth:debug output to boot log
-- Ignore sigpipe signals in daemon
-
-* Thu Oct 23 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.10.23.2
-- Bump so name of libply to hopefully force plymouth to get installed
- before kernel (or at least make plymouth-libs and plymouth get installed
- on the same side of kernel in the transaction).
-
-* Thu Oct 23 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.10.23.1
-- Add patch from Charlie to align progress bar to milestones during boot up
-- force tty to be sane on exit (bug 467207)
-
-* Thu Oct 23 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.10.21.3
-- add empty files section for text-and-details-only so the subpackage
- shows up.
-
-* Wed Oct 22 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.10.21.2
-- add text-and-details-only subpackage so davej can uninstall
- spinfinity, pango, cairo etc from his router.
-
-* Tue Oct 21 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.10.21.1
-- Minor event loop changes
-- drop upstream patches
-- Charlie Brej fix for progress bar resetting when escape gets pressed
-
-* Tue Oct 21 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.10.17.4
-- Don't make plymouth-libs require plymouth (more fun with 467356)
-
-* Mon Oct 20 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.10.17.3
-- Add initscripts requires (bug 461322)
-
-* Mon Oct 20 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.10.17.2
-- Put tty1 back in "cooked" mode when going into runlevel 3
- (bug 467207)
-
-* Fri Oct 17 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.10.17.1
-- Clear screen in details plugin when it's done
-- Make plymouth-update-initrd a small wrapper around mkinitrd instead
- of the broken monstrosity it was before.
-
-* Fri Oct 17 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.10.15.3
-- Move plymouth-set-default-plugin, plymouth-update-initrd, and
- plymouth-populate-initrd to plymouth-scripts subpackage
- (the last fix didn't actually help with bug 467356)
-
-* Fri Oct 17 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.10.15.2
-- Move plymouth-set-default-plugin to -libs (might help with bug 467356)
-- Fix up requires, provides and postun scripts
-
-* Wed Oct 15 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.10.15.1
-- Don't free windows on --hide-splash (fix from Jeremy)
-
-* Tue Oct 14 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.10.14.1
-- Solar fixes from Charlie Brej
-- Better cpu usage from Charlie
-
-* Fri Oct 10 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.10.08.2
-- Add Requires(post): nash (bug 466500)
-
-* Wed Oct 08 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.10.08.1
-- Rework how "console=" args done again, to hopefully fix
- bug 460565
-
-* Mon Oct 06 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.10.06.1
-- Add "Solar" plugin from Charles Brej
-- Move things around so computers with separate /usr boot
- (hopefully this won't break things, but it probably will)
-- Make GDM show up on vt1 for all plugins
-
-* Tue Sep 30 2008 Jeremy Katz <katzj@redhat.com> 0.6.0-0.2008.09.25.2
-- Remove mkinitrd requires to break the dep loop and ensure things
- get installed in the right order
-
-* Thu Sep 25 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.09.25.1
-- Add new snapshot to fold in Will Woods progress bar, and
- move ajax's splash upstream, putting the old text splash
- in a "pulser" subpackage
-
-* Tue Sep 23 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.09.23.1
-- Last snapshot was broken
-
-* Mon Sep 22 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.09.22.1
-- Update to latest snapshot to get better transition support
-
-* Fri Sep 19 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.09.15.2
-- Turn on gdm trigger for transition
-
-* Mon Sep 15 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.09.15.1
-- add quit command with --retain-splash option to client
-
-* Wed Sep 10 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.09.10.1
-- Fix text rendering for certain machines
-
-* Mon Sep 8 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.09.05.4
-- More serial console fixes (bug 460565 again)
-
-* Fri Sep 5 2008 Bill Nottingham <notting@redhat.com> 0.6.0-0.2008.09.05.3
-- make the text plugin use the system release info rather than a hardcoded 'Fedora 10'
-
-* Fri Sep 5 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.09.05.2
-- Try to support multiple serial consoles better
- (bug 460565)
-
-* Fri Sep 5 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.09.05.1
-- Fix some confusion with password handling in details plugin
-
-* Wed Aug 27 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.08.27.1
-- Fix another crasher for users with encrypted disks (this time in
- the text plugin, not the client)
-
-* Wed Aug 27 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.08.27
-- Update to latest snapshot
-- Add the ability to show text prompts in graphical plugin
-- Fix crasher for users with encrypted disks
-
-* Fri Aug 23 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.08.22
-- Update to latest snapshot
-
-* Wed Aug 13 2008 Ray Strode <rstrode@redhat.com> 0.5.0-20.2008.08.13
-- Update previous patch to remove some assertions
-
-* Wed Aug 13 2008 Ray Strode <rstrode@redhat.com> 0.5.0-19.2008.08.13
-- add a patch that may help serial console users
-
-* Wed Aug 13 2008 Ray Strode <rstrode@redhat.com> 0.5.0-18.2008.08.13
-- add spool directory to file list
-
-* Wed Aug 13 2008 Ray Strode <rstrode@redhat.com> 0.5.0-17.2008.08.13
-- Make plymouth-gdm-hooks require plymouth-utils
-
-* Wed Aug 13 2008 Ray Strode <rstrode@redhat.com> 0.5.0-16.2008.08.13
-- Add a boot failure viewer to login screen (written by Matthias)
-
-* Tue Aug 12 2008 Adam Jackson <ajax@redhat.com> 0.5.0-15.2008.08.08
-- plymouth-0.5.0-textbar-hotness.patch: Change the text plugin to a slightly
- more traditional progress bar, to maintain the illusion of progress better
- than the eternally oscillating cylon. Note: still incomplete.
-
-* Fri Aug 8 2008 Ray Strode <rstrode@redhat.com> - 0.5.0-14.2008.08.08
-- Don't require a modifiable text color map (may fix serial consoles)
-
-* Thu Aug 7 2008 Ray Strode <rstrode@redhat.com> - 0.5.0-13.2008.08.07
-- Update to new snapshot which when combined with a new mkinitrd should
- make unlocking encrypted root partitions work again
-
-* Wed Aug 6 2008 Ray Strode <rstrode@redhat.com> - 0.5.0-12.2008.08.06
-- Update to new snapshot which fixes some assertion failures in the
- client code
-
-* Wed Aug 6 2008 Ray Strode <rstrode@redhat.com> - 0.5.0-11.2008.08.01
-- Add Requires(post): plymouth to plugins so they get plymouth-set-default-plugin (bug 458071)
-
-* Tue Aug 5 2008 Ray Strode <rstrode@redhat.com> - 0.5.0-10.2008.08.01
-- Add plymouth dirs to file list (bug 457871)
-
-* Fri Aug 1 2008 Ray Strode <rstrode@redhat.com> - 0.5.0-9.2008.08.01
-- new plymout-populate-initrd features don't work with the set -e at the
- top of it.
-
-* Thu Jul 31 2008 Ray Strode <rstrode@redhat.com> - 0.5.0-8.2008.08.01
-- Update to another snapshot to actually get new
- plymouth-populate-initrd features
-
-* Thu Jul 31 2008 Ray Strode <rstrode@redhat.com> - 0.5.0-8.2008.07.31
-- Update to snapshot to get new plymouth-populate-initrd features
-- Make removing rhgb use details plugin instead of exiting
-
-* Thu Jul 31 2008 Peter Jones <pjones@redhat.com> - 0.5.0-7
-- Make it a mkinitrd requires instead of a nash requires (that will
- still pull in nash, but we need mkinitrd for newer plymouth-populate-initrd)
-
-* Wed Jul 30 2008 Ray Strode <rstrode@redhat.com> - 0.5.0-6
-- Add nash requires
-
-* Wed Jul 9 2008 Ray Strode <rstrode@redhat.com> - 0.5.0-5
-- Use a new heuristic for finding libdir, since the old
- one falls over on ia64
-
-* Wed Jul 9 2008 Ray Strode <rstrode@redhat.com> - 0.5.0-4
-- add ctrl-r to rotate text color palette back to stock values
-
-* Tue Jul 8 2008 Ray Strode <rstrode@redhat.com> - 0.5.0-3
-- Fix populate script on ppc (bug 454353)
-
-* Tue Jul 1 2008 Ray Strode <rstrode@redhat.com> - 0.5.0-2
-- Pull in spinfinity by default. This whole "figure out
- which plugin to use" set of scripts and scriptlets
- needs work. We need to separate distro default from
- user choice.
-
-* Thu Jul 1 2008 Ray Strode <rstrode@redhat.com> - 0.5.0-1
-- Add new client "ask-for-password" command which feeds
- the user input to a program instead of standard output,
- and loops when the program returns non-zero exit status.
-
-* Thu Jun 26 2008 Ray Strode <rstrode@redhat.com> - 0.4.5-1
-- Update to version 0.4.5
-- Make text plugin blue and less 80s
-
-* Wed Jun 25 2008 Ray Strode <rstrode@redhat.com> - 0.4.0-4
-- Make "Password: " show up correctly in text plugin
-
-* Wed Jun 25 2008 Ray Strode <rstrode@redhat.com> - 0.4.0-3
-- Require elfutils (bug 452797)
-
-* Sun Jun 22 2008 Ray Strode <rstrode@redhat.com> - 0.4.0-2
-- Make plymouth-set-default-plugin --reset choose the latest
- installed plugin, not the earliest
-
-* Sun Jun 22 2008 Ray Strode <rstrode@redhat.com> - 0.4.0-1
-- Update to version 0.4.0
-- Only run if rhgb is on kernel command line
-- Make text plugin more animated
-
-* Mon Jun 16 2008 Ray Strode <rstrode@redhat.com> - 0.3.2-2
-- dont go back to text mode on exit
-
-* Mon Jun 16 2008 Ray Strode <rstrode@redhat.com> - 0.3.2-1
-- Update to version 0.3.2
-- show gradient in spinfinity plugin
-- Drop fade out in spinfinity plugin
-- fix throbber placement
-- rename graphical.so to default.so
-
-* Thu Jun 12 2008 Ray Strode <rstrode@redhat.com> - 0.3.1-3
-- scriplet should be preun, not postun
-
-* Thu Jun 12 2008 Ray Strode <rstrode@redhat.com> - 0.3.1-2
-- Fix postun scriptlet
-
-* Thu Jun 12 2008 Ray Strode <rstrode@redhat.com> - 0.3.1-1
-- Update to version 0.3.1
-- Don't ship generated initrd scripts in tarball
-
-* Thu Jun 12 2008 Ray Strode <rstrode@redhat.com> - 0.3.0-1
-- Update to version 0.3.0
-- Better plugin handling
-- Better integration with mkinitrd (pending mkinitrd changes)
-- random bug fixes
-
-* Mon Jun 9 2008 Ray Strode <rstrode@redhat.com> - 0.2.0-1
-- Update to version 0.2.0
-- Integrate more tightly with nash (pending nash changes)
-- ship libs for out of tree splash plugins
-- gradient support
-- random bug fixes
-
-* Fri May 30 2008 Ray Strode <rstrode@redhat.com> - 0.1.0-1
-- Initial import, version 0.1.0
diff --git a/repo b/repo
deleted file mode 100644
index c579e8d..0000000
--- a/repo
+++ /dev/null
@@ -1,60 +0,0 @@
-#!/usr/bin/env python
-# Copyright (C) 2008, Red Hat, Inc.
-# Copyright (C) 2009, Simon Scahmpijer
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-import os
-import shutil
-import subprocess
-import tempfile
-
-target_repo = \
- 'soas@shell.sugarlabs.org:/upload/soas/repositories/2'
-
-def fetch(packages):
- for pkg in packages:
- subprocess.check_call(['koji', 'download-build', '--arch=i586', '--arch=noarch',
- '--latestfrom=dist-f12', pkg])
-
-def _createrepo(repo_path):
- rpms = os.listdir('.')
- rpms.sort(lambda x,y: cmp(os.path.getmtime(x), os.path.getmtime(y)))
-
- for f in rpms:
- print 'Createrepo for %s...' % f
-
- subprocess.check_call(['createrepo', repo_path])
- subprocess.check_call(['rsync', '-rv', '--delete',
- repo_path + '/', target_repo])
-
-def build(packages):
- old_cwd = os.getcwd()
- repo_path = os.path.join(old_cwd, 'repo')
- os.chdir(repo_path)
-
- if not os.path.exists(repo_path):
- os.mkdir(repo_path)
-
- try:
- fetch(packages)
- _createrepo(repo_path)
- finally:
- os.chdir(old_cwd)
-
-_i586 = []
-_noarch = []
-
-build(_i586 + _noarch)
diff --git a/soas-appliance.ks b/soas-appliance.ks
index e8464fc..b596652 100644..100755
--- a/soas-appliance.ks
+++ b/soas-appliance.ks
@@ -1,409 +1,39 @@
-lang en_US.UTF-8
-keyboard us
-timezone US/Eastern
-auth --useshadow --enablemd5
-selinux --disabled
-firewall --disabled
-xconfig --startxonboot
+%include soas-sugar.ks
-bootloader --timeout=1 --append="acpi=force"
-network --bootproto=dhcp --device=eth0 --onboot=on
-services --enabled=network --disabled=acpid,avahi-daemon,auditd,cups,dnsmasq, 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 2048 --fstype ext3 --ondisk sda
-
-repo --name=sugar --baseurl=http://download.sugarlabs.org/soas/repositories/2/
-
-# Fedora 12 is out now!
-repo --name=released --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-12&arch=i386 --excludepkgs=plymouth*
-repo --name=updates --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f12&arch=i386 --excludepkgs=plymouth*
+bootloader --timeout=1 --append="acpi=force selinux=0"
+part / --size 4096 --fstype ext3 --ondisk sda
+# Get VirtualBox Guest Additions from RPMFusion
+repo --name=rpmfusion-free --mirrorlist=http://mirrors.rpmfusion.org/mirrorlist?repo=free-fedora-rawhide&arch=i386
+
%packages
-# basic package set
-@base-x
-@base
-@core
-kernel
-
-# glucose modules
-sugar
-etoys
-hulahop
-squeak-vm
-
-# sugar platform
-csound-python
-espeak
-gnome-python2-evince
-libffi
-libxml2-python
-metacity
-numpy
-pyabiword
-pygame
-
-# additional packages
-DeviceKit-disks
-evince-djvu
-gdm
-gvfs
-python-decorator
-vte
-
-# dependencies for Epub support in Read
-pywebkitgtk
-python-BeautifulSoup
-python-lxml
-
-# fix selinux issue
-system-config-firewall-base
-
-# e-mail client
-alpine
-
-# multimedia implementations
-gnash-plugin
-
-# screencasts are great
-gtk-recordmydesktop
-
-# include to get better feedback
-smolt
-
-# pull plymouth theme
-plymouth-theme-soas
-
-# include tools for backup support
-ds-backup-client
-
-# include delta rpm support
-yum-presto
-
-# sound
-pulseaudio
-alsa-plugins-pulseaudio
-alsa-utils
+# virtualbox guest additions
+VirtualBox-OSE-guest
-# fonts
-google-droid-fonts-common
-google-droid-sans-fonts
-google-droid-sans-mono-fonts
-google-droid-serif-fonts
-
-# 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
--mailcap
--nano
--wavpack
--createrepo
--irqbalance
--specspo
--esc
--samba-client
--a2ps
--mpage
--redhat-lsb
--sox
--hplip
--hpijs
--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
-
-# 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*
--firstboot
-
-# strip fedora trademarks and use the soas release package
--fedora-logos
--fedora-release
--fedora-release-notes
-generic-logos
-generic-release
-generic-release-notes
+# sound (pulseaudio causes audio stuttering under vbox)
+-pulseaudio
+-alsa-plugins-pulseaudio
%end
%post --nochroot
-# fructose collection
-ASLO="$ASLO 4024" # Browse
-ASLO="$ASLO 4027" # Turtle Art
-ASLO="$ASLO 4028" # Read
-ASLO="$ASLO 4032" # Imageviewer
-ASLO="$ASLO 4041" # Pippy
-ASLO="$ASLO 4043" # Terminal
-ASLO="$ASLO 4045" # Jukebox
-ASLO="$ASLO 4056" # Log
-ASLO="$ASLO 4069" # Chat
-ASLO="$ASLO 4076" # Calculator
-ASLO="$ASLO 4201" # Write
-
-# honey selection
-ASLO="$ASLO 4026" # Typing Turtle
-ASLO="$ASLO 4029" # IRC
-ASLO="$ASLO 4034" # Moon
-ASLO="$ASLO 4035" # Read ETexts
-ASLO="$ASLO 4037" # CartoonBuilder
-ASLO="$ASLO 4038" # Speak
-ASLO="$ASLO 4039" # ViewSlides
-ASLO="$ASLO 4041" # Pippy
-ASLO="$ASLO 4042" # InfoSlicer
-ASLO="$ASLO 4044" # FlipSticks
-ASLO="$ASLO 4046" # JigsawPuzzle
-ASLO="$ASLO 4047" # SliderPuzzle
-ASLO="$ASLO 4050" # Colors
-ASLO="$ASLO 4054" # FreeCell
-ASLO="$ASLO 4063" # Memorize
-ASLO="$ASLO 4064" # JokeMachine
-ASLO="$ASLO 4073" # StoryBuilder
-ASLO="$ASLO 4074" # Poll
-ASLO="$ASLO 4078" # Labyrinth
-ASLO="$ASLO 4081" # Record
-ASLO="$ASLO 4082" # Paint
-ASLO="$ASLO 4089" # Library
-ASLO="$ASLO 4191" # Clock
-ASLO="$ASLO 4193" # Physics
-ASLO="$ASLO 4194" # Get Internet Archive Books
-ASLO="$ASLO 4204" # Arithmetic
-
-WD=$PWD
-BUNDLES_DIR=$INSTALL_ROOT/usr/share/sugar/bundles
-
-mkdir -p $BUNDLES_DIR
-cd $BUNDLES_DIR
-
-for id in $ASLO ; do
- wget http://activities.sugarlabs.org/en-US/sugar/downloads/latest/$id
-done
-
-# get the script to install the activities
-wget http://git.sugarlabs.org/projects/soas/repos/mainline/blobs/raw/2d1057e6d8e74aecfa82c0b8e51a2c8d772a7923/install-activity.py
-
-# pull sample content for the journal
-PDFS="$PDFS south_america.pdf"
-PDFS="$PDFS africa.pdf"
-PDFS="$PDFS asia.pdf"
-PDFS="$PDFS central_america.pdf"
-PDFS="$PDFS europe.pdf"
-PDFS="$PDFS middle_east.pdf"
-PDFS="$PDFS north_america.pdf"
-PDFS="$PDFS oceania.pdf"
-PDFS="$PDFS southeast_asia.pdf"
-
-for pdf in $PDFS ; do
- wget http://dev.sugarlabs.org/raw-attachment/ticket/840/$pdf
-done
-
-# get sample content setup script directly from git
-wget 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/rc.d/init.d/livesys << EOF
-#!/bin/bash
-#
-# live: Init script for live image
-#
-# chkconfig: 345 00 99
-# description: Init script for live image.
-
-# 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
-
+# Fix Terminal crash when switching to another activity.
+patch $INSTALL_ROOT/home/liveuser/Activities/Terminal.activity/terminal.py << EOF
+--- terminal.py 2009-12-21 22:12:06.027828821 -0500
++++ terminal.py.vtefix 2009-12-21 22:11:15.084855179 -0500
+@@ -369,9 +369,7 @@
+ for i in range(self._notebook.get_n_pages()):
+ page = self._notebook.get_nth_page(i)
+
+- def selected_cb(terminal, c, row, cb_data):
+- return 1
+- (scrollback_text, attributes_) = page.vt.get_text(selected_cb, 1)
++ (scrollback_text, attributes_) = page.vt.get_text(None)
+
+ scrollback_lines = scrollback_text.split('\n')
+
EOF
-# change build strings
-echo "SoaS release 2 (Snapshot)" > /etc/fedora-release
-echo "cpe://o:sugarlabs:soas:2" > /etc/system-release-cpe
-
-# enable script to install stuff at boot time
-chmod 755 /etc/rc.d/init.d/livesys
-/sbin/restorecon /etc/rc.d/init.d/livesys
-/sbin/chkconfig --add livesys
-
-# turn off firstboot service
-chkconfig --level 345 firstboot off 2>/dev/null
-
-# create soas user
-/usr/sbin/useradd -m -c "SoaS user" -G audio,wheel liveuser
-/usr/bin/passwd -d liveuser
-
-# allow sudo for liveuser user
-echo "%wheel ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
-
-# make sure to own home directory
-chown liveuser /home/liveuser
-chgrp liveuser /home/liveuser
-
-# set up auto-login
-cat >> /etc/gdm/custom.conf << FOE
-[daemon]
-AutomaticLoginEnable=true
-AutomaticLogin=liveuser
-FOE
-
-# setup e-mail for bug reports
-sed -i 's/root@localhost/feedback@sugarlabs.org/g' /etc/abrt/plugins/Mailx.conf
-
-# 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
-
-# setup Xclients
-cat > /home/liveuser/.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/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
-
%end
diff --git a/soas-aslo-and-content.ks b/soas-aslo-and-content.ks
deleted file mode 100644
index 60d7e83..0000000
--- a/soas-aslo-and-content.ks
+++ /dev/null
@@ -1,116 +0,0 @@
-%post --nochroot
-
-# activities.sugarlabs.org (ASLO) installed-packages
-
-# Fructose
-ASLO="$ASLO org.laptop.WebActivity"
-ASLO="$ASLO org.laptop.TurtleArtActivity"
-ASLO="$ASLO org.laptop.sugar.ReadActivity"
-ASLO="$ASLO org.laptop.ImageViewerActivity"
-ASLO="$ASLO org.laptop.Pippy"
-ASLO="$ASLO org.laptop.Terminal"
-ASLO="$ASLO org.laptop.sugar.Jukebox"
-ASLO="$ASLO org.laptop.Log"
-ASLO="$ASLO org.laptop.Chat"
-ASLO="$ASLO org.laptop.Calculate"
-ASLO="$ASLO org.laptop.AbiWordActivity"
-
-# Honey subset
-ASLO="$ASLO org.laptop.community.TypingTurtle"
-ASLO="$ASLO org.sugarlabs.IRC"
-ASLO="$ASLO com.garycmartin.Moon"
-ASLO="$ASLO org.laptop.sugar.ReadEtextsActivity"
-ASLO="$ASLO com.ywwg.CartoonBuilderActivity"
-ASLO="$ASLO vu.lux.olpc.Speak"
-ASLO="$ASLO org.laptop.ViewSlidesActivity"
-ASLO="$ASLO org.sugarlabs.InfoSlicer"
-ASLO="$ASLO org.worldwideworkshop.olpc.FlipSticks"
-ASLO="$ASLO org.worldwideworkshop.olpc.JigsawPuzzle"
-ASLO="$ASLO org.worldwideworkshop.olpc.SliderPuzzle"
-ASLO="$ASLO org.laptop.community.Colors"
-ASLO="$ASLO org.squeak.FreeCell"
-ASLO="$ASLO org.laptop.TamTamEdit"
-ASLO="$ASLO org.laptop.TamTamJam"
-ASLO="$ASLO org.laptop.TamTamMini"
-ASLO="$ASLO org.laptop.TamTamSynthLab"
-ASLO="$ASLO org.laptop.Memorize"
-ASLO="$ASLO org.worldwideworkshop.JokeMachineActivity"
-ASLO="$ASLO vu.lux.olpc.Maze"
-ASLO="$ASLO org.worldwideworkshop.olpc.storybuilder"
-ASLO="$ASLO org.worldwideworkshop.PollBuilder"
-ASLO="$ASLO org.gnome.Labyrinth"
-ASLO="$ASLO org.laptop.RecordActivity"
-ASLO="$ASLO org.laptop.Oficina"
-ASLO="$ASLO tv.alterna.Clock"
-ASLO="$ASLO org.laptop.physics"
-ASLO="$ASLO org.laptop.sugar.GetIABooksActivity"
-ASLO="$ASLO org.laptop.Arithmetic"
-ASLO="$ASLO org.laptop.community.FoodForce2"
-ASLO="$ASLO org.sugarlabs.SlideruleActivity"
-ASLO="$ASLO com.socialtext.SocialCalcActivity"
-ASLO="$ASLO org.sugarlabs.VisualMatchActivity"
-ASLO="$ASLO edu.mit.media.ScratchActivity"
-
-WD=$PWD
-BUNDLES_DIR=$INSTALL_ROOT/usr/share/sugar/bundles
-
-mkdir -p $BUNDLES_DIR
-cd $BUNDLES_DIR
-
-CACHE_DIR=$WD/../cache/aslo
-mkdir -p $CACHE_DIR
-
-ASLO_SP='0.86'
-ASLO_URL='http://activities.sugarlabs.org/services/update-aslo.php'
-ASLO_LINK='.//{http://www.mozilla.org/2004/em-rdf#}updateLink'
-
-for bundle_id in $ASLO ; do
- curl -4 -s -L "$ASLO_URL?id=$bundle_id&appVersion=$ASLO_SP" > $CACHE_DIR/metadata
- url=$(python -c "from xml.etree.ElementTree import parse; url=parse('$CACHE_DIR/metadata').find('$ASLO_LINK'); print url is not None and url.text or ''")
- if [ -z "$url" ]; then
- echo "Can not find url for $bundle_id" >&2
- continue
- fi
- remote_file=$(basename $(curl -4 -s -L -w %{url_effective} -I $url | tail -1))
- bundle=$CACHE_DIR/$remote_file
- if [ ! -f $bundle ] ; then
- curl -4 -L $url > $bundle
- fi
- cp -p $bundle $BUNDLES_DIR
-done
-
-# pull sample content for the journal
-PDFS="$PDFS africa.pdf"
-PDFS="$PDFS asia.pdf"
-PDFS="$PDFS central_america.pdf"
-PDFS="$PDFS europe.pdf"
-PDFS="$PDFS middle_east.pdf"
-PDFS="$PDFS north_america.pdf"
-PDFS="$PDFS oceania.pdf"
-PDFS="$PDFS south_america.pdf"
-PDFS="$PDFS southeast_asia.pdf"
-
-for pdf in $PDFS ; do
- url=http://dev.sugarlabs.org/raw-attachment/ticket/840/$pdf
- remote_file=$(basename $(curl -4 -s -L -w %{url_effective} -I $url | tail -1))
- bundle=$CACHE_DIR/$remote_file
- if [ ! -f $bundle ] ; then
- curl -s -4 -L $url > $bundle
- fi
- cp -p $bundle $BUNDLES_DIR
-done
-
-# get the script to install the activities
-cp -p $WD/../install-activity.py .
-chmod a+x ./install-activity.py
-
-# get sample content setup script directly from git
-cp -p $WD/../copy-to-datastore.py .
-chmod a+x ./copy-to-datastore.py
-
-# FIXME: this should be the same uid as CREATE_USERNAME *in the chroot*,
-# but is hardcoded here for simplicity
-chown -R 500:500 $BUNDLES_DIR
-cd $WD
-
-%end
diff --git a/soas-base.ks b/soas-base.ks
deleted file mode 100644
index 8e9f9a8..0000000
--- a/soas-base.ks
+++ /dev/null
@@ -1,248 +0,0 @@
-lang en_US.UTF-8
-keyboard us
-timezone US/Eastern
-auth --useshadow --enablemd5
-selinux --disabled
-firewall --disabled
-xconfig --startxonboot
-bootloader --append="selinux=0"
-part / --size 2048 --fstype ext4
-services --enabled=NetworkManager --disabled=atd,auditd,dnsmasq,ip6tables,iptables,mdmonitor,netfs,network,nscd,sshd
-
-# Fedora 12 is out now!
-repo --name=released --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-12&arch=i386 --excludepkgs=generic-logos,plymouth*
-repo --name=updates --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f12&arch=i386 --excludepkgs=generic-logos,plymouth*
-
-%packages
-@base
-@base-x
-@core
-@hardware-support
-
-# save some space
--cracklib-dicts
--nss_db
--acpid
--mailcap
--nano
--wavpack
--createrepo
--irqbalance
--specspo
--esc
--redhat-lsb
--sox
--numactl
--isdn4k-utils
--autofs
-
-# exclude input methods
--scim*
--m17n*
-
-# dictionaries are big
--aspell-*
--hunspell-*
--man-pages-*
--words
-
-# smartcards and finger print readers won't really work on the livecd.
--coolkey
--ccid
--fprintd
-
-# duplicate functionality
--pinfo
--vorbis-tools
-
-# lose the compat stuff
--compat*
-
-# qlogic firmwares
--ql2100-firmware
--ql2200-firmware
--ql23xx-firmware
--ql2400-firmware
--ql2500-firmware
-
-# scanning takes quite a bit of space :/
--xsane
--xsane-gimp
--sane-backends
-
-# no printing
--system-config-printer
--cups*
--foomatic*
--gutenprint*
--c2050
--c2070
--cjet
--ptouch-driver
--pbm2l2030
--pbm2l7k-990321
--hplip
--hpijs
--a2ps
--mpage
--printer-filters
-
-# attempt to remove dependencies on perl
--w3m
--logwatch
--lftp
--fbset
-
-# remove SELinux stack
--setroubleshoot
--policycoreutils
--policycoreutils-gui
--checkpolicy
--selinux-*
--libselinux-python
--libselinux
-
-# other random stuff
--PackageKit*
--bluez*
--pinentry
--*-backgrounds
--compiz-gnome
--efi*
--irda-utils
--ivtv-firmware
-
-# strip fedora trademarks and use the soas release package
--fedora-logos
--fedora-release
--fedora-release-notes
-generic-logos
-generic-release
-generic-release-notes
-
-# bits to set up the livecd while anaconda has been removed here
-isomd5sum
-
-gstreamer-plugins-good
-gstreamer-plugins-espeak
-
-#Remove unneeded services
-#Specify explicit smtp service
-ssmtp
--nfs*
--rpcbind
--samba*
--rdate
--rdist
--talk
--yp*
-
-%end
-
-%post
-
-set -x
-
-# workaround avahi segfault (#279301)
-touch /etc/resolv.conf
-[ -x /sbin/restorecon ] && /sbin/restorecon /etc/resolv.conf
-
-# work around for poor key import UI in PackageKit
-rm -f /var/lib/rpm/__db*
-rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora
-
-# go ahead and pre-make the man -k cache (#455968)
-/usr/sbin/makewhatis -w
-
-# make sure there aren't core files lying around
-rm -f /core*
-
-
-# set up olpc.fth
-# won't hurt non-OFW machines, and is one less barrier to moving
-# sticks between BIOS and OFW machines
-
-OLPC_BOOT_FTH=/boot/olpc.fth
-
-cat > $OLPC_BOOT_FTH <<EOF
-\ olpc.fth
-
-: set-path-macros ( -- )
- button-o game-key? if " \boot-alt" else " \boot" then pn-buf place
-
- " /chosen" find-package if ( phandle )
- " bootpath" rot get-package-property 0= if ( propval$ )
- get-encoded-string ( bootpath$ )
- [char] \ left-parse-string 2nip ( dn$ )
- dn-buf place ( )
- then
- then
-
- " nand" dn-buf count sindex 0>= if
- " root=mtd0 rootfstype=jffs2"
- else
- " root=LABEL=OLPCRoot"
- then
- " ROOTDEV" \$set-macro
-;
-
-: olpc-fth-boot-me
- set-path-macros
- " ro \${ROOTDEV} console=ttyS0,115200 console=tty0 fbcon=font:SUN12x22 rootwait selinux=0" expand$ to boot-file
- " \${DN}\${PN}\vmlinuz" expand$ to boot-device
-
- \ don't use initrd if we're booting from NAND, cause dracut doesn't know about
- \ mtd root devices and will refuse to boot from one.
- \ FIXME: remove this once dracut is taught to love mtd devices
- " root=mtd0" " \${DN}" expand$ sindex -1 <> if
- " \${DN}\${PN}\initrd.img" expand$ to ramdisk
- then
-
- setup-smbios
- unfreeze
- dcon-unfreeze
- visible
-
- boot
-;
-
-olpc-fth-boot-me
-
-EOF
-
-# now we need to prepare for kernels that don't know how to update the
-# OFW as to their presence...
-
-# keep in sync with soas.ks's value
-KERNEL_POSTINST_SCRIPT=/etc/kernel/postinst.d/olpc-fth-update
-cat > $KERNEL_POSTINST_SCRIPT <<EOF
-#!/bin/bash
-version="\$1"
-kernel="\$2"
-boot_dir="\$(dirname \$kernel)"
-# fragiler-than-being-upstream detection of appropriate initial ramdisk
-initial_ramdisk=\$(basename \$(/bin/ls -tr \$boot_dir/initr*\$version.img | tail -1))
-
-#FIXME: assumes \$boot_dir is just one level deep and previously started with "boot"
-sed -i -e "s/\" \\boot/\" \\\$boot_dir/" $OLPC_BOOT_FTH
-sed -i -e "s/vmlinuz.*\"/vmlinuz-\$version\"/" $OLPC_BOOT_FTH
-sed -i -e "s/initr.*.img\"/\${initial_ramdisk}\"/" $OLPC_BOOT_FTH
-EOF
-
-chmod a+rx $KERNEL_POSTINST_SCRIPT
-
-%end
-
-%post --nochroot
-set -x
-ls $INSTALL_ROOT/usr/share/doc/
-ls $INSTALL_ROOT/usr/share/doc/*-release-*
-cp $INSTALL_ROOT/usr/share/doc/*-release-*/GPL $LIVE_ROOT/GPL
-
-
-# FIXME: only works on x86, x86_64
-if [ "$(uname -i)" = "i386" -o "$(uname -i)" = "x86_64" ]; then
- if [ ! -d $LIVE_ROOT/LiveOS ]; then mkdir -p $LIVE_ROOT/LiveOS ; fi
- cp /usr/bin/livecd-iso-to-disk $LIVE_ROOT/LiveOS
-fi
-%end
diff --git a/soas-liveuserscripts-eliminate.ks b/soas-liveuserscripts-eliminate.ks
deleted file mode 100644
index b2f7e8d..0000000
--- a/soas-liveuserscripts-eliminate.ks
+++ /dev/null
@@ -1,350 +0,0 @@
-%post
-
-CREATE_USERNAME=liveuser
-
-# FIXME: this script should go away unless we are going to support read-only media
-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.
-
-. /etc/init.d/functions
-
-if ! strstr "\`cat /proc/cmdline\`" liveimg || [ "\$1" != "start" ]; then
- exit 0
-fi
-
-if [ -e /.liveimg-configured ] ; then
- configdone=1
-fi
-
-exists() {
- which \$1 >/dev/null 2>&1 || return
- \$*
-}
-
-touch /.liveimg-configured
-
-# mount live image
-if [ -b \`readlink -f /dev/live\` ]; then
- mkdir -p /mnt/live
- mount -o ro /dev/live /mnt/live 2>/dev/null || mount /dev/live /mnt/live
-fi
-
-livedir="LiveOS"
-for arg in \`cat /proc/cmdline\` ; do
- 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 /mnt/live/\${livedir}/swap.img ] ; then
- action "Enabling swap file" swapon /mnt/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##/mnt/live}" != "\${homedev}" ]; then
- action "Remounting live store r/w" mount -o remount,rw /mnt/live
- fi
- losetup \$loopdev \$homedev
- homedev=\$loopdev
- fi
-
- # if it's encrypted, we need to unlock it
- if [ "\$(/lib/udev/vol_id -t \$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 $CREATE_USERNAME
- if [ -d /home/home ]; then mount --bind /home/home /home ; fi
- [ -x /sbin/restorecon ] && /sbin/restorecon /home
- if [ -d /home/$CREATE_USERNAME ]; 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 /mnt/live/\${livedir}/home.img ]; then
- homedev=/mnt/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 tmp /tmp
-mount -t tmpfs vartmp /var/tmp
-[ -x /sbin/restorecon ] && /sbin/restorecon /var/cache/yum /tmp /var/tmp >/dev/null 2>&1
-
-if [ -n "\$configdone" ]; then
- exit 0
-fi
-
-# BEGIN set up auto-login
-cat >> /etc/gdm/custom.conf << FOE
-[daemon]
-AutomaticLoginEnable=true
-AutomaticLogin=$CREATE_USERNAME
-FOE
-
-
-EOF
-
-
-
-# workaround hal starting 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\`" liveimg || [ "\$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="\${o#ks=}"
- ;;
- xdriver=*)
- xdriver="--set-driver=\${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
- exists system-config-display --noui --reconfig --set-depth=24 \$xdriver
-fi
-
-EOF
-
-chmod 755 /etc/rc.d/init.d/livesys
-[ -x /sbin/restorecon ] && /sbin/restorecon /etc/rc.d/init.d/livesys
-/sbin/chkconfig --add livesys
-
-chmod 755 /etc/rc.d/init.d/livesys-late
-[ -x /sbin/restorecon ] && /sbin/restorecon /etc/rc.d/init.d/livesys-late
-/sbin/chkconfig --add livesys-late
-
-
-
-##################
-# BEGIN avoid livesys script at every boot
-
-touch /.liveimg-configured
-
-# put /tmp on tmpfs
-# FIXME: should be unnecessary
-cat >> /etc/fstab <<EOF
-/tmp /tmp tmpfs rw 0 0
-EOF
-
-# add user CREATE_USERNAME
-/usr/sbin/useradd -m -c "SoaS user" -G audio,wheel $CREATE_USERNAME
-/usr/bin/passwd -d $CREATE_USERNAME
-chown -R $CREATE_USERNAME:$CREATE_USERNAME /home/$CREATE_USERNAME
-
-# allow sudo for CREATE_USERNAME user
-echo "%wheel ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
-
-# don't do packagekit checking by default
-# FIXME: check whether this is still useful - mtd 20090907
-gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t string /apps/gnome-packagekit/frequency_get_updates never >/dev/null
-gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t string /apps/gnome-packagekit/frequency_get_upgrades never >/dev/null
-gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t string /apps/gnome-packagekit/frequency_refresh_cache never >/dev/null
-gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t bool /apps/gnome-packagekit/notify_available false >/dev/null
-gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t bool /apps/gnome-packagekit/notify_distro_upgrades false >/dev/null
-gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t bool /apps/gnome-packagekit/enable_check_firmware false >/dev/null
-gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t bool /apps/gnome-packagekit/enable_check_hardware false >/dev/null
-gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t bool /apps/gnome-packagekit/enable_codec_helper false >/dev/null
-gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t bool /apps/gnome-packagekit/enable_font_helper false >/dev/null
-gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t bool /apps/gnome-packagekit/enable_mime_type_helper false >/dev/null
-
-# Stopgap fix for RH #217966; should be fixed in HAL instead
-touch /media/.hal-mtab
-
-# make sure the fonts are not too big in Sugar
-# FIXME: remove when http://dev.laptop.org/ticket/9331 is fixed
-echo "Xft.dpi: 150" > /home/$CREATE_USERNAME/.Xresources
-chown $CREATE_USERNAME:$CREATE_USERNAME /home/$CREATE_USERNAME/.Xresources
-
-# make sure the fonts are not too big in GNOME
-# FIXME: remove when http://dev.laptop.org/ticket/9331 is fixed
-gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t float /desktop/gnome/font_rendering/dpi 150 >/dev/null
-
-# install activities
-BUNDLES_DIR=/usr/share/sugar/bundles
-ACTIVITIES_DIR=/home/$CREATE_USERNAME/Activities
-chown -R $CREATE_USERNAME:$CREATE_USERNAME $BUNDLES_DIR
-mkdir /home/$CREATE_USERNAME/Activities
-chown -R $CREATE_USERNAME:$CREATE_USERNAME $ACTIVITIES_DIR
-cd $BUNDLES_DIR
-for file in *.xo; do
- su $CREATE_USERNAME -c "./install-activity.py $file"
-done
-rm -f install-activity.py
-
-# change bug report page in browse
-sed -i -e 's/dev.sugarlabs.org/launchpad.net\/soas/' /home/$CREATE_USERNAME/Activities/Browse.activity/data/index.html
-
-# and do so for the e-book page too
-sed -i -e 's/schoolserver\//wiki.sugarlabs.org\/go\/Sugar_on_a_Stick\/E-Books/' /home/$CREATE_USERNAME/Activities/Browse.activity/data/index.html
-sed -i -e 's/school/books/' /home/$CREATE_USERNAME/Activities/Browse.activity/data/index.html
-
-# execute sample content script and clean up afterwards
-su $CREATE_USERNAME -c ./copy-to-datastore.py
-rm -f *.pdf copy-to-datastore.py
-
-# END avoid livesys scripts at every boot
-##################
-
-
-
-##################
-# BEGIN set sugar scaling
-# FIXME: this needs an upstream bug
-SCALING_FILE=/etc/X11/xinit/xinitrc.d/70-sugar-scaling.sh
-cat >> $SCALING_FILE <<FOE
-#!/bin/bash
-# Copyright (C) 2009 Martin Dengler <martin@martindengler.com>
-#
-# All rights reserved. This copyrighted material is made available to anyone
-# wishing to use, modify, copy, or redistribute it subject to the terms and
-# conditions of the GNU General Public License version 2 or later.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-#
-
-# Thanks to Chris Ball for the XO-detection logic
-if [ -z "\$SUGAR_SCALING" ]; then
- DMI_PATH=/sys/clas/dmi/id/product_name
- OFW_PATH=/ofw/mfg-data/MN
- IS_XO=\$( ( [ -e \$DMI_PATH ] && cat \$DMI_PATH ) || ( [ -e \$OFW_PATH ] && cut -c -2 < \$OFW_PATH ) )
- export SUGAR_SCALING=72
- if [ "\$IS_XO" = "XO" ]; then
- SUGAR_SCALING=100
- fi
-fi
-FOE
-
-chmod 755 $SCALING_FILE
-
-# END set sugar scaling
-##################
-
-
-
-##################
-# BEGIN make sugar default
-cat > /home/$CREATE_USERNAME/.dmrc <<EOF
-[Desktop]
-Layout=olpc
-Session=sugar
-EOF
-# END make sugar default
-##################
-
-
-
-##################
-# BEGIN make /var/log/messages a+r so Log activity can see it
-chmod a+r /var/log/messages
-# END make /var/log/messages a+r so Log activity can see it
-##################
-
-
-
-##################
-# BEGIN set up auto-login
-cat >> /etc/gdm/custom.conf << FOE
-[daemon]
-AutomaticLoginEnable=true
-AutomaticLogin=$CREATE_USERNAME
-FOE
-# END set up auto-login
-##################
-
-
-
-##################
-# BEGIN setup services
-for service in auditd cpuspeed dnsmasq firstboot iptables ip6tables mdmonitor netfs network nscd ; do
- /sbin/chkconfig --level 2345 $service off
-done
-
-for service in avahi-daemon sshd ; do
- /sbin/chkconfig --level 2345 $service on
-done
-# something triggers prompting, so just turn it off with a big hammer
-sed -i -e 's/PROMPT=yes/PROMPT=no/;' /etc/sysconfig/init
-# END setup services
-##################
-
-%end
diff --git a/soas-sugar.ks b/soas-sugar.ks
index e3c9691..aa40dfa 100644..100755
--- a/soas-sugar.ks
+++ b/soas-sugar.ks
@@ -1,85 +1,109 @@
-%include soas-base.ks
-%include soas-aslo-and-content.ks
+%include fedora-mini-base.ks
-repo --name=sugar --baseurl=http://download.sugarlabs.org/soas/repositories/2/
+repo --name=sugar --baseurl=http://download.sugarlabs.org/soas/repositories/3/
-%packages
+%packages --excludedocs --instLangs en:es:ar:pl:pt_BR:pt:it:fr:ht:el:mn:mr_IN:th:am_ET:km_KH:ne_NP:ur_PK:rw:ja:de:tr:te:ps:fa_AF:si
-# glucose modules
-sugar
+# sugar!
+sugar*
+
+# addtional packages
etoys
-hulahop
-squeak-vm
-
-# sugar platform
-csound-python
-espeak
-gnome-python2-evince
-libffi
-libxml2-python
-metacity
-numpy
-pyabiword
-pygame
-python-decorator
-vte
-
-# dependencies for Epub support in Read
-pywebkitgtk
-python-BeautifulSoup
-python-lxml
-
-# display manager
gdm
-# fix selinux issue
-system-config-firewall-base
+# some removals
+-sugar-emulator
+-sugar-help
+-sugar-xomail
-# multimedia implementations
-gnash-plugin
+# olpc
+dracut-modules-olpc
+ohm
+olpc-kbdshim
-# screencasts are great
-gtk-recordmydesktop
+# internet
+alpine
-# pull plymouth theme
-plymouth-theme-soas
+# multimedia
+gnash-plugin
+gtk-recordmydesktop
-# allow better power management
+# system
+PackageKit-browser-plugin
+gettext
gnome-power-manager
-
-# liveusb duplication tool
+gnugo
+gparted
livecd-tools
+zyx-liveinstaller
+
+# hardware
+b43-openfwwf
+libertas-usb8388-firmware
+
+# sound
+alsa-plugins-pulseaudio
+alsa-utils
+gstreamer-plugins-good
+gstreamer-plugins-espeak
+pulseaudio
+
+# fonts
+google-droid-fonts-common
+google-droid-sans-fonts
+google-droid-sans-mono-fonts
+google-droid-serif-fonts
+
+# strip fedora trademarks and use the soas release package
+-fedora-logos
+-fedora-release
+-fedora-release-notes
+generic-logos
+generic-release
+generic-release-notes
-# include tools for backup support
-ds-backup-client
+%end
-# lets do some language tricks
-gettext
+%post
-# include delta rpm support
-yum-presto
+cat >> /etc/rc.d/init.d/livesys << EOF
+# make sure the fonts are not too big in Sugar
+echo "Xft.dpi: 150" > /home/liveuser/.Xresources
+chown liveuser:liveuser /home/liveuser/.Xresources
-%end
+EOF
-%post
+# 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
# change build strings
-echo "SoaS release 2 (Blueberry)" > /etc/fedora-release
-echo "cpe://o:sugarlabs:soas:2" > /etc/system-release-cpe
-
-# add yum repos
-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
+echo "SoaS release 3 (Snapshot)" > /etc/fedora-release
+echo "cpe://o:sugarlabs:soas:3" > /etc/system-release-cpe
+
+# set up auto-login
+cat >> /etc/gdm/custom.conf << FOE
+[daemon]
+AutomaticLoginEnable=true
+AutomaticLogin=liveuser
FOE
# 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
+# disable screensaver locking
+gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t bool /apps/gnome-screensaver/lock_enabled false >/dev/null
+
+# set sugar power management on
+gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t bool /desktop/sugar/power/automatic True >/dev/null
+
+# change bug report page in browse
+sed -i -e 's/dev.sugarlabs.org/launchpad.net\/soas/' /usr/share/sugar/activities/Browse.activity/data/index.html
+
+# and do so for the e-book page too
+sed -i -e 's/schoolserver\//wiki.sugarlabs.org\/go\/Sugar_on_a_Stick\/E-Books/' /usr/share/sugar/activities/Browse.activity/data/index.html
+sed -i -e 's/school/books/' /usr/share/sugar/activities/Browse.activity/data/index.html
+
# add more activities to the favorites
cat > /usr/share/sugar/data/activities.defaults << FOE
com.garycmartin.Moon
@@ -112,45 +136,32 @@ vu.lux.olpc.Maze
org.laptop.sugar.ReadEtextsActivity
FOE
-# invoke ntpdate when network comes up
-ntpdate_file=/etc/NetworkManager/dispatcher.d/42-ntpdate
-if [ ! -e $ntpdate_file ] ; then
- cat > $ntpdate_file <<EOF
+# set sugar scaling
+cat >> /etc/X11/xinit/xinitrc.d/70-sugar-scaling.sh << FOE
#!/bin/bash
-
-if [ "\$2" = "up" ] ; then
- sleep 5
- /usr/sbin/ntpdate 0.pool.ntp.org >> /tmp/ntpdate.log 2>&1
+# Copyright (C) 2009 Martin Dengler <martin@martindengler.com>
+#
+# All rights reserved. This copyrighted material is made available to anyone
+# wishing to use, modify, copy, or redistribute it subject to the terms and
+# conditions of the GNU General Public License version 2 or later.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+#
+
+# Thanks to Chris Ball for the XO-detection logic
+if [ -z "\$SUGAR_SCALING" ]; then
+ DMI_PATH=/sys/clas/dmi/id/product_name
+ OFW_PATH=/ofw/mfg-data/MN
+ IS_XO=\$( ( [ -e \$DMI_PATH ] && cat \$DMI_PATH ) || ( [ -e \$OFW_PATH ] && cut -c -2 < \$OFW_PATH ) )
+ export SUGAR_SCALING=72
+ if [ "\$IS_XO" = "XO" ]; then
+ SUGAR_SCALING=100
+ fi
fi
-EOF
-
-chmod u+rx $ntpdate_file
-fi
-
-
-
-# invoke smolt a few seconds after network comes up
-smolt_file=/etc/NetworkManager/dispatcher.d/43-smolt
-if [ ! -e $smolt_file ] ; then
- cat > $smolt_file <<EOF
-#!/bin/bash
-
-export PATH=/bin:/usr/bin
-
-if [ "\$2" = "up" ] ; then
- sleep 15
- ( nice /usr/bin/smoltSendProfile -a --submitOnly -b -c || /usr/sbin/smoltSendProfile -a --submitOnly -b ) >> /tmp/smolt.log 2>&1
-fi
-EOF
-
-fi
-
-chmod u+rx $smolt_file
-
-
+FOE
+chmod 755 /etc/X11/xinit/xinitrc.d/70-sugar-scaling.sh
%end
-
-
-%include soas-liveuserscripts-eliminate.ks
diff --git a/soas-xo.ks b/soas-xo.ks
deleted file mode 100644
index 6ad3a37..0000000
--- a/soas-xo.ks
+++ /dev/null
@@ -1,221 +0,0 @@
-%include soas-sugar.ks
-
-repo --name=olpc-kernel-xo-1 --cost=5 --baseurl=http://dev.laptop.org/~mdengler/xo-1
-#repo --name=olpc-kernel --cost=5 --baseurl=http://dev.laptop.org/~dilinger/olpc-2.6.30-xo1
-repo --name=olpc --cost=3 --baseurl=http://dev.laptop.org/~dsd/xo1-rpms --excludepkgs=olpc-bootanim
-
-%packages --excludedocs --instLangs en:es:ar:pl:pt_BR:pt:it:fr:ht:el:mn:mr_IN:th:am_ET:km_KH:ne_NP:ur_PK:rw:ja:de:tr:te:ps:fa_AF:si
-
-libertas-usb8388-firmware
-
--kernel.i686
-kernel*2.6.30_xo1*
-
-olpc-powerd
-olpc-kbdshim
-
-dracut
-dracut-modules-olpc
-
-ntpdate
-xcompmgr
-
-# sound backend
--alsa-plugins-pulseaudio
--pulseaudio
-
-
-# FIXME: remove when livecd-tools's perl dependency is split out
-# http://lists.sugarlabs.org/archive/soas/2009-November/000383.html
-# don't remove syslinux as the image otherwise won't built
--livecd-tools
-# -syslinux
--perl
-
-%end
-
-
-
-%post
-
-
-# help OOM killer by changing Rainbow and tmpfs parameters per m_stone/cscott
-sed -i -e "185s/''/'size=1M,nr_inodes=1024'/" /usr/lib/python2.*/site-packages/rainbow/inject.py
-sed -i -e 's/RW_OPTIONS=/RW_OPTIONS="-o size=1M -o nr_inodes=1024"/' /etc/sysconfig/readonly-root
-
-
-# add ofw mount point & fstab entry
-cat >> /etc/fstab <<EOF
-none /ofw promfs defaults 0 0
-EOF
-mkdir /ofw
-
-
-
-# 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
-
-
-
-# amend build string
-sed -i -e 's/SoaS/SoaS-XO/g' /etc/fedora-release
-
-
-
-# disable screensaver locking
-gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t bool /apps/gnome-screensaver/lock_enabled false >/dev/null
-
-
-
-# nicer console font for our little screen
-# FIXME: olpc-configure sets this up too, but it's too late for first boot.
-# but perhaps we could fix that so that it gets applied.
-echo "SYSFONT=sun12x22" >> /etc/sysconfig/i18n
-
-
-
-# dpms settings
-# FIXME: get olpc-powerd to do this
-cat >> /home/$CREATE_USERNAME/.xsession <<EOF
-
-# unset dpms and screensaver (blanking) to avoid confusion and
-# conflict with olpc-powerd, which is taking care of that type of
-# behavior
-xset -dpms s off
-
-EOF
-
-
-
-# set sugar power management on
-# FIXME: get olpc-powerd to do this
-gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t bool /desktop/sugar/power/automatic True >/dev/null
-
-
-
-# enable serial console
-# FIXME: olpc-utils needs a patch to fix ttyS0 not starting, without which rtcwake is broken
-# see http://lists.sugarlabs.org/archive/sugar-devel/2009-August/018378.html
-echo ttyS0 >> /etc/securetty
-cat > /etc/event.d/ttyS0 <<EOF
-# ttyS0 - serial console
-start on stopped rc2
-start on stopped rc3
-start on stopped rc4
-start on stopped prefdm
-start on runlevel [2345]
-
-stop on runlevel 0
-stop on runlevel 1
-stop on runlevel 6
-
-respawn
-exec agetty ttyS0 115200
-EOF
-
-
-
-# add yum repos
-cat >> /etc/yum.repos.d/olpc-xo-1.repo << FOE
-[olpc-xo-1]
-name=OLPC XO-1
-failovermethod=priority
-baseurl=http://dev.laptop.org/~mdengler/xo-1
-enabled=1
-gpgcheck=0
-FOE
-
-cat >> /etc/yum.repos.d/olpc.repo << FOE
-[olpc]
-name=OLPC XO-1
-failovermethod=priority
-baseurl=http://dev.laptop.org/~dsd/xo1-rpms
-enabled=1
-gpgcheck=0
-FOE
-
-
-# ensure ul-warning only shows when shutting down
-# FIXME: remove when dev.laptop.org #9452 is fixed
-sed -ie 's/chkconfig: 5 1 0/chkconfig: 3 4 5 1 0/' /etc/init.d/ul-warning
-
-
-# configure powerd
-mv /etc/powerd/powerd.conf /etc/powerd/standard.conf
-ln -s soas.conf /etc/powerd/powerd.conf
-cat > /etc/powerd/soas.conf <<FOE
-#
-# Config file for powerd
-#
-# config_BATTERY_TIME_{DIM,SLEEP,BLANK}
-# config_EBOOK_TIME_{DIM,SLEEP,BLANK}
-# config_PLUGGED_TIME_{DIM,SLEEP,BLANK}
-# These are the time in seconds (measured from last user
-# activity) until a) the laptop screen dims, b) the laptop
-# sleeps, and c) the laptop screen blanks. All three can be
-# scheduled in any order.
-#
-# config_MAX_SLEEP_BEFORE_SHUTDOWN
-# Once the laptop sleeps and the screen is blank, it will shut
-# down after this amount of time.
-#
-# config_ALLOW_SHUTDOWN_WHEN_PLUGGED
-# If this is disabled, the laptop will never automatically shut
-# down when using external power. (It may still sleep, however.)
-#
-# config_IDLE_DIM_LEVEL
-# Brightness level when the screen is automatically dimmed. Set
-# to 15 to prevent dimming. Set to 0 to allow the backlight to
-# go off completely.
-#
-# config_CONFIRM_SECONDS
-# How long the shutdown/suspend confirmation splash screen stays
-# visible before the laptop automatically suspends.
-#
-# config_WAKE_ON_WLAN
-# Allows wireless to continue operating when the laptop is
-# sleeping. Note that the wireless configuration may allow
-# shutting down the wireless entirely (e.g., with
-# "echo 0 >/sys/power/wlan-enabled"), which may override this
-# setting.
-#
-# config_CPU_IDLE_LIMIT
-# If the cpu is idle less than this percentage, then the laptop
-# won't suspend.
-#
-# config_SLEEP_WHEN_LID_CLOSED
-# This is normally left enabled, and causes the laptop to go to sleep
-# when closed. If disabled, it will stay awake when the lid is
-# closed, and will only sleep because of other timeouts.
-#
-config_BATTERY_TIME_DIM="180"
-config_BATTERY_TIME_SLEEP="360"
-config_BATTERY_TIME_BLANK="99999"
-config_EBOOK_TIME_DIM="99999"
-config_EBOOK_TIME_SLEEP="20"
-config_EBOOK_TIME_BLANK="99999"
-config_PLUGGED_TIME_DIM="99999"
-config_PLUGGED_TIME_SLEEP="99999"
-config_PLUGGED_TIME_BLANK="99999"
-config_IDLE_DIM_LEVEL="0"
-config_MESH_DURING_SUSPEND="no"
-config_MAX_SLEEP_BEFORE_SHUTDOWN="99999"
-config_ALLOW_SHUTDOWN_WHEN_PLUGGED="no"
-config_CONFIRM_SECONDS="7"
-config_CPU_IDLE_LIMIT="10"
-config_SLEEP_WHEN_LID_CLOSED="yes"
-FOE
-
-
-
-%end
-
-
-%post --nochroot
-
-# olpc-utils ships 30-keymap-olpc.fdi, but we don't want all that olpc-utils brings
-# FIXME: can be removed when https://bugzilla.redhat.com/show_bug.cgi?id=514081 is resolved better
-curl -4 http://dev.laptop.org/git/projects/olpc-utils/plain/etc/hal/fdi/information/30-keymap-olpc.fdi >> $INSTALL_ROOT/etc/hal/fdi/information/30-keymap-olpc.fdi
-
-%end
diff --git a/soas.ks b/soas.ks
deleted file mode 100644
index 9edc8c9..0000000
--- a/soas.ks
+++ /dev/null
@@ -1,49 +0,0 @@
-%include soas-sugar.ks
-
-%packages
-
-####
-# packages for non-XO SoaS
-####
-
-# general
-kernel
-DeviceKit-disks
-evince-djvu
-gvfs
-
-# e-mail client
-alpine
-
-# additional wifi support
-b43-openfwwf
-
-# get ready for installer support
-gparted
-zyx-liveinstaller
-
-# sound
-pulseaudio
-alsa-plugins-pulseaudio
-alsa-utils
-
-# fonts
-google-droid-fonts-common
-google-droid-sans-fonts
-google-droid-sans-mono-fonts
-google-droid-serif-fonts
-
-%end
-
-%post
-# keep in sync with soas-base.ks's value
-KERNEL_POSTINST_SCRIPT=/etc/kernel/postinst.d/olpc-fth-update
-
-# run kernel-postinst-script to make this bootable on the XO, since
-# installing the olpc-fth-update script in %pre doesn't seem to have
-# any effect
-
-current_kernel=$(ls /boot/vmlinuz-* | tail -1)
-$KERNEL_POSTINST_SCRIPT $(basename $current_kernel | sed -e 's/vmlinuz-//') $current_kernel
-
-%end
diff --git a/sync b/sync
deleted file mode 100755
index 8a9d3df..0000000
--- a/sync
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/usr/bin/python
-
-import os
-import subprocess
-
-base_dir = os.path.dirname(__file__)
-images_dir = os.path.join(base_dir, 'images')
-livedest_dir = 'soas@sunjammer.sugarlabs.org:/srv/upload/soas/snapshots/2/'
-appliances_dir = os.path.join(base_dir, 'appliances')
-appdest_dir = 'soas@sunjammer.sugarlabs.org:/srv/upload/soas/appliances/'
-
-def main():
- subprocess.check_call(['rsync', '-rvt', '--ignore-existing', '--progress', '--delete',
- images_dir + '/', livedest_dir])
- subprocess.check_call(['rsync', '-rvt', '--ignore-existing', '--progress', '--delete',
- appliances_dir + '/', appdest_dir])
-
-if __name__ == "__main__":
- main()