title: How Apache Karaf sorts bundles to install and start?
body: <p>I have defined four bundles:</p>
  
  <pre><code>bundle 1 : export package x version 1
  bundle 2 : import package x ver [1,2] and export package y;y uses x    
  bundle 3 : export package x version 2
  bundle 4 : import package y and also import package x version 2
  </code></pre>
  
  <p>Using apache felix (distribuable binary), I found that I should manually impose to not resolve (or start) the bundle 1 and then bundle 2 before starting the bundle 3 (otherwise a uses constraint problem appears because bundle 2 will use package x version 1 and in bundle 4 will appear package x version 1 and version 2 --> uses constraint violation).<br>
  Thanks to the authors of these posts:<br>
  <a href="http://njbartlett.name/2011/02/09/uses-constraints.html" rel="nofollow">http://njbartlett.name/2011/02/09/uses-constraints.html</a><br>
  <a href="http://blog.springsource.com/2008/10/20/understanding-the-osgi-uses-directive/" rel="nofollow">http://blog.springsource.com/2008/10/20/understanding-the-osgi-uses-directive/</a><br>
  I don't like to impose order to my bundles, I need to copy all my bundles in the /bundle directory and then the instance of framework install and start them.
  I noticed that Apache felix sorts the bundles to be installed alphabetically (so bundle 1 will be installed and then started the first).
  I tried with Apache karaf, I copied my bundles into /deploy and I found that the problem disappears, so my question is:</p>
  
  <p>Does Apache Karaf, (or felix file install) apply a strategy to impose any order for starting bundles in order to avoid these kind of problems ?</p>