Development Review

From SME Server
Revision as of 21:04, 9 June 2008 by Cactus (talk | contribs) (Fixing links to dev guide)
Jump to navigation Jump to search


Incomplete.png Incomplete:
This article or section needs to be expanded. Please help to fill the gaps or discuss the issue on the talk page


Goal

This page is meant to provide information on the Development Review process for Howto's and Contribs. The goal of this is to improve the quality of Howto's and Contribs and provide safe instructions and contribs that can be installed on production systems.

Review points

Contribs

  Tip:
Please make sure you have read and understood the information in the SME Server Developer's Guide, if you have questions please subscribe to the Development Information mailing list and ask your questions there.


To make sure that contribs are save to install for all users packages are reviews on a list of points.

No binary content

A package should not contain binary content, this is in violation with SME Server Development standards and the license under which it is developed.

Do not include source that is already available as RPM

Since a lot of software is already packaged by others we do not need to do so ourself. Since SME Server has an additional internal configuration systems thos packages will not run on SME Server out of the box. The best way to have thos packages integrate smoothly into SME Server is to write a so-called integration RPM, which contains the neccessary files and instructions that are needed to install the package on SME Server. This integrational RPM should have a rquirement for the original package. SME Server has approved the use of a few repositories for this purpose, those are RPMForge (Dag, Dries and ATrpms), Fedora EPEL and Centos repositories.

%pre and %post macros

The package should not contain any %post and %postun macros and should make minimal use of %pre and %preun scripts. Most of the instructions usually written in those sections can be implemented using a better, more robust way. Developers please have a look at the SME Server Developer's Guide and if still unclear feel free to ask on the Development Information mailing list.

Removal of files

All files in a contrib should be owned by that contrib and included in the package. As the installer takes care of removing those files contrib authors should not need to add removal instructions to the macro sections of the SPEC file.

Database initialization

Some contribs need to make entries to or even generate complete databases for the internal configuration system, of done so this should not be done in the SPEC file but should be placed as files in the source tree of the RPM.

Howto's