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

Re: More dh_python questions



Hi,

        I have a growing suspicion that dh_python does not do the
 right thing for private pure Python modules in the presence of
 XS-Python-version

        This is how dh_python behaves:
*** PRIVATE PURE MODULE:
      If there is a .py file, and it is in a private dir. only one
      version is supported, even though the private module can be
      recompiled for any new version.  
****    Add dir to $private_dirs_list{"$dir"}  (for recompilation)
****    add to the deps var if no -V option is given.
*****     If versions_field is unset (so precedence goes to extensions), 
******         if $min_version and min_version=max_version (1 version supported)
                    $versions_field = $min_version
******         else $versions_field = current ?????
****    or set $verdeps{X.Y} if only version X.Y is supported (-V)
*****     Each entry is in the verdeps hash gets added to depends
****    No pyversions_found.
******    Set Versions to $versions_field

        So, if I have a package with a private pure python module, and
 I have set XS-Python-Version to suggest that a ubset of python
 versions are supported, and I have not used -V (since more than one
 python version is to be supported).

        What happens?
 Case A:
        I have only one version in  XS-Python-Version (say, 2.4)
,----
| Package: python-foo
| XB-Python-Version: X.Y
| Provides: pythonX.Y-foo
`----
        But the package does not depend on  pythonX.Y, which I think
        it should (since we have stated that only X.Y is supported).

 Case B:
        There is no lower bound, but there is an upper bound
,----
| Package: python-foo
| XB-Python-Version: 2.3
| Provides: python2.3-foo
`----

        Hmm. I suppose this is OK, since if we do not support the
 current version,  we should not be uploading the package.

 Case C:
        I have a range in the XS-Python-Version

     Case C1: The current version is not supported (say, I support 2.4
     and 2.5)
,----
| Package: python-foo
| XB-Python-Version: 2.3
| Provides: python2.3-foo
`----
        This is wrong. 

     Case C2: The current version is supported
,----
| Package: python-foo
| XB-Python-Version: 2.3
| Provides: python2.3-foo
`----
        This is OK as well.

        So, I posit that dh_python, as currently coded, does not
 handle case A and C1 correctly.

        manoj
-- 
Sex is like air.  It's only a big deal if you can't get any.
Manoj Srivastava   <srivasta@debian.org>  <http://www.debian.org/%7Esrivasta/>
1024D/BF24424C print 4966 F272 D093 B493 410B  924B 21BA DABB BF24 424C



Reply to: