[PyQt] Re: Updates to sipdistutils.py

Giovanni Bajo rasky at develer.com
Sun Nov 15 14:27:47 GMT 2009


Il giorno dom, 15/11/2009 alle 13.13 +0000, Phil Thompson ha scritto:
> On Sun, 15 Nov 2009 13:36:52 +0100, Giovanni Bajo <rasky at develer.com>
> wrote:
> > Il giorno dom, 15/11/2009 alle 11.39 +0000, Phil Thompson ha scritto:
> >> On Fri, 13 Nov 2009 20:53:34 +0100, Giovanni Bajo <rasky at develer.com>
> >> wrote:
> >> > Hi Phil,
> >> > 
> >> > please find attached an improved sipdistutils.py, and the diff against
> >> > current version for reference.
> >> > 
> >> > Modifications:
> >> > 
> >> >  * Added command line option to pass arguments to sip. Now you can for
> >> > instance do: "python setup.py build --sip-opts='-e'" to activate
> >> > exceptions. Or you can put the "sip-opts='-e'" in a local
> distutils.cfg
> >> > file in your source directory.
> >> > 
> >> >  * Fixed invocation of sip.exe under Windows. I still maintain that
> >> > siputils.py should put the full pathname of sip, including extension,
> >> > under the "sip_bin" in the configuration, but a quick workaround is
> >> > needed anyway to make sipdistutils work with all versions of sip.
> >> 
> >> I consider the extension an implementation detail that shouldn't be
> >> exposed. 
> > 
> > I need the full pathname to compute the checksum. How do I suggest I
> > find it out then? Should I iterate over supported extensions until I
> > find the correct one?
> 
> I don't think it is a sensible approach in the first place.

Thus, I'm not sure what I am supposed to do.

What are you giving in by putting the full pathname in the build-time
generated sipconfig.py? That entry in the dictionary is used only by
build scripts that want to invoke sip directly; how are you making any
difference for them by exposing the sip binary extension? If it changes
in SIP v5, let it change; when installing sip v5, you will generate a
new siputils.py with the new full pathname on it, whichever it is.

I don't see it as exposing an implementation detail on which users might
accidentally rely; on the contrary, by *not* exposing it, you're making
some users (like sipdistutils.py) rely on the current value (.exe).

-- 
Giovanni Bajo
Develer S.r.l.
http://www.develer.com




More information about the PyQt mailing list