Comment 12 for bug 596000

Revision history for this message
Thiago Teixeira (tvst) wrote :

Hi, Maks. The decision to use a makefile rather than distutils was made based on a few reasons:

1) The distutils system stores Cardapio in a "site-packages" folder, the location of which can vary from distribution to distribution, and from Python version to Python version. The advantage of using the makefile here, is that we can instead install Cardapio in a well-known location, which makes it easier for us to handle some types of bug reports.

2) The makefile solution also gives you the option to *uninstall* Cardapio, which distutils does not. This is an area where distutils is severely lacking, IMO. I'm sure this could be hacked together somehow in the setup.py, but it would still be a hack, and prone to bugs.

3) The distutils system automatically makes software available as a module inside of Python, and AFAIK there is no way around it. This is the desirable behavior when you're installing new Python libraries such as matplotlib, opencv, pygame and so on, but makes no sense for actual applications. So the advantage of the makefile system here is that it keeps people's module lists uncluttered, and avoids giving developers the impression that Cardapio should be accessed as a library (which it should not).

4) Finally, the makefile system integrates better with Debian packages and Ubuntu PPAs. Sad but true.

Also, although you mention that distutils works with no changes no matter which version of Python you're using, so does our current makefile AFAIK.

Hopefully this answers you questions.