"Fossies" - the Fresh Open Source Software Archive

Member "SAOImageDS9/ast/erfa/RELEASE.rst" (13 Nov 2019, 7906 Bytes) of package /linux/misc/ds9.8.1.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format (assuming markdown format). Alternatively you can here view or download the uninterpreted source code file. A member file download can also be achieved by clicking within a package contents listing on the according byte size field.

Instructions for releasing ERFA

Version numbering

ERFA needs to provide two different version numbers. You need to update both. The first is the package version number or version number proper. ERFA uses semantic versioning to create this number. For more on this choice, see liberfa/erfa#6.

The second number is shared library version info. When a program has been linked with the ERFA shared library, the dynamic linker checks the version info of the library requested by the program with those of the libraries present if the system. This version info is important to binary distributions (such as Linux distributions). ERFA uses libtool versioning.

Package version number

Semantic versioning dictates how to change the version number according to changes to the API of the library. In the case of ERFA the API is:

To update the package version, the release manager has to check the relevant information about the release, such as:

If the version is given in the form MAJOR.MINOR.PATCH, then

Change the version number in the AC_INIT macro and in README.rst

Shared library version info

For the shared library version info, we are only interested in a subset of the API, the interfaces of the shared library. As the C macros are interpolated away at compile time, the interfaces in the ERFA shared library are:

Again, the release manager has to review the relevant information:

The shared library version info is stored in three numbers called current, revision and age. These numbers appear in the macro ERFA_LIB_VERSION_INFO in the mentioned order.

If the version is given in the form CURRENT,REVISION,AGE then

Change the verion info in ERFA_LIB_VERSION_INFO

Examples

We start with ERFA version 1.0.0 and library version info 0,0,0