From Fedora Project Wiki

mNo edit summary
Line 18: Line 18:


* If a library you depend on '''only''' provides a static version your package can link against it provided that you Build''''''Require the *-devel subpackage.  Build''''''Requiring *-devel causes your package to link against the dynamic version once the library starts providing one and your package is rebuilt.
* If a library you depend on '''only''' provides a static version your package can link against it provided that you Build''''''Require the *-devel subpackage.  Build''''''Requiring *-devel causes your package to link against the dynamic version once the library starts providing one and your package is rebuilt.
[[Category:Archived packaging guideline drafts]]

Revision as of 19:56, 21 February 2009

This policy has been ratified and added to the Packaging Guidelines

Changes to the Static Library Policy

  • There is a common case for static linking that should be excepted
  • Adding yourself to the initialcc of any library you're linking to statically makes you more aware of security issues

Updated Policy

Staticly Linking Executables

  • Static linkage is a special exception and should be decided on a case-by-case basis. The packager must provide rationale for linking statically, including precedences where available, to FESCO for approval.
  • If you link statically against a library, add yourself to the initialcc list for the library so you can watch for any security issues or bug fixes for which you'd want to rebuild your package against a new version of the library. Here are instructions for making that request.

Programs which don't need to notify FESCo

  • Programs written in OCaml do not support dynamic linkage to OCaml libraries. Because of that deficiency this requirement is waived. (OCaml code that calls out to libraries written in C should still link dynamically to the C libraries, however.)
  • If a library you depend on only provides a static version your package can link against it provided that you Build'Require the *-devel subpackage. Build'Requiring *-devel causes your package to link against the dynamic version once the library starts providing one and your package is rebuilt.