head 1.16; access; symbols; locks; strict; comment @# @; 1.16 date 2006.01.19.21.35.02; author openpkg; state Exp; branches; next 1.15; commitid Qam512JcrAhLVfir; 1.15 date 2005.02.24.15.55.52; author rse; state Exp; branches; next 1.14; 1.14 date 2005.01.18.09.11.24; author thl; state Exp; branches; next 1.13; 1.13 date 2004.10.20.08.18.17; author rse; state Exp; branches; next 1.12; 1.12 date 2004.02.27.15.10.13; author thl; state Exp; branches; next 1.11; 1.11 date 2004.02.25.09.26.00; author thl; state Exp; branches; next 1.10; 1.10 date 2003.08.07.14.46.09; author thl; state Exp; branches; next 1.9; 1.9 date 2003.04.17.07.26.26; author rse; state Exp; branches; next 1.8; 1.8 date 2003.03.15.16.16.21; author rse; state Exp; branches; next 1.7; 1.7 date 2003.01.22.13.12.54; author rse; state Exp; branches; next 1.6; 1.6 date 2003.01.19.11.44.00; author rse; state Exp; branches; next 1.5; 1.5 date 2003.01.01.14.47.58; author rse; state Exp; branches; next 1.4; 1.4 date 2002.12.26.14.34.13; author rse; state Exp; branches; next 1.3; 1.3 date 2002.12.19.10.52.43; author rse; state Exp; branches; next 1.2; 1.2 date 2001.11.30.23.12.31; author rse; state Exp; branches; next 1.1; 1.1 date 2001.11.30.16.04.22; author rse; state Exp; branches; next ; desc @@ 1.16 log @point out releases obey default options only @ text @ #use "page.inc" page=releng OpenPKG Release Engineering

OpenPKG Release Engineering

Package Classification

OpenPKG packages are grouped into multiple classes. The class of a source package can be determined by running:
$ openpkg rpm -qp --qf '%{CLASS}' foo-1.42-2.3.0.src.rpm
The class of an installed package can be determined by running:
$ openpkg rpm -q --qf '%{CLASS}' foo
The classes are differentiated by multiple attributes as described by the following table:

yes #yes   %0
CORE
BASE
PLUS
EVAL
JUNK

Legend:
RTT: Run-Time Tested
SAP: Security Advisories and Patches
FPS: Full Platform Support Build Requirement
RSS: Release Show-Stopper
RBP: Release Binary Package
RSP: Release Source Package
BLD: Building Successful on all Supported Platforms
PKG: Packaging Completed
Notice: releases obey default options only!

Version Numbering Scheme

OpenPKG packages are available in various versions, derived from different source branches. These directly map to the internal structure of the CVS repository module openpkg-src. This CVS structure is summarized in the following figure.

Figure: OpenPKG CVS Repository (large: PNG, PS)

As one can see, there are three types of branches in the OpenPKG CVS repository. The trunk (HEAD) where all development efforts are placed and which holds "OpenPKG -CURRENT"; the "OpenPKG -STABLE" branches (OPENPKG_N_STABLE) which hold the stable releases; and the "OpenPKG -SOLID" sub-branches (OPENPKG_N_M_SOLID) which hold the updates for stable releases. This release engineering approach resembles the one the FreeBSD project successfully follows since years.

Our developer's summary table shows the details how CVS tag/branch names and community/marketing names are related and where the corresponding distribution packages are located.

The BuildFarm activities can be viewed online.

See also:

Third-Party Hints

For developing new packages, you can sometimes get hints by looking at the packaging efforts of other projects. You can find them at the following locations:

@ 1.15 log @update website for OpenPKG 2.3 release @ text @d63 1 @ 1.14 log @dismantle old build farm status viewing from OpenPKG web server and provide direct links to master @ text @d14 1 a14 1 $ openpkg rpm -qp --qf '%{CLASS}' foo-1.42-2.2.0.src.rpm @ 1.13 log @one more lifting to 2.2 @ text @d95 1 a95 1 The latest package building status can be found here. @ 1.12 log @cosmetics @ text @d14 1 a14 1 $ openpkg rpm -qp --qf '%{CLASS}' foo-1.42-2.0.0.src.rpm @ 1.11 log @flush pending updates for OpenPKG 2.0 @ text @d99 1 a99 1