Important Announcement: Please read https://www.redhat.com/archives/fedora-announce-list/2008-August/msg00011.html for the latest information.
New SSH Fingerprints for Public Servers: Please verify SSH Fingerprints against https://admin.fedoraproject.org/fingerprints

OlpcFedoraPartnership

From FedoraProject

Jump to: navigation, search

Contents

OLPC/Fedora Partnership

For a while now, the OLPC Sugar OS has been a derivative project based off of Fedora Core 6 and existing within Red Hat's own build infrastructures and repositories. With the advent of Fedora 7 and the merge of Core and Extras it now makes sense to tightly integrate the OLPC OS project under the Fedora umbrella to allow for easier community participation as well as more aligned development goals that will benefit both projects.

This initiative involves a meeting of the minds on a few issues and can serve as a template for participation of other high level projects within Fedora. The first is OLPC's usage of the Fedora infrastructure in the case of build servers, version control repositories and OLPC member access as co-maintainers to certain base packages. The second is the creation of a separate OLPC development repository for packages that don't make sense in Fedora or are not yet stable and conforming to Fedora release schedules. While we could set up our own structure we believe it better to be part of the Fedora infrastructure as it encourages participants to move towards integration into Fedora proper at a later date.

Another issue is future development philosophy which we hope will lead to a more modular Fedora allowing it to become the basis of more projects from embedded to large servers without having to fork and maintain separate packages just because they are not fine grained enough (for instance gnome-vfs' insistence on bringing in the whole GNOME desktop).

Below we discuss our proposed actions for integration with Fedora 7 and future thoughts about how we wish to participate in Fedora 8 development.

Fedora 7 OLPC Rebase

Image:OlpcFedoraPartnership fc6tof7olpcmove.ods This OpenOffice Spreadsheet] contains a detailed summary of packages currently forked from Fedora Core 6 which OLPC uses. It lists actions for integration and rebasing on Fedora 7. The actions field lists a couple of different actions we can take with each package:

At any point if we need a destabilizing change we will fork the package but if it is just bugfixes we will be able to contribute them back to Fedora, sharing the burden with other maintainers.

Fedora 8 Plans

There are two goals which OLPC would like to see reached or move towards in Fedora 8. These are pushing new technologies such as TUBES!!! into Fedora proper and fixing the dependency issues which cause small libraries to balloon into megs worth of unnecessary dependencies.

New technology is constantly being developed within OLPC which leapfrogs current generation Desktop in terms of innovative functionality. Mesh enabled applications, collaborative functionality out of the box and sandboxed download and run applications are a few things we would like to see added to future Fedora builds.

Dependencies are a necessary evil for allowing people to easily install applications without having to know every piece that is needed to make them run. Unfortunately over the years dependencies in our repositories have become a messy web of links that don't always make sense. The Fedora package reviews have gone a long way to fixing this but there are other things that need to be done to make the issue go away.

One of the biggest problems is derivative linking where an application requires a library that requires another library. In the case of gnome-vfs2 it has an ORBit2 requirement not because it itself uses ORBit2 but because it requires GConf2 which then requires ORBit2. We however have a drop in replacement for GConf called GConf-dbus which replaces the deprecated ORBit interface with a D-Bus one. Unfortunately gnome-vfs2 still requires ORBit2 even if it doesn't use it. Right now this requires we fork the gnome-vfs2 package in a clean environment so that it does not pick up the ORBit2 and other unwanted dependencies. This is a waste of resources since now two versions of gnome-vfs2 need to be maintained even though code-wise they are both identical.

We would like to help work with upstream and Fedora to fix this issue and find a way to reduce the number of hard dependencies packages have while still making it easy to yum install an application and have it work without further interaction.

Benefits to Fedora

Benefits to OLPC

Status

The move has been approved by FESCo. Below is the status of individual packages needed for the move:

Packages that need updating in F7

PackageVersion NeededStatus
dbus-python0.81.1 Built
dhcpanycast support patch needed Built
farsight0.1.20 Built
gstreamer-plugins-farsight0.12.1 Built
libgsf1.14.3 Built
libjingle0.3.11Built
libtelepathy0.0.55 Built
telepathy-python0.12.11Built
telepathy-stream-engine0.3.23 Built

Packages that need to be branched into olpc-2 and updated

PackageVersion NeededStatus
NetworkManager0.6.5-0.1.svn2546Built
SDL_mixerSame as F7 with timidity++ turned offBuilt
dbus1.1.0 Built
gnashnewest snapshotBuilt
gnome-vfs2same as F7 compiled against GConf-dbusBuilt
telepathy-gabble0.5.11 Built
totemSame as F7, compiled against GConf-dbusNeeds xulrunner
wpa_supplicant0.5.7We can use the F7 version for now
gstreamer-plugins-baseSame as F7 with olpc specBuilt
gstreamer-plugins-goodSame as F7 with olpc specBuilt
kernelOLPC's stable git branchBranched

Packages that need to be added into F7

PackageVersion NeededStatus
libertas-usb8388-firmware5.220.10.p5Need to figure out firmware policy
libmatchbox1.9Built
matchbox-window-manager1.1Request to push filed

Packages that need to be added into olpc-2

PackageVersion NeededStatus
GConf2-dbus2.16.0Built
olpc-artwork0.33Built. Now sugar-artwork.
olpc-hardware-manager0.3.1Built
olpc-logos6.0.6Request Filed
olpc-utils0.15 Built
dbench (split off from olpc-utils)3.04Request Filed
sugar0.64-3.gitb2980d7db6.1Built
sugar-datastore0.2.1-3.git8d46929bd7.1Built
sugar-presence-service0.65-1.git52b8a7428a.1Built
telepathy-glib0.5.11Built
xulrunner1.9a5pre-1cvs20070519.1Request Filed
hulahop0.1-5.git172e5eae5e.1Request Filed
xapian-core0.9.10-2.2.svn8397Built
xapian-bindings0.9.10.1-2.2.svn8397Built
pyxapian0.1-1.1.20071005gitBuilt

Comments