developingpld
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
developingpld [2007-10-01 12:15] – patrys | developingpld [2014-05-13 18:34] (current) – Links to acinfo changed to ac glen | ||
---|---|---|---|
Line 3: | Line 3: | ||
====== How to become a PLD developer ====== | ====== How to become a PLD developer ====== | ||
This article will attempt to explain the basics of a Linux-based distribution development process. | This article will attempt to explain the basics of a Linux-based distribution development process. | ||
+ | |||
+ | /* UndefinedMacro: | ||
===== Required knowledge ===== | ===== Required knowledge ===== | ||
- | As PLD is an RPM-based distribution, | ||
+ | As PLD Linux is an RPM-based distribution, | ||
* Basic '' | * Basic '' | ||
- | * Use of versioning tools such as '' | + | * Use of versioning tools such as '' |
* Handling file differencies using '' | * Handling file differencies using '' | ||
* Building applications from their sources | * Building applications from their sources | ||
Line 23: | Line 25: | ||
* PLD Ra/1.0 (released some time ago) | * PLD Ra/1.0 (released some time ago) | ||
- | * [[:AcInfo|PLD Ac/2.0]] (stable) | + | * [[ac|PLD Ac/2.0]] (stable) |
- | * [[:ThInfo|PLD Th/3.0]] (in development) | + | * [[th|PLD Th/3.0]] (in development) |
Each line has a person in charge of it, called the Release Manager. RMs spend time maintaining parts of PLD's infrastructure, | Each line has a person in charge of it, called the Release Manager. RMs spend time maintaining parts of PLD's infrastructure, | ||
Line 35: | Line 37: | ||
==== Spec files ==== | ==== Spec files ==== | ||
- | A '' | ||
- | |||
- | You can also [[: | ||
- | |||
- | All the '' | ||
+ | A '' | ||
+ | You can also [[http:// | ||
+ | All the '' | ||
==== The builder script ==== | ==== The builder script ==== | ||
The '' | The '' | ||
Line 82: | Line 82: | ||
You should start right off by subscribing to at least some of our [[: | You should start right off by subscribing to at least some of our [[: | ||
- | Take note that there is a special '' | + | Take note that there is a special '' |
Line 92: | Line 92: | ||
==== Working on packages ==== | ==== Working on packages ==== | ||
- | Start with simple things. Picking | + | |
+ | Start with simple things. Picking random package and updating it might seem like a good idea, but it'll eventually get you in trouble. Breaking an app someone depends on won't hurt the distribution itself that much, but people will get angry at you and making future changes will get a lot harder. Try adding a '' | ||
Before you decide you are done, double-check your dependencies section for all necessary packages and make sure the package builds cleanly (for instance, no files are left after packaging RPM files - '' | Before you decide you are done, double-check your dependencies section for all necessary packages and make sure the package builds cleanly (for instance, no files are left after packaging RPM files - '' | ||
- | If you're bored and don't know what to do, you can try fulfilling requests from [[http:// | + | If you're bored and don't know what to do, you can try fulfilling requests from [[http:// |
==== Publishing your changes ==== | ==== Publishing your changes ==== | ||
- | As a wannabe developer you most likely won't have read/write access to the CVS repository so you'll have to find someone to check your changes in and add them to the repository. The best way to do it is to send a //unified diff// of your changes against the original files (or the whole files in case you are adding any) in a mail message along with a brief description of what you did to the '' | ||
- | Once one of the other developers has time to review | + | As a wannabe developer you most likely won't have read/write access to the GIT repository so you'll have to find someone to check your changes |
- | Once you provide enough valuable | + | It's also acceptable to make your changes |
- | When that happens, you will be able to do regular CVS commits. Remember to check the files you are committing before sending them to the repository. Make sure you also provide a meaningful commitlog. All logs have to be in the following format: | + | Once existing developer, who has time to review your changes, you will be notified of any errors that need to be fixed and eventually your files will get committed or pushed. |
+ | Once you provide enough valuable changes, other developers might decide to give you full access to our repositories. This process is always initiated by someone who already has read/write access, asking for access on your own will not do you any good. | ||
+ | When that happens, you will be able to do GIT commits and push them to PLD servers yourself. Remember to check the files you are committing before sending them to the repository. Make sure you also provide a meaningful commitlog. All logs have to be in the following format: | ||
< | < | ||
Line 124: | Line 126: | ||
- '' | - '' | ||
- | - One of the developers requests a test build (this is done using the [[http:// | + | - One of the developers requests a test build (this is done using the [[http:// |
- The package is successfully built on all architectures. | - The package is successfully built on all architectures. | ||
- One of the priviledged developers requests an upgrade build (same script as above) - contact your RM for access. | - One of the priviledged developers requests an upgrade build (same script as above) - contact your RM for access. | ||
Line 131: | Line 133: | ||
- Your RM takes further care of the package. He decides when the package is ready to be moved to the stable tree (or the '' | - Your RM takes further care of the package. He decides when the package is ready to be moved to the stable tree (or the '' | ||
- The package is finally moved to the stable or '' | - The package is finally moved to the stable or '' | ||
+ | - The package is placed to '' | ||
developingpld.1191233754.txt.gz · Last modified: 2007-10-01 12:15 by patrys