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

Re: Packaging an application with multiple Python versions.



On Tue, Feb 07, 2006 at 06:31:20PM +0530, Kumar Appaiah wrote:
| Dear Debian-Pythoners,
| I want to package HarvestMan for the near future. From the website:
| http://harvestman.freezope.org
| "HarvestMan is the only public-domain, multithreaded web-crawler
| program written in the Python language. HarvestMan is released under
| the GNU General Public License."
| 
| Now, I have packages ready: python-harvestman, python2.3-harvestman
| and python2.4-harvestman. I have not filed an ITP yet, because I would
| like to get two things clarified.
| 
| 1.The install script provided in the package adds a symbolic link to
|   the executable script present in
|   /usr/lib/python2.x/site-packages/HarvestMan/harvestman.py in
|   /usr/bin/harvestman. Should I do this in my package? If so, how do I
|   handle the case where the Python 2.3 and 2.4 packages both want to
|   be installed simultaneouly?

I think the alternatives system would be appropriate here.  Or you
could use the 'divert' aspect of dpkg so that the 2.4 package diverts
the 2.3's /usr/bin/harvestman file when both are installed (vim uses
this to supply the desired 'vim' binary when you add the -gtk or
-python variants).

| 2.The Python 2.3 and 2.4 packages do the same thing, but use of Python
|   2.4 allows the program to function with performance improvement. Do
|   I need to take this into account? Advice the user?
| 
| Also, I do not think it would be correct to add them as
| "Conflicts", as both can peacefully coexist. Comments on this?

HarvestMan is an application, not a library, right?  If so then I
think just one version is adequate.  This relates to your question
about upstream recommending using the latest stable python (2.4.1).  I
would suggest just providing one package ('harvestman') that depends
on python2.4.

If HarvestMan is also a library and provides an API that is intended
to be imported and used directly by other applications, then the
situation is different and you would be right in providing two
packages with no Conflicts.  The difference is that some 4th and 5th
party application (that uses the python-harvestman library) may
require only python 2.3 or only 2.4 and you want to allow a debian
system to have both of those applications installed.

-D

-- 
He who walks with the wise grows wise,
but a companion of fools suffers harm.
        Proverbs 13:20
 
www: http://dman13.dyndns.org/~dman/            jabber: dman@dman13.dyndns.org

Attachment: signature.asc
Description: Digital signature


Reply to: