Embedding one .deb inside another
I'm having an issue with distributing a .deb package that has a dependency on another .deb package that might not be in an available repository (or the target may not have a network connection at the time of installation). What I'd like to do, ideally, is embed the dependency inside the parent package. That way, in the preinst script, it could just install it's dependency. However, the problem is that when installing the parent package, it locks the dpkg system so when it, in the preinst step, goes to run dpkg -i on the embedded .deb file, it can't get a lock and fails.
Is this something that's fundamentally impossible or is there some way to achieve what I need?
I don't want to embed the contents of the dependent package into the parent, as there might be other things depending on the same package. Also, I'd like to have a seamless transition to putting the dependency on a repository if possible later.
Also, I want this all to be able to be done from a single dpkg -i <parent package>.deb and not from a script where I could otherwise do dpkg -i <parent>.deb <child>.deb. The reasons for this are limitations on the current method of distribution.