OLPC/Packages for F11

Goal
The goal is to make the next release of what was "OLPC 9.1" into a "Fedora 11 release", and to bring the packages outside of the current Fedora process inside of it. If we can get it done by feature freeze on 3/3, so much the better. :) For background context, see http://wiki.laptop.org/go/Software_discussion_2009-01-09.

Packages branched from Mainline
The following packages in Koji exist in the OLPC-4 collection but not in the Fedora-devel (Fedora 11) collection. Our job is to integrate them.

abiword-2.6.5-3.olpc4 (gregdek)
Minimalized compilation options? The real issue is that abiword was built monolithically in Fedora because we could, and there was no reason not to. For OLPC, a lot of functionality was stripped for space reasons. The goal should be to make Abiword in Fedora be built in a more modular way, allowing users (and derivatives) to pick and choose which chunks are installed.


 * PBR: abiword in Fedora is now build as modular as possible. The OLPC version of abiword has the following removed " --disable-bonobo --disable-gnomevfs --disable-gnomeui --disable-gucharmap --disable-printing" which tend to be useful for most people. With abiword 2.7/2.8 removes gnomevfs, bonobo, gnomeui requirements and uses gtkprint. We need to review the difference between the two builds in the new version of abiword.spec and see what's still missing.

fedora-release-10-1.2 (gregdek)
Forced to fork because it's currently a different distro. When the Fedora fixes are implemented, this package just goes away.

glibc/glibc-common (sayamindu)
Forked by Sayamindu to make language packs work. Five lines, but contains OLPC-specific stuff. The fundamental problem: translation happens on a systemwide application level, but activities would like to use gettext to allow activity localization at the user application level. Seems like this should be a problem that everyone is interested in solving. Ask Sayamindu about this.

gnome-vfs2
Not sure if we still need the dependency on gnome-vfs2. It will be pulled in by xulrunner at least. Might be fixed for F-12 though. bug from OLPC-3 branch

hippo-canvas-0.3.0-5.20081014svn.olpc4 (bpepple)
So it appears that maybe the online desktop stuff is using a different (older?) version. We should figure out if anyone inside of RH/Fedora actually cares about maintaining this stuff, and if not, hand it over to OLPC/Sugar folks for maintenance. Otherwise, we need to ask the owner to merge changes in.

totem-2.24.3-5.olpc4 (gregdek)
Removes deps. scrollkeeper, gnome-desktop, gnome-themes, libglade2-devel, nautilus-devel, lirc, gmyth, tracker, gvfs-fuse. Owner in Fedora: hadess.


 * PBR: With 2.26.x the only relevant of the ones listed above are: gnome-themes, gvfs-fuse and scrollkeeper. All the rest are either no longer relevant or are dependencies of plugins subpackages which don't need to be installed. Scrollkeeper is an install dep.

totem-pl-parser-2.24.2-5.olpc4 (gregdek)
camel dep.

xulrunner (pbrobinson)
xulrunner 1.9.0 required some extra patches for various bugs/features. Not sure whether these are still needed for xulrunner 1.9.1.

initscripts-8.86-1.olpc4.3 (gregdek)
Probably complicated and a bunch of reasons. One big one: OLPC doesn't use GDM to start Sugar. Use Slim instead? ctyler thinks maybe this can be refactored, and will explain how. :) NEEDINFO.  gregdek will sit down with notting, the owner of initscripts for Fedora.

rainbow
Needs to be refreshed from current upstream sources.

GConf2-dbus-2.16.0-14.fc10 (rnorwood)
GConf2-dbus was incompatible with the single-daemon launch acceleration provided by late 0.7-series rainbow implementations; however, this acceleration feature has been dropped in upstream rainbow. The compatibility status of the new design is unknown.

"Session"-specific D-Bus buses
"Session"-specific D-Bus daemons like the session bus and the Telepathy connection managers are traditionally configured based on a false assumption that "all of Human X's programs run under [a fixed] uid Y." Rainbow, which brings the traditional security techniques of privilege-separated Unix daemons to the desktop, reveals this underlying misconception.

