Contents

Introduction

OLPC maintains a variant of the Fedora Linux distribution. Many developers, over the course of their careers developing for the XO, develop a need to package software for the XO, either because they wish to fix a bug in software contained in an existing package or because they wish to contribute new software (other than activities) to the system. We do this through packaging the software in the upstream Fedora community, a process which this page aims to introduce.

Terminology

upstream authors

are people who release source code for consumption by package maintainers and who accept or reject patches from interested individuals

package maintainers

are people who accept source code releases from upstream authors and who combine that source code with packaging instructions in order to produce packaged software

package maintainers are also responsible for contributing patches to upstream authors that fix bugs or that make the upstream software inter-operate more smoothly with other software

Frequently in OLPC, package maintainers and upstream authors are the same person.

source releases

are typically tarballs of source code that have been permanently published at a fixed URL, along with validation data such as MD5sums or the author's public key and a digital signature.

(it's important for many reasons that source code be permanently accessible for all packages. Please make sure that yours is.)

packaging instructions

consist of a '.spec' file and zero or more patches to a source release.

packaged source code

is the 'source object' of a software distribution much as '.c' and '.h' files are the units of source code for building C binary objects.

packaged software

is the 'binary object' of a software distribution much as '.o' files are the binary objects linked together to produce C binaries

Outside Reading

Here is a collection of sites that I have found useful in learning to maintain Fedora packages for OLPC: