From Fedora Project Wiki

Line 22: Line 22:
The '''-devel''' package '''SHOULD NOT''' provide any *.o files.  
The '''-devel''' package '''SHOULD NOT''' provide any *.o files.  
* Ada Library information
* Ada Library information
The -devel package '''SHOULD''' provide Ada Library Information '*.ali' files that gcc-gnat creates when compiling the shared (relocatable, not static) library. The '*.ali' files '''SHOULD''' reside in <code>%{libdir}/%{name}/*.ali</code>.  
:The -devel package '''SHOULD''' provide Ada Library Information '*.ali' files that gcc-gnat creates when compiling the shared (relocatable, not static) library. The '*.ali' files '''SHOULD''' reside in <code>%{libdir}/%{name}/*.ali</code>.  
<!-- Probably, %{_libdir}/adalib/%{name} is a better way ? -->
<!-- Probably, %{_libdir}/adalib/%{name} is a better way ? -->
* GNAT project file
* GNAT project file


[[ Category:Packaging guidelines drafts ]]
[[ Category:Packaging guidelines drafts ]]

Revision as of 04:57, 8 February 2011

Packaging of Ada programs

Introdution

This document describes all there is to know about Ada in Fedora.

Files placing

Ada programs in Fedora MUST be compiled, if possible, using the default Ada compiler in Fedora gcc-gnat. As usual, standard Fedora optimization flags %{optflags} MUST be used in the compilation. If possible project SHOULD have makefile and configure script

All Ada include files '*.adb' and '*.ads' MUST be placed in the standard include directory: either directly in %{_includedir} , or if headers have general names or upstream recommends having an own directory, in e.g. %{_includedir}/%{name}.

Ada projects files MUST be placed in %{_libdir}/gnat/ directory of if project have several '*.gpr' files in e.g.  %{_libdir}/gnat/%{name}.

Rpmlint and Ada packages

rpmlint is a program that checks packages for common problems. For ada packages, some of the rpmlint messages can be disregarded.

Devel packages

Ada packages MUST package '*.ads', '*.adb' and '*.gpr' files in -devel package. The -devel package SHOULD NOT provide any *.o files.

  • Ada Library information
The -devel package SHOULD provide Ada Library Information '*.ali' files that gcc-gnat creates when compiling the shared (relocatable, not static) library. The '*.ali' files SHOULD reside in %{libdir}/%{name}/*.ali.
  • GNAT project file