As mentioned on Rainbow's "next steps" list, several upstream-acceptable designs have been identified, which could be implemented by anyone familiar with the appropriate D-Bus code.

Joyride Packages
The following packages exist in Joyride, but not in Koji -- usually because they are too new and haven't made their way into Koji, or conflict directly with packages in Fedora.

Mothanna-fonts (kennyp)
Needs conversion to Fedora packaging guidelines. Existing review request (stalled due to lack of action of the reporter).

Thabit-fonts (kennyp)
Needs conversion to Fedora packaging guidelines. Existing review request (stalled due to lack of action of the reporter).

bootanim (pbrobinson)
Not sure about this one, might need to convert the boot animation to plymouth as a plugin

bootfw
The openfirmware used by OLPC is in the public domain.
 * Details on how to compile it are in this post.
 * It doesn't currently support ext4 for though.

cerebro (rnorwood)
Review request RHBZ 457279

ds-backup-client (kennyp)
Needs import and review

kernel (cjb)
open issues:


 * open firmware interface (arch/x86/kernel/ofw.[ch]): Need to reevaluate in the context of latest work that has been done on ofw upstream by Dave Miller and Steven Rothwell.
 * geode GPIO driver (used by DCON and suspend/resume): eyeball the gpio work that's been done lately to see if it's acceptable, and figure out strategy for going forward if it isn't.
 * dcon driver (drivers/video/olpc_dcon.[ch])
 * suspend/resume code (arch/x86/kernel/olpc_pm.*)
 * parts of the HGPK touchpad: drivers/input/mouse/olpc.c i believe it's been upstreamed, but there are outstanding patches that need reworking before resubmission.

Updated from the messages on fedora-olpc here and here

Also possible issues with the camera driver and not sure if the missing memory issue is resolved.

olpc-licenses (gregdek)
OLPC strips out a bunch of documentation to save space, and olpc-licenses is provided to put the licenses back for GPL and other license compliance. Long-term fix: fix Fedora to separate docs from license by tagging license as a special flavor of licensedoc. Short-term fix: Spot waves his wand and says "put olpc-licenses into Fedora."

upstart-0.3.9-19.olpc4.1 (rnorwood)
upstart lacks sysvinit's "--init" option, which permits /sbin/init to run as "pid != 1" and which is used by OLPC's initramfs. A volunteer, Cortland Setlow, implemented the feature for upstart-0.3.9 during the OLPC-2 -> OLPC-3 transition but no one attempted to push the implementation upstream. In Feb 2009, another volunteer named Bobby Powers attempted, unsuccessfully, to rebase the patches.

olpcsudo (cjb)
This is essentially a Python version of sudo. Built to solve the problem of "root password being empty", which is shared by the Fedora Live CD. Current recommendation is to drop olpcsudo, but we need to verify with cjb. (This is C. Scott's package.) (this should be dropped for several reasons -- it's incompatible with "real" sudo, for instance.)

olpc-library-common (awagner83)
Library indexing script and HTML templates. RHBZ 510321 Done.

olpcrd (katzj via gregdek)
Will we be creating a separate initrd for Fedora? We know that the biggest difference in initrd was the security stuff, which Chris Ball has made clear that OLPC will be dropping. Still need to figure out what needs to be done here. FIXED. Moving to dracut with dracut-modules for the security stuff RHBZ 511916.

pygtk2/pygtk2-libglade (probinson)
Fix now in PyGTK 2.15 Release notes here. BGO 397544. Now fixed in F-12/rawhide.

abyssinica-fonts (bochecha)
Imported in Fedora by Bernie Innocenti, recently orphaned. In good shape overall (but adding fontconfig rules to the package would be nice, and needs a renaming to conform to guidelines).

csound/olpcsound (perobinson)
Once csound is updated from 5.03 to 5.10 in fedora olpc can be marked obsolete and removed. csound 5.10.1 is now in F-11 and F-12/rawhide. In rawhide it obsoletes olpcsound.

etoys (gavinRK)
requires squeak


 * In rawhide as of 24 Feb 2009

