Bug 556092

Summary: python : does not adhere to Static Library Packaging Guidelines
Product: [Fedora] Fedora Reporter: Michael Schwendt <bugs.michael>
Component: pythonAssignee: Dave Malcolm <dmalcolm>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: rawhideCC: dmalcolm, ivazqueznet, james.antill, jonathansteffan
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-01-18 22:54:50 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Michael Schwendt 2010-01-16 14:47:34 UTC
The package is in need of an update because it does not adhere to
the guidelines for packaging static libraries:

  http://fedoraproject.org/wiki/Packaging:Guidelines#Packaging_Static_Libraries

The -devel package contains both the shared and the static build of
a library. That makes it possible to link statically with the -devel
package as a build requirement instead of having to build-require a
special-purpose -static subpackage.

Correct would be to either disable/delete the static libraries at
build-time, or to %exclude them in the %files section, or to split off
a -static subpackage (if there is a compelling reason as why the static
libs should be made available).

Please consult the guidelines for the details.

[...]

python-devel
    /usr/lib/python2.6/config/libpython2.6.so  <=>  /usr/lib/python2.6/config/libpython2.6.a

Comment 1 Dave Malcolm 2010-01-18 19:14:37 UTC
configure: WARNING: unrecognized options: --disable-static

Makefile.pre.in has:
  all:             build_all
  build_all:       $(BUILDPYTHON) oldsharedmods sharedmods
  $(BUILDPYTHON):  Modules/python.o $(LIBRARY) $(LDLIBRARY)
where $(LIBRARY) is the static library target, $(LDLIBRARY) the dynamic one.

We could change things to not build it, or we could simply delete it after linking: I've chosen to patch the Makefile.pre.in to not build it.

This also affects python3; the Makefiles are similar, and an analagous fix can be applied.

Fix built into rawhide for python 2 in python-2.6.4-6.fc13: http://koji.fedoraproject.org/koji/taskinfo?taskID=1930184
Fix built into rawhide for python 3 in python3-3.1.1-17.fc13: http://koji.fedoraproject.org/koji/taskinfo?taskID=1930068