To package a python program for maemo, you just need to do in scratchbox the same as you would do on your desktop [using distutils and CDBS]. You add a simple setup.py file to the project, a minimal debian/rules, a couple of details in the debian/control file, run “dpkg-buildpackage”…. and it is done. Right?

No. it won’t work.

For some reason, inside scratchbox some paths are modified and the final .deb package install the files under “/scratchbox/tools/bin” and “/scratchbox/tools/share” (instead of the usual “/usr/bin” and “/usr/share”), so the package is somehow installable in scratchbox but useless for the real devices

I didn’t find any solution on the net, and It took me quite some time to figure out how to solve it. After a hundred tests with different CDBS rules and combinations, it was so easy as add a setup.cfg file on the root of my project with this content:

[install_scripts]
install_dir=debian/<package>/usr/bin

[install_data]
install_dir=debian/<package>/usr/

After that, “dpkg-buildpackage -rfakeroot” generates a correct package, that can be uploaded to extras!

About these ads