I was seeking for a detailed specification of what's allowed as build dependencies for sources packages to be published in the Software Centre.

I found Ubuntu Policy Manual — Chapter 4 - Source packages (don't know if this link is still valid by the way), it's rather precise while lacking some sort of precisions.

  • What if a build requires a version of a compiler which is not available by default for a target platform. As an example, say a source package requires GCC 4.8 to build while Ubuntu Precise only provides GCC 4.6?
  • What if a build requires a compiler which is not freely available? As an example, current version of the Ada compiler in Ubuntu Precise does not properly support the last version of the standard, or some applications which would requires some commercial Prolog compiler to compile.
  • What if a build depends on a library source package which is not made available as a separate source package? The above link says there should be no source duplication, but if the library's sources are not available separately, then there is no other way to do except copying the library source in the application's source package (providing it's legally OK to do this way, which is always the case if the author of the library and application, is the same).

These are the three questions I have pending in my mind and the above link does not answers, and I prefer to have explicit answers instead of raw personal guesses.

Have a nice day all.

  • This isn't really a question about software-center itself, but about application development for something that would be submitted for publishing in the store which is part of software-center. I've moved the tag to application-development instead, as more appropriate answers should come from someone watching that tag. – dobey Mar 3 '13 at 14:11

Replying to myself, my apologies.

About the second question, may be a possible answer could be to use a compiler targeting ISO/ANSI C, as some high level language compilers do. To re‑use the example case, let say an application requires this or that commercial or non‑free Prolog compiler to compile, then if that Prolog compiler is able to target C (and not just native machine code), then perhaps that's OK to have a source package based on the C source the higher level compiler produced. This kind of machine‑generated source is most of time less well presented than hand‑written source, but does it really matter after all…

If these assumptions are right, then this would means if one wish to publish something to the Software‑Centre, then he/she have to use a tool chain which is able to generate C source as the target.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.