From Fedora Project Wiki

Revision as of 22:25, 9 February 2012 by Rombobeorn (talk | contribs) (architectures)

This is a draft proposal to make some changes to the Ada packaging guidelines. The changes are not yet ready for review by the Packaging Committee.

There is currently a rule that a -devel package must not contain all the source files of the library, only those that are necessary for compilation of code that uses the library. I think that this rule costs more than it's worth. It's very difficult for a reviewer to know which files are needed and which ones aren't. The GNAT tools know of course, and will install only the needed files, but not all Ada projects use the GNAT tools to do the installation. Manually keeping track of which body files are needed for recompilation can be error-prone even for upstream developers, so Make-based build systems are likely to just install the complete sources, and it's a lot of work for a packager to rework makefiles to make them follow the rule.

The code is free so we have no reason to hide it, and disk space won't be an issue on developers' workstations or on build servers. The rule should be removed, or at least weakened back to "should not".

I propose to add the following paragraph to the Compilation section:

The macro GNAT_arches expands to a list of architectures where GNAT packages are available in Fedora. When there is a need to prevent attempts to build a package on secondary architectures where GNAT has not been bootstrapped, this MUST be done with "ExclusiveArch: %{GNAT_arches}".

Although the current Ada guidelines were approved on the 23rd of February 2011, the page is still in the Packaging guidelines drafts category. If I understand the process right it should be moved to the Packaging guidelines category.