We have two challenges deploying our application for Ubuntu/Debian:
1. Offline installation
Many (let's say 50%) of our users will need to install offline. They will have zero internet connectivity. Thus, we need to include all possible dependencies (run time / third-party libraries, etc.) on an installation CD/DVD. It looks like perhaps APT-on-CD might be a solution here, but the documentation I read wasn't exactly clear.
2. Not-yet-supported versions of packages
Some dependencies are not yet supported by the "official" Ubuntu repositories. For example, version 4.2 of a particular library is provided in the Software Center, but my application requires version 4.4--which is a stable release, just not in the official repository packages. (The stable distribution of Debian is even further behind, still in version 3.)
- Should I then initially create my own .deb package for these, or just install the libraries in somewhere like
/usr/lib/myapp
? - If I create my own .deb, should I give it the same (likely) name as the official package? That is, I would anticipate many (if not all) of these packages to be officially provided at some time in the future. Thus, ideally the installation procedure (in an online situation) would look first to the official repositories for the library, but be able to fall back to the CD/DVD if necessary. Is this possible, or do I just name by package something totally different and let it permanently live side-by-side?
What are the best practices for handling these installation challenges?