[csw-maintainers] Distributing a Python library with GAR, pkgutil, and others

Maciej (Matchek) Blizinski maciej at opencsw.org
Fri Jan 22 09:07:00 CET 2010


When I started writing Python code for OpenCSW such as comparepkg,
submitpkg and build_sun_catalog, I started extracting common classes
and functions into a library, which is now named opencsw.py:

https://opencsw.svn.sourceforge.net/svnroot/opencsw/utilities/

The idea behind a library is to reuse code.  I'd like now to use
opencsw.py for checkpkg, but I don't know what's the best way of
distributing it.  For it to be distributed the same way that GAR is,
I'd have to make a copy and commit it to the gar repository.
Otherwise, I could make a package and make GAR depend on it.  But this
would make it more difficult to develop the library, because I'd have
to go through the long cycle of develop-test-release-install.  When
I'm developing something relying on opencsw.py, I'm usually also
updating the library and adding new functions, so freezing it would be
a problem for development.

I could add a svn:externals to mgar/v2/... but this would mean that
each time a code checkout/update is make, two slow and annoying
svn:externals are downloaded.  I'd like to avoid that.

To recap:
- make a copy of the file - easy to do now, but hard to maintain in the future
- make a package - makes it hard to develop code
- svn:externals - easy to do, easy to develop and easy to maintain,
but slow/annoying for people to use

Do you have any other/better ideas?

Maciej



More information about the maintainers mailing list