[FrontPage] [TitleIndex] [WordIndex

This is a read-only archived version of wiki.centos.org

Steps for building packages in CBS

This article describes the process of building packages for SCLo SIG. General information about build system are available at https://wiki.centos.org/BrianStinson/GitBranchesandKojiTags

1. Creating tags and targets

Creating tags and build targets is achieved by requesting those on bugs.centos.org like this: https://bugs.centos.org/view.php?id=9661

The important information that need to be specified are:

After that, someone from CentOS creates the tags/targets and updates the bug report. It may take some time (max. days), since guys in CentOS infrastructure are usually very busy.

Once tags/targets are created, users are able to build the packges by submitting SRPMs either for scratch builds (for testing) or regular builds. The whole process of building one image is described at https://wiki.centos.org/HowTos/CommunityBuildSystem.

2. First SCL builds

The following is example of workflow for building a simple SCL called rh-postgresql94, that consists of two packages: rh-postgresql94 (meta package) and rh-postgresql94-postgresql.

First, we need to add the metapackage to the tag and build it:

$> cbs add-pkg sclo6-rh-postgresql94-rh-candidate --owner=sclo rh-postgresql94
$> cbs build sclo6-rh-postgresql94-rh--el6 rh-postgresql94-2.0-9.el6.src.rpm

Once metapackage is built, we need to wait few minutes until repository is regenerated. Then, we can add the actual package with database to the tag and build it:

$> cbs add-pkg sclo6-rh-postgresql94-rh-candidate --owner=sclo rh-postgresql94-postgresql
$> cbs build sclo6-rh-postgresql94-rh--el6 rh-postgresql94-postgresql-9.4.5-1.el6.src.rpm

Once we're able to push packages to testing, we do it this way:

$> cbs add-pkg sclo6-rh-postgresql94-rh-testing --owner=sclo rh-postgresql94 rh-postgresql94-postgresql
$> cbs tag-pkg sclo6-rh-postgresql94-rh-testing rh-postgresql94-2.0-9.el6 rh-postgresql94-postgresql-9.4.5-1.el6

Finally, to tag packages to release repository, we do it this way:

$> cbs add-pkg sclo6-rh-postgresql94-rh-release --owner=sclo rh-postgresql94 rh-postgresql94-postgresql
$> cbs tag-pkg sclo6-rh-postgresql94-rh-release rh-postgresql94-2.0-9.el6 rh-postgresql94-postgresql-9.4.5-1.el6

Then we need to ask for signing and releasing packages by reporting a bug report like this: https://bugs.centos.org/view.php?id=9838 The important information that need to be specified are:

After this, any package that will be tagged with -release tag, will be added to the official repository under http://mirror.centos.org/centos-7/7/sclo/x86_64/

2023-09-11 07:23