1
1
openmpi/contrib/dist/linux/README.ompi-spec-generator
2007-05-09 12:18:39 +00:00

84 строки
3.2 KiB
Plaintext

Open MPI specfile generator
===========================
The Open MPI specfile generator is a tool that scans the Open MPI source
tree for package description files. Based on this file a specfile will be generated
which will produce a RPM for each specified package (if the corresponding files have
been created). All files that are not specified to belong to a package will be put in
the base package.
The produced specfile is able to detect at build time if a package RPM should be build
or not (e.g. if the gm component hasn't been build the gm package section will be skipped).
This approach allows to have one big specfile for all possible build systems.
The specfile also dynamically extracts the version information for each package at build
time. This is necessary because a static approach would require to know the exact low level
library version we want to use for this package.
-- Naming Convention
The base RPM will have the following naming convention:
<OMPI_NAME>-<OMPI_VERSION>-<OMPI_RELEASE>.<ARCH>.rpm
e.g. openmpi-1.2a1r10877M-1.x86_64.rpm
Each RPM that is build based in a package description will have the following format:
<OMPI_NAME>-<TYPE>-<PACKAGE_NAME>-<OMPI_VERSIO><PACKAGE_NAME>_<PACKAGE_VERSION>-<OMPI_RELEASE>.<ARCH>.rpm
e.g. openmpi-btl-mvapi-1.2a1r10877Mmvapi_4.1.0-1.x86_64.rpm
Package Description File
========================
Package description files a simple INI files with the suffix ".package" instead of
".ini". Here is an example of a descriptor file :
> cat mvapi.package
[mvapi]
summary=MVAPI btl component
type=btl
license=BSD
group=Development/Libraries
description=MVAPI btl component
files=%{_prefix}/lib/openmpi/mca_btl_mvapi.so %{_prefix}/lib/openmpi/mca_btl_mvapi.la
version=%{ompi_compile_root}/ompi/mca/btl/mvapi/get_vapi_version
vendor=Mellanox
>
-- section name
The section name is the name of the package that will be created.
-- summary
This summary will be the summary of the RPM.
-- description
The description will become the description of the RPM.
-- type
Specified the type of the package
-- license
The license of the RPM. (default : BSD)
-- group
The group where this package belongs to. (default = Development/Libraries)
-- version
The version field specifies a command that is executed during the RPM build process to obtain
the version number of the package. This command is executed after the source code has been configured,
compiled and installed. The %{ompi_compile_root} specifies the top level directory of the source tree.
-- files
List of files that should be part of the package. The %{_prefix} can be used to identify the prefix
where Open MPI will be installed. If at least on of the specified files exists the package will be build.
-- vendor
The vendor field of RPM. (default = Open MPI)
-- requires
Additional dependencies for this package. The specfile generator will automatically add a default dependency
for the Open MPI base RPM.
If the Open MPI specfile generator should find multiple definitions of the same package then the "files"
information will be merged and all the other fields will be overwritten by the latest information. This
allows a decentralized package description (e.g. mvapi BTL + mvapi MPOOL).