Bug 677917

Summary: fontforge-20100501-python27.patch breaks python module
Product: [Fedora] Fedora Reporter: Akira TAGOH <tagoh>
Component: fontforgeAssignee: Kevin Fenzi <kevin>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: fonts-bugs, kevin
Target Milestone: ---Keywords: Regression
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: fontforge-20100501-7.fc15 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-03-02 01:53:13 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:
Bug Depends On:    
Bug Blocks: 617261, 631402, 631412    

Description Akira TAGOH 2011-02-16 09:35:17 UTC
Description of problem:
This broken patch prevents to build fonts packages reported as FTBFS issues.
As per some debugging on python module for fontforge, PyObject still has Py_TPFLAGS_INT_SUBCLASS for the integer object. but after applying this patch, it's checking Py_TPFLAGS_LONG_SUBCLASS for the integer object. then seeing the strange error, "Index must be an integer or a string". even though giving an integer as index.

Version-Release number of selected component (if applicable):
fontforge-20100501-5.fc14.x86_64
python-devel-2.7-8.fc14.1.x86_64

How reproducible:
always

Steps to Reproduce:
1.try to build apanov-heuristica-fonts package say
2.
3.
  
Actual results:
fontforge script fails due to the "Index must be an integer or a string"

Expected results:
should be no errors

Additional info:
gdb logs here:


Breakpoint 2, PyFF_FontIndex (self=<fontforge.font at remote 0xbaec30>, index=
    65) at python.c:14950
14950   static PyObject *PyFF_FontIndex( PyObject *self, PyObject *index ) {
(gdb) p/x index->ob_type->tp_flags
$18 = 0x8e15fb

In intobject.h:

#define PyInt_Check(op) \
                 PyType_FastSubclass((op)->ob_type, Py_TPFLAGS_INT_SUBCLASS)

In longobject.h:

#define PyLong_Check(op) \
                PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_LONG_SUBCLASS)

In object.h:

#define PyType_HasFeature(t,f)  (((t)->tp_flags & (f)) != 0)
#define PyType_FastSubclass(t,f)  PyType_HasFeature(t,f)

#define Py_TPFLAGS_INT_SUBCLASS         (1L<<23)
#define Py_TPFLAGS_LONG_SUBCLASS        (1L<<24)

Comment 1 Kevin Fenzi 2011-02-17 03:46:35 UTC
Can you try this scratch build: 

http://koji.fedoraproject.org/koji/taskinfo?taskID=2845654

and confirm it fixes the issue?

Comment 2 Akira TAGOH 2011-02-17 09:24:07 UTC
the build itself works fine. I don't do the sanity check of the generated fonts though.

Comment 3 Fedora Update System 2011-02-17 16:18:59 UTC
fontforge-20100501-7.fc15 has been submitted as an update for Fedora 15.
https://admin.fedoraproject.org/updates/fontforge-20100501-7.fc15

Comment 4 Fedora Update System 2011-02-17 22:24:09 UTC
fontforge-20100501-7.fc15 has been pushed to the Fedora 15 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update fontforge'.  You can provide feedback for this update here: https://admin.fedoraproject.org/updates/fontforge-20100501-7.fc15

Comment 5 Fedora Update System 2011-02-21 21:27:57 UTC
fontforge-20100501-7.fc14 has been submitted as an update for Fedora 14.
https://admin.fedoraproject.org/updates/fontforge-20100501-7.fc14

Comment 6 Fedora Update System 2011-03-02 01:53:01 UTC
fontforge-20100501-7.fc14 has been pushed to the Fedora 14 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 7 Fedora Update System 2011-03-03 02:50:03 UTC
fontforge-20100501-7.fc15 has been pushed to the Fedora 15 stable repository.  If problems still persist, please make note of it in this bug report.