Packaging:Treatment Of Bundled Libraries

From FedoraProject

(Difference between revisions)
Jump to: navigation, search
(Explicit Exceptions)
(Bootstrapping)
 
(11 intermediate revisions by 3 users not shown)
Line 12: Line 12:
 
=== Bootstrapping ===
 
=== Bootstrapping ===
 
Packages which depend upon bundled libraries in order to bootstrap a build may retain them for use when the package is built in bootstrapping mode. When the package is built in a normal mode, the normal guidelines apply.
 
Packages which depend upon bundled libraries in order to bootstrap a build may retain them for use when the package is built in bootstrapping mode. When the package is built in a normal mode, the normal guidelines apply.
 +
 +
Packages which are built in such a bootstrapping mode must not be tagged for a final release (or pushed as an update for any stable release). FPC will track the progress of approved bootstrapping exceptions via the ticket requesting the bootstrap bundling exception.
  
 
=== Conditionalized functionality ===
 
=== Conditionalized functionality ===
Line 18: Line 20:
 
=== Explicit Exceptions ===
 
=== Explicit Exceptions ===
 
Packages which have been given an explicit exception are exempt from these guidelines. See: [[Packaging:No_Bundled_Libraries]]
 
Packages which have been given an explicit exception are exempt from these guidelines. See: [[Packaging:No_Bundled_Libraries]]
 +
 +
[[Category: Packaging guidelines]]

Latest revision as of 16:31, 2 March 2011

Contents

[edit] Packages with Bundled Libraries

Packages which contain bundled libraries (bundled libraries being defined as libraries which exist and are mantained independently, whether or not they are packaged separately for Fedora) must be handled in the following manner:

  • Bundled libraries (and/or their source code) must be explicitly deleted during %prep. Build scripts may need to be patched to deal with this situation. Whenever possible, the patching should be done in a way to conditionalize use of the bundled libraries, so that it can be sent upstream for consideration.
  • It is not necessary to remove bundled libraries from the source tarball unless there is a legal reason to do so
  • Bundled libraries must NEVER end up in a package, even if they are not used.

[edit] Exceptions

There are some notable exceptions:

[edit] Bootstrapping

Packages which depend upon bundled libraries in order to bootstrap a build may retain them for use when the package is built in bootstrapping mode. When the package is built in a normal mode, the normal guidelines apply.

Packages which are built in such a bootstrapping mode must not be tagged for a final release (or pushed as an update for any stable release). FPC will track the progress of approved bootstrapping exceptions via the ticket requesting the bootstrap bundling exception.

[edit] Conditionalized functionality

Packages which bundle specific subsets of third-party source code with the sole purpose of providing functionality that is not available in the system copy, and explicitly conditionalize that use in such a way that if the system copy provides that functionality, the bundled source code is not used, are exempt from the requirement to delete the bundled source code during %prep. Packages in this exception case MUST document this situation in a specfile comment, and verify that the functionality is properly conditionalized with each update.

[edit] Explicit Exceptions

Packages which have been given an explicit exception are exempt from these guidelines. See: Packaging:No_Bundled_Libraries