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