From FedoraProject

< User:Mmaslano
Revision as of 08:39, 16 August 2013 by Mmaslano (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


Preparing the SCL Locally

Role: Packager

Note: For a complete packaging guidelines for SCLs, see Packaging

There are few important things that the packager must consider when creating an SCL:

Creating the SCL Metapackage

Choosing correct SCL name is very important.

Every SCL must have a name, that does not match name of any other package. This is implied by the fact that the SCL metapackage's name is the same as name of the whole SCL. It is therefore not a good idea to name an SCL "ruby", when there is a "ruby" package - the name has to be altered. Packager should include something specific to the SCL (usually a specific version of included library) into it's name. Therefore "ruby193" is a good name for a collection that contains Ruby 1.9.3 or "tcl85_withthreads" if you plan different build options for your collection.

SCL metapackage is a basic building block of every SCL. It defines the %scl macro, which represents the name of SCL.

See SCL Metapackage on instructions for creating the SCL metapackage.

Creating the actual SCL packages

Most often, it is ok to start from a rpm package and modify it.

The packages must properly conditionalize all SCL-specific maros to be both SCL and non-SCL buildable. That means, that rpmbuild -bs foo.spec or fedpkg srpm without the %{scl}-build package installed must yield foo-x-x.srpm. This is crucial for koji, as it needs to be able to create the SRPM in buildroots both with and without %{scl}-build package.

See Packaging for complete guidelines on creating SCL packages.