libertas-usb8388-firmware (gregdek)
Binary firmware blob -- no policy issue, we just need the latest. Or is there a policy issue? gregdek will find out.


 * Already in Fedora. Original package review here. Also has the same type of licensing as the Intel wifi firmwares so should be OK - PBR 2/3/09

nafees-web-naskh-fonts (bochecha)
Imported in Fedora by Bernie Innocenti, recently orphaned. In good shape overall (but adding fontconfig rules to the package would be nice).

numpy (perobinson)
Depends on python-devel and fortran. RHBZ 494113

SDL_mixer-1.2.8-9.olpc4.1 (bpepple)
timidity++-patches required, which pulls in PersonalCopy-lite; need to split out SDL_mixer. RHBZ 471623 Fixed in build SDL_mixer-1.2.8-12.fc11

squeak-vm (gavinRK)
This is a packaging issue, iirc: since squeak is a binary that produces its own source code thru introspection (boggle) it falls out of our traditional packaging guidelines. We need to consider an excpetion thru fesco. gavin r-k was dirving this; we will follow up. Let us produce a source RPM for Spot to puke upon, if puking is required.


 * In rawhide as of 24 Feb 2009 - PBR 2/3/09

sugar-artwork (quaid)
Status update due


 * sugar-artwork

sugar-evince-2.24.1-1.olpc4 (smparrish)
'''New evince is supposed to land in GNOME 2.26 to incorporate upstream fixes. Once gnome-desktop2-evince is built, this can be cut.''' Conflicts with Fedora evince -- need to do more analysis. Unlike abiword issues which involve configuration of code that is all upstream, sugar-evince carries patches that are not upstream. The first problem to solve is to get patches upsteam if possible. If this is hard, we'll figure something else out. :)

We'll discover soon how hard it is: http://sugarlabs.org/go/Evince ;) Tomeu 09:33, 15 January 2009 (UTC)


 * All the changes are now in upstream Evince (and hence rawhide) so sugar-evince is now obsolete. There's a RHBZ 480729 to split the libs out of the main evince package so its smaller (a lot) but that's not a blocker. - PBR 2/3/09

sugar-update-control (smparrish)
This package is awaiting review. See http://wiki.laptop.org/go/Software_update, http://dev.laptop.org/ticket/4951, and http://dev.laptop.org/git?p=users/cscott/sugar-update-control;a=summary; c_scott's work. This depends heavily on infrastructure that may no longer be maintained, since it's a full standalone update mechanism. UPDATE: just scrapes the wiki for latest activities. It updates only activities. Relatively harmless.

sugar-* (Activities)

 * sugar-evince - OLPC version of the evince document viewer
 * sugar-analyze - Analysing tool for Sugar
 * sugar-browse - Browse activity for Sugar
 * sugar-chat - Chat client for Sugar
 * sugar-calculator - Calculator for Sugar
 * sugar-connect - Connect for Sugar
 * sugar-distance - Distance measurement for Sugar
 * sugar-imageviewer - Simple image viewer for Sugar
 * sugar-implode - Implode for Sugar
 * sugar-memorize - Memorize for Sugar
 * sugar-speak - Speak for Sugar
 * sugar-turtleart - Turtleart activity for the sugar desktop
 * sugar-journal - Journal for Sugar
 * sugar-jukebox - Media player activity for Sugar
 * sugar-terminal - Terminal for Sugar
 * sugar-log - Log activity for Sugar
 * sugar-moon - Moon activity for the sugar desktop
 * sugar-write - Word processor for Sugar

In rawhide already, but we need an owner to update them when upstream does releases.


 * I'm quite happy to do this. Just let me know what packages and I'll request co-maintainer on them - PBR 2/3/09

telepathy-glib-0.7.20-1.olpc4 (gregdek)
No patches -- a false fork. Should just be untagging.


 * The reason for this 'fork' was so they could get a later version than the one in F-10 for features. Obv not an issue in rawhide - PBR 2/3/09

Build hacks
Even after all packages are integrated into Fedora, there are likely a few hacks introduced when the OLPC image is built. We will need to identify these, describe them, and eliminate them if possible.