The native gems are installed in advance, the problem i was trying to solve is upgrades of those gems causing potential issues ?

I basically followed the advice at http://guides.rubygems.org/patterns/#declaring_dependencies and http://yehudakatz.com/2009/07/24/rubygems-good-practice/

If I don't specify the required version here, and this application say only works with amqp 1.3 and breaks with amqp 2. But application <superduperampqthingy> requires amqp 2 and does not work with ampq 1.3 , amqp 2 will get installed, log_agent will then try running with the newer version and fail ?

This then means any system gem upgrades, have to be tested against each application we package as a gem, rather than install newer gem, update specific application to use new version. Then test other applications and move over at a later date (Assuming they can be moved at all). Without the version lock upgrading system gems seems dangerous not knowing which other apps potentially use the gem.