Bug 742242

Summary: python test-suite will fail during build with new gdbm-1.9.1
Product: [Fedora] Fedora Reporter: Honza Horak <hhorak>
Component: pythonAssignee: Dave Malcolm <dmalcolm>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: dmalcolm, ivazqueznet, jonathansteffan
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-09-30 22:11:28 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
proposed patch to use dbmliborder explicitly
none
proposed patch for new magic values none

Description Honza Horak 2011-09-29 13:44:33 UTC
Description of problem:
After new gdbm-1.9.1 will land in Fedora Rawhide, python won't be able to build with this new version support, if some changes bellow aren't applied.

Version-Release number of selected component (if applicable):
python-2.7.2-11

How reproducible:
every-time

Steps to Reproduce:
1. try to build python with gdbm-1.9.x support
  
Actual results:
test-suite fails during python build, so build fails

Expected results:
test-suite ends successfully so as build

Additional info:
I'll provide some more info and proposed patches in comments.

Comment 1 Honza Horak 2011-09-29 13:59:30 UTC
Created attachment 525575 [details]
proposed patch to use dbmliborder explicitly

We need to define "--with-dbmliborder" explicitly, since it's default value is "ndbm:gdbm:bdb". On the other hand, gdbm is used now, even if the order is by default set to "ndbm:gdbm:bdb". It is so because ndbm.h is not found in /usr/include/ndbm.h, but it is located in /usr/include/gdbm/ndbm.h instead in gdbm-1.8.3. 

In new gdbm-1.9.1 paths to header files are used the same as in upstream -- in /usr/include/ directly (e.g. /usr/include/ndbm.h). 

So, if we pass "gdbm:ndbm:bdb" explicitly, we will get the same result as the present (a bit broken) solution provides.

Comment 2 Honza Horak 2011-09-29 14:08:35 UTC
Created attachment 525582 [details]
proposed patch for new magic values

Since gdbm-1.9.1 uses two new magic values to distinguish format of db file, this should be reflected in whichdb test-suite.

Comment 3 Dave Malcolm 2011-09-29 14:43:18 UTC
(In reply to comment #2)
> Created attachment 525582 [details]
> proposed patch for new magic values
(this is in the upstream bug tracker as: http://bugs.python.org/issue13007 )

Comment 4 Dave Malcolm 2011-09-30 20:48:20 UTC
Building python-2.7.2-16.fc17 for dist-rawhide
Task info: http://koji.fedoraproject.org/koji/taskinfo?taskID=3394493

Building python3-3.2.2-7.fc17 for dist-rawhide
Task info: http://koji.fedoraproject.org/koji/taskinfo?taskID=3394565