[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Recursive dependencies on pythonX.Y-foo practices



On Fri, 11 Dec 2009 14:58:47 +0100 Loïc Minier <lool@dooz.org> wrote:
>On Thu, Dec 10, 2009, Josselin Mouette wrote:
>> Rationale: let s consider a package foo that uses python2.4 directly
>> (with a python2.4 shebang), and depends on python2.4-foo, provided by
>> python-foo, which in turn depends on python-bar. If python-bar is
>> rebuilt with XS-P-V: >= 2.5, it will stop providing python2.4-bar, but
>> python-foo will not change, and will still provide python2.4-foo. Then
>> foo will simply stop working.
>> 
>> This is why the usage of pythonX.Y-foo dependencies should not be
>> recommended. Packages providing public modules should all be in one of
>> these cases: 
>>       * No Provides: ${python:Provides} at all. 
>>       * The package has no dependency on other Python modules. 
>>       * The package depends on all pythonX.Y-bar, for X.Y in
>>         ${python:Versions} and bar in all dependencies in other modules.
>> 
>> Since the last solution is very suboptimal (it requires simultaneous
>> uploads and testing migration for all entangled packages), it should be
>> avoided   and anyway we should discourage use of a specific pythonX.Y
>> version.
>
> I agree that in general we want to avoid using a specific pythonX.Y
> version in packages.  I also agree that there is a problem with the
> current situation which doesn't ensure that pythonX.Y-foo really works
> when bar changes.

...

Snip lots of good discussion.

I think this is definitely a problem area for the status quo and should get fixed.  I don't think a fix for this should go into this first policy update since we are mostly just trying to document the current situation.

Scott K


Reply to: