I'm an old hand at software development, but not so experienced with packaging. I've built one dpkg before, but it wasn't a source package.
I'm working on getting an application submitted to the Ubuntu app store. The documentation on packaging is a bit on the vague side, saying not much more than that it needs to be packaged in the "Debian source package format":
I'm sure I could muddle through putting a Debian source package tarball together, but there are a few things I wonder about:
- How is the 32-vs-64 bit thing handled? Do they take source and build apps from both?
- How is supporting different versions of Ubuntu handled — 10.04, 10.10, 11.04, 11.10, etc?
- How are dependencies handled. If, for instance, my app depends on SDL, how do I specify that?
- If I don't want to distribute source code for my application (which is a proprietary license), is there a clean way to indicate that source shouldn't go with the app?
- If I'm not using autoconf/automake, does my Makefile need to be set up in a particular way, or are the autotools required?
I imagine that the Ubuntu folks probably take the source and build it for each of the different platforms and architectures that they support buying apps for, but since there's no apparent way in the submit process to indicate what the app runs with (i.e. requires GTK3 and 64-bit support, or Intel-only with no ARM support), I can only hope that stuff can be specified in the source format.
Is there any good, thorough documentation specifically on source package creation you can point me to?