From cdcb32e95f9114e17a643e7bafa0f774e43a08a2 Mon Sep 17 00:00:00 2001 From: Tim Waugh Date: Jun 23 2010 12:10:04 +0000 Subject: - The python sub-package now requires the exactly-matching main package (bug #605169). - Fixed strict aliasing warnings (bug #605170). --- diff --git a/libieee1284-strict-aliasing.patch b/libieee1284-strict-aliasing.patch new file mode 100644 index 0000000..fda890a --- /dev/null +++ b/libieee1284-strict-aliasing.patch @@ -0,0 +1,60 @@ +diff -up libieee1284-0.2.11/src/ieee1284module.c.strict-aliasing libieee1284-0.2.11/src/ieee1284module.c +--- libieee1284-0.2.11/src/ieee1284module.c.strict-aliasing 2004-02-03 11:50:57.000000000 +0000 ++++ libieee1284-0.2.11/src/ieee1284module.c 2010-06-23 12:36:05.093026807 +0100 +@@ -28,6 +28,17 @@ typedef struct { + struct parport *port; + } ParportObject; + ++static PyObject * ++Parport_new (PyTypeObject *type, PyObject *args, PyObject *kwds) ++{ ++ ParportObject *self; ++ self = (ParportObject *) type->tp_alloc (type, 0); ++ if (self != NULL) ++ self->port = NULL; ++ ++ return (PyObject *) self; ++} ++ + static int + Parport_init (ParportObject *self, PyObject *args, PyObject *kwds) + { +@@ -562,6 +573,23 @@ static PyTypeObject ParportType = { + 0, /* tp_as_buffer */ + Py_TPFLAGS_DEFAULT, /* tp_flags */ + "parallel port object", /* tp_doc */ ++ 0, /* tp_traverse */ ++ 0, /* tp_clear */ ++ 0, /* tp_richcompare */ ++ 0, /* tp_weaklistoffset */ ++ 0, /* tp_iter */ ++ 0, /* tp_iternext */ ++ Parport_methods, /* tp_methods */ ++ 0, /* tp_members */ ++ Parport_getseters, /* tp_getset */ ++ 0, /* tp_base */ ++ 0, /* tp_dict */ ++ 0, /* tp_descr_get */ ++ 0, /* tp_descr_set */ ++ 0, /* tp_dictoffset */ ++ (initproc)Parport_init, /* tp_init */ ++ 0, /* tp_alloc */ ++ Parport_new, /* tp_new */ + }; + + static PyObject * +@@ -625,14 +653,9 @@ initieee1284 (void) + PyObject *d = PyModule_GetDict (m); + PyObject *c; + +- ParportType.tp_new = PyType_GenericNew; +- ParportType.tp_init = (initproc) Parport_init; +- ParportType.tp_getset = Parport_getseters; +- ParportType.tp_methods = Parport_methods; + if (PyType_Ready (&ParportType) < 0) + return; + +- Py_INCREF (&ParportType); + PyModule_AddObject (m, "Parport", (PyObject *) &ParportType); + + pyieee1284_error = PyErr_NewException("ieee1284.error", NULL, NULL); diff --git a/libieee1284.spec b/libieee1284.spec index f9becf9..624e849 100644 --- a/libieee1284.spec +++ b/libieee1284.spec @@ -6,6 +6,7 @@ License: GPLv2+ Group: System Environment/Libraries URL: http://cyberelk.net/tim/libieee1284/ Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.bz2 +Patch1: libieee1284-strict-aliasing.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: xmlto, python-devel @@ -23,6 +24,7 @@ developing applications that use libieee1284. %package python Summary: Python extension module for libieee1284 +Requires: %{name} = %{version}-%{release} Group: System Environment/Libraries %description python @@ -31,6 +33,7 @@ use 'import ieee1284'. %prep %setup -q +%patch1 -p1 -b .strict-aliasing %build touch doc/interface.xml @@ -68,6 +71,11 @@ rm -rf %{buildroot} %postun -p /sbin/ldconfig %changelog +* Wed Jun 23 2010 Tim Waugh 0.2.11-9 +- The python sub-package now requires the exactly-matching main + package (bug #605169). +- Fixed strict aliasing warnings (bug #605170). + * Fri Jul 24 2009 Fedora Release Engineering - 0.2.11-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild