pygame (Re: (2/2) Summary - Broken dependencies in Fedora Extras - 2006-12-10)

Michael Schwendt bugs.michael at gmx.net
Sun Dec 10 19:24:52 UTC 2006


On Sun, 10 Dec 2006 08:16:36 -0800, Christopher Stone wrote:

> On 12/10/06, Nicolas Mailhot wrote:
> > Le dimanche 10 décembre 2006 à 07:50 -0800, Christopher Stone a écrit :
> > > On 12/10/06, Fedora Extras repoclosure wrote:
> > > ======================================================================
> > > > Broken packages in fedora-extras-development-x86_64:
> > > >     pygame-1.7.1-9.fc7.1.i386  requires  libpython2.5.so.1.0
> > >
> > > Erm, how the heck did pygame.i386 get into the x86_64 repo?!?  I don't
> > > think I have the powerz to fix this?  Help anyone?
> >
> > The x86_64 repo is multilib by default now IIRC
>
> This does not help me.  Something is afoot at the Circle K and I do
> not have the ability to fix this.  I'm going to need help for sure on
> this one.
 
Rest assured, fixing it is easy at the repository level. As a last resort
pygame-devel would be put onto the multilib black-list. But something
about it smells like a packaging bug.

pygame description reads:

    Pygame is a set of Python modules designed for writing games. It is
    written on top of the excellent SDL library. This allows you to create
    fully featured games and multimedia programs in the python language.
    Pygame is highly portable and runs on nearly every platform and
    operating system.

Okay, so it's for the Python language. Then what is pygame-devel?
pygame-devel description says:

    This package contains headers required to build applications that
    use pygame.

Uhm, headers for Python? Doubtful. Let's see:

$ rpmls pygame-devel|grep include
drwxr-xr-x  /usr/include/python2.4/pygame
-rw-r--r--  /usr/include/python2.4/pygame/fastevents.h
-rw-r--r--  /usr/include/python2.4/pygame/font.h
-rw-r--r--  /usr/include/python2.4/pygame/mixer.h
-rw-r--r--  /usr/include/python2.4/pygame/pygame.h

That's C, not Python! And pygame.h contains a description of what it is.
It contains the definitions for writing pygame extension modules. So, are
these just macros, or are there libraries you are supposed to link your C
code to?

$ rpmls pygame|grep .so$
-rwxr-xr-x  /usr/lib/python2.4/site-packages/pygame/base.so
-rwxr-xr-x  /usr/lib/python2.4/site-packages/pygame/cdrom.so
-rwxr-xr-x  /usr/lib/python2.4/site-packages/pygame/constants.so
-rwxr-xr-x  /usr/lib/python2.4/site-packages/pygame/display.so
-rwxr-xr-x  /usr/lib/python2.4/site-packages/pygame/draw.so
-rwxr-xr-x  /usr/lib/python2.4/site-packages/pygame/event.so
-rwxr-xr-x  /usr/lib/python2.4/site-packages/pygame/fastevent.so
-rwxr-xr-x  /usr/lib/python2.4/site-packages/pygame/font.so
-rwxr-xr-x  /usr/lib/python2.4/site-packages/pygame/image.so
-rwxr-xr-x  /usr/lib/python2.4/site-packages/pygame/imageext.so
-rwxr-xr-x  /usr/lib/python2.4/site-packages/pygame/joystick.so
-rwxr-xr-x  /usr/lib/python2.4/site-packages/pygame/key.so
-rwxr-xr-x  /usr/lib/python2.4/site-packages/pygame/mixer.so
-rwxr-xr-x  /usr/lib/python2.4/site-packages/pygame/mixer_music.so
-rwxr-xr-x  /usr/lib/python2.4/site-packages/pygame/mouse.so
-rwxr-xr-x  /usr/lib/python2.4/site-packages/pygame/overlay.so
-rwxr-xr-x  /usr/lib/python2.4/site-packages/pygame/rect.so
-rwxr-xr-x  /usr/lib/python2.4/site-packages/pygame/rwobject.so
-rwxr-xr-x  /usr/lib/python2.4/site-packages/pygame/sndarray.so
-rwxr-xr-x  /usr/lib/python2.4/site-packages/pygame/surface.so
-rwxr-xr-x  /usr/lib/python2.4/site-packages/pygame/surfarray.so
-rwxr-xr-x  /usr/lib/python2.4/site-packages/pygame/surflock.so
-rwxr-xr-x  /usr/lib/python2.4/site-packages/pygame/time.so
-rwxr-xr-x  /usr/lib/python2.4/site-packages/pygame/transform.so

Aha, there are the modules fastevent.so, font.so, mixer.so, but no
libraries in run-time linker's search path, so nothing for using pygame
with a C API. Seems pygame-devel really is the C API for writing pygame
_extensions_, not for using pygame from within C.

Why does it require the base package then? Just because Python example
code is included and needs pygame?

Suggested fix: Eliminate pygame-devel, move the C headers into the main
pygame package, which contains development documentation already anyway
and which is a Python development package. Move the examples into a
pygame-examples package.

And what the following? None of it seems to run:
/usr/share/doc/pygame-devel-1.7.1/examples/macosx





More information about the fedora-extras-list mailing list