
Le mardi 30 septembre 2008 à 17:08 +0100, Chris Withers a écrit :
Josselin Mouette wrote:
It doesn’t have to go away per se, but we need proper ways to deal with incompatible changes in the interfaces.
Well, the generally accepted way seems to be to increase the major version number...
This information is not accessible directly at import time. If you want to rely on it to check the API compatibility, you’ll end up doing the horrible things pygtk and gst-python did. And believe me, that will not be helpful.
In Python libraries, this is not possible without changing the code, since the file name and the module name are the same.
The distribution name and package/module name do not have to be the same...
Indeed, but if we change the package name without changing the file name, we have to make both packages conflict with each other. This works for distribution packages, but it doesn’t help for third-party addons, and it can make things complicated if two packages need different APIs.
It will suffice, but we will not be able to manage it in distributions if you allow too many weird things to be specified in these dependencies.
Explain "too many weird things"...
I showed already two examples: versioned provides and exact dependencies. That’s just after thinking about it for 5 minutes; if we want it to really work, we need to thoroughly think of what exact kind of information we are able to use. Cheers, -- .''`. : :' : We are debian.org. Lower your prices, surrender your code. `. `' We will add your hardware and software distinctiveness to `- our own. Resistance is futile.