Developer/Fedora: Difference between revisions
Jump to navigation
Jump to search
m (First pass.) |
(Added translation templates) |
||
(25 intermediate revisions by 8 users not shown) | |||
Line 1: | Line 1: | ||
{{Developers}} |
|||
{{Translations}} |
|||
== Introduction == |
== Introduction == |
||
OLPC maintains a variant of the |
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: |
|||
=== Fedora Procedures === |
|||
== Instructions == |
|||
* http://fedoraproject.org/wiki/Join_the_package_collection_maintainers - '' Join the package collection maintainers'' |
|||
* https://fedoraproject.org/wiki/PackageMaintainers/UpdatingPackageHowTo - ''How to update packages maintained in Fedora'' |
|||
* https://fedoraproject.org/wiki/PackageMaintainers/UsingCvsFaq - ''How to access source code for packages maintained in Fedora'' |
|||
* http://fedoraproject.org/wiki/PackageMaintainers/UsingKoji - ''How to build RPMs with Fedora's build infrastructure'' |
|||
* http://fedoraproject.org/wiki/Packaging/ReviewGuidelines - ''Checklist that must be met to add a new package to Fedora'' |
|||
=== RPM Hints === |
|||
There are two broad kinds of work that must be done to be able to take responsibility for maintaining an OLPC fork of a Fedora package - requesting authority to maintain a Fedora package and learning how to maintain a Fedora package. Fortunately, these tasks can be performed in parallel. |
|||
* http://fedoranews.org/alex/tutorial/rpm/ ''Walk-through of common RPM-related tasks'' |
|||
=== Making or Modifying RPMS === |
|||
== Requesting Authority to Help Maintain an Existing Package or Branch of a Package == |
|||
* http://docs.fedoraproject.org/drafts/rpm-guide-en/ch-creating-rpms.html - ''Draft reference material on how to create RPMs'' |
|||
# Announce interest in helping with fork X |
|||
* http://rpm.org/max-rpm-snapshot/ - ''Out of date reference material on how to create RPMS'' |
|||
# Request a RedHat Bugzilla account |
|||
* http://fedoraproject.org/wiki/Docs/Drafts/BuildingPackagesGuide - ''Recent but incomplete walk-through of how to create Fedora packages'' |
|||
# Request a Fedora account |
|||
# Sign the Fedora Contributors License Agreement (CLA) |
|||
# Request membership in the cvsextras group. |
|||
# Ask a Fedora Package Maintainer (such as most OLPC developers) to sponsor you. |
|||
# Request authority to update the OLPC branch of the package you want to fix. |
|||
=== Fedora Infrastructure === |
|||
== Learning How to Maintain a Package == |
|||
* https://admin.fedoraproject.org/pkgdb/ - ''Website for managing authorization to update Fedora packages'' |
|||
* http://koji.fedoraproject.org/koji/ - ''Status website for the Fedora build system'' |
|||
[[Category:Developers]] |
|||
# Get an account on teach.laptop.org, install Fedora yourself, or install appropriate packages if your distribution supports them; |
|||
[[Category:XO software and Fedora]] |
|||
# Anonymously check out your package from Fedora CVS |
|||
# Use mock or rpmbuild to learn how to build your package |
|||
# [Politely] Seek help from OLPC and Fedora developers as you discover confusions. |
Latest revision as of 04:58, 22 May 2011
For Developers
Please copy/paste "{{Translationlist | xx | origlang=en | translated={{{translated}}}}}" (where xx is ISO 639 language code for your translation) to Developer/Fedora/translations | HowTo [ID# 256300] +/- |
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:
Fedora Procedures
- http://fedoraproject.org/wiki/Join_the_package_collection_maintainers - Join the package collection maintainers
- https://fedoraproject.org/wiki/PackageMaintainers/UpdatingPackageHowTo - How to update packages maintained in Fedora
- https://fedoraproject.org/wiki/PackageMaintainers/UsingCvsFaq - How to access source code for packages maintained in Fedora
- http://fedoraproject.org/wiki/PackageMaintainers/UsingKoji - How to build RPMs with Fedora's build infrastructure
- http://fedoraproject.org/wiki/Packaging/ReviewGuidelines - Checklist that must be met to add a new package to Fedora
RPM Hints
- http://fedoranews.org/alex/tutorial/rpm/ Walk-through of common RPM-related tasks
Making or Modifying RPMS
- http://docs.fedoraproject.org/drafts/rpm-guide-en/ch-creating-rpms.html - Draft reference material on how to create RPMs
- http://rpm.org/max-rpm-snapshot/ - Out of date reference material on how to create RPMS
- http://fedoraproject.org/wiki/Docs/Drafts/BuildingPackagesGuide - Recent but incomplete walk-through of how to create Fedora packages
Fedora Infrastructure
- https://admin.fedoraproject.org/pkgdb/ - Website for managing authorization to update Fedora packages
- http://koji.fedoraproject.org/koji/ - Status website for the Fedora build system