Tom Mueller wrote:
...
However, I still maintain that this change is an incompatible change to the ImageInterface interface. (I'm just calling a spade a spade.) For example, if you had a class:
...
Here, I haven't said anything about what the type of the a object actually has to be, and with Python, there actually isn't any requirement that object passed in to __init__ have any particular type, as long as it implements the right methods.

This is exactly what is happening with the ImageInterface class with this change. This isn't about whether ProgressTracker is public or not. It is about what is happening to ImageInterface.

Now if all of ImageInterface isn't considered "public", specifically the 3rd parameter of the __init__ method, then I stand corrected. But at this point, I thought that all of ImageInterface was supposed to be "public".

I think we're just arguing semantics at this time.

All of *ImageInterface* is public, but progresstracker is not part of ImageInterface.

The main points here are that:

* the public client API has never documented what it expects for a progresstracker object and has always had a loosely coupled relationship with it

* changes to the progresstracker object currently do not cause a change in API version

* changes to the progresstracker object are not documented as they are for pkg.client.api

* the docstring in the progresstracker class only says that subclasses must implement all output methods, but doesn't say why or how, or anything about versioning, etc.

So even if we were to agree that the public client API was incompatibly changing (which I do not), it doesn't matter as changes to progresstracker are not currently documented nor considered part of the public client API.

I realise the argument you're making is that the usage of the tracker object provided by clients by pkg.client.api is incompatibly changing, but I can't do anything about that. That's what the new bug I'm opening to resolve this is about.

I'm not certain what you want me to do here or what the point of all of this is.

Cheers,
--
Shawn Walker
_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss

Reply via email to