#692 Requesting clarification on static/bundling guidelines
Closed: accepted 3 years ago Opened 3 years ago by jhogarth.

Guideline page needing clarification:

https://fedoraproject.org/wiki/Packaging:Guidelines#Statically_Linking_Executables

Explanation

This section states that any static linking requires an exception, which mirrored the older bundling guidelines of any bundling requiring an exception.

However since the bundling changes it appears to create a conflict with:

https://fedoraproject.org/wiki/Packaging:Guidelines#Bundling_and_Duplication_of_system_libraries

The review which has brought up the issue to be clarified is:

https://bugzilla.redhat.com/show_bug.cgi?id=1450590

The watchman application, which would be useful to have in Fedora, explicitly statically links against libraries that they have modified (or written) for their own use. The developer states that it would be very difficult for them to unbundle and link to dynamic versions, assuming the fork of the libraries involved could be reconciled that way.

https://github.com/facebook/watchman/issues/474#issuecomment-303563584

In this instance is bundling considered acceptable, and if so the static linking section could do with some alignment with the bundling section on acceptable criteria.


I guess it's supposed to be somewhat obvious that the guideline is forbidding linking against static libraries provided by other packages. Hence the mention of making sure you're aware of updates to those other packages, since if you link against them statically you will have to rebuild to pick up security fixes. I don't believe there was ever an intention of restricting how binaries in a single package link against other build artifacts of that package. I've never read it any other way.

That said, the page could certainly use a cleanup. Maybe I'll make a quick pass over it before the meeting.

Metadata Update from @tibbs:
- Issue tagged with: meeting

3 years ago

We discussed this at this weeks meeting (http://meetbot.fedoraproject.org/fedora-meeting-1/2017-06-22/fpc.2017-06-22-10.00.txt):

  • x#692 Requesting clarification on static/bundling guidelines
    (geppetto, 16:20:09)
  • Everyone agrees wording applies to static linking to other packages,
    not within your package build (geppetto, 16:32:11)
  • ACTION: Change wording from "need approval from committee" to
    "SHOULD NOT" (+1:6, 0:0, -1:0) (geppetto, 16:35:55)

Metadata Update from @james:
- Issue untagged with: meeting
- Issue assigned to tibbs
- Issue tagged with: writeup

3 years ago

Announcement text:

The section on statically linking executables has been completely revamped to remove the need for committee intervention and to make it more obvious that there is no prohibition on statically linking to build artifacts within a single package.
https://fedoraproject.org/wiki/Packaging:Guidelines#Statically_Linking_Executables
https://pagure.io/packaging-committee/issue/692

Metadata Update from @tibbs:
- Issue untagged with: writeup
- Issue tagged with: announce

3 years ago

Metadata Update from @tibbs:
- Issue untagged with: announce
- Issue close_status updated to: accepted
- Issue status updated to: Closed (was: Open)

3 years ago

Login to comment on this ticket.

Metadata