Distributing Python-programs to Ubuntu users

Ben Finney ben+python at benfinney.id.au
Fri Sep 25 02:39:10 EDT 2009


Olof Bjarnason <olof.bjarnason at gmail.com> writes:

> I write small games in Python/PyGame. I want to find a way to make a
> downloadable package/installer/script to put on my webpage, especially
> for Ubuntu users.

As a program developer, you should be less concerned with the specifics
of any particular distribution, and aim first to make your work easily
adopted by those with motivation for that particular distribution.

This goal is made easier for program developers by standards and
specifications aimed at that purpose. A major one is the Filesystem
Hierarchy Standard <URL:http://www.pathname.com/fhs/>, and desktop
application programs should comply with the relevant specifications at
<URL:http://www.freedesktop.org/wiki/Specifications>.

> I've skimmed a couple of tutorials on how to generate .deb-files, but,
> wow, it's a whole new skill set to do that!

Right. A major benefit of the Debian (and hence Ubuntu) operating system
is a detailed, comprehensive policy on how to package the works for
integration with the whole operating system, and strict enforcement of
that policy.

That benefit comes at a cost: Packaging the work in such a way that it
complies with the Debian policy requires a certain amount of study and
discipline, and so is not a task that you should take on lightly. It's
often much better to form a relationship with someone who knows the
topic well who is also motivated to package your software. That person
(or group) becomes the “maintainer” of your work in Debian, and as you
have noted has a big enough job as it is.

Likewise for Ubuntu, Fedora, etc. to the extent that the distribution
has such a packaging policy.

> Does anyone have any hint on a more economic way of creating
> single-file distribution packages for Python+PyGame projects? Maybe
> some GUI-tool that automates the .deb file creation process, but
> targetting Python specifically and not C++.

Such tools do exist, but in my opinion they do more harm than good.
Their results cannot be anywhere near as suitable as the result of
someone who knows both your specific work and the relevant policy.
Better to lay solid groundwork by conforming firstly to the
distribution-agnostic specifications.

A sufficiently useful program that is also conformant with relevant
standards will be highly attractive to skilled packagers, and they will
be grateful to not have to fight against your work to get it to
integrate properly.

-- 
 \     “There is something wonderful in seeing a wrong-headed majority |
  `\           assailed by truth.” —John Kenneth Galbraith, 1989-07-28 |
_o__)                                                                  |
Ben Finney



More information about the Python-list mailing list