Monday, April 29, 2024
7
rated 0 times [  7] [ 0]  / answers: 1 / hits: 2003  / 3 Years ago, thu, june 17, 2021, 11:51:31

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":



http://developer.ubuntu.com/publish/my-apps-packages/



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?


More From » application-development

 Answers
0

On the page you link to it says:




Canonical provides this packaging service to you free of charge.




and goes on to explain how to lay out the tarball containing your binaries.



If you create such a tarball and submit it via MyApps then all the packaging will be done for you. As it says at the bottom you can provide a source package if you like, but it's not required. Note that this is specific to closed-source or for-pay apps, anything that is libre and gratis has a different process currently.



As for your other questions:




How is the 32-vs-64 bit thing handled?




You can just upload 32-bit if you like as that works on 64-bit too. If you want to upload 32-bit and 64-bit then build it twice and put the results in "i386" and "amd64" subdirectories.




How is supporting different versions of Ubuntu handled -- 10.04, 10.10, 11.04, 11.10, etc?




You can specify which versions of Ubuntu your uploaded binaries work for as part of the submission process.




How are dependencies handled. If, for instance, my app depends on SDL, how do I specify that?




That will be added as part of the packaging process. If you want to add a comment specifying the dependencies then it will likely speed things up.




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?




As stated you don't have to provide the source at all.




If I'm not using autoconf/automake, does my Makefile need to be set up in a particular way, or are the autotools required?




Any build system supported in Ubuntu is allowed. If you are using plain Makefiles then that's fine. However, if you're only uploading binaries that's not an issue.


[#41655] Friday, June 18, 2021, 3 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
ingssex

Total Points: 21
Total Questions: 122
Total Answers: 98

Location: Sweden
Member since Fri, Mar 26, 2021
3 Years ago
;