I'm refining our installer. The way it works is all our components are made into .deb files. The installer merely calls dpkg on all of them at once, along with their dependencies. This works great...as long as you install onto Ubuntu Linux 8.04.1. When installing in Ubuntu 8.04.3, for instance, the version of libc6-dev that might be installed is greater. But dpkg still seems to install our version of libc6-dev, despite the fact that a higher version is already installed. As you might expect, this causes problems.
What is the proper way to do this? Check every package we're about to install against the one on the system? I thought dpkg or apt did this for us. Secondly, why must this be as painful as it is? The target computers will not have Internet access, nor access to a mirror. We must be able to ship the application to be fully self-contained. Packages were supposed to free us from dependency hell and it seems like they are not.