<div class="gmail_quote"><div class="gmail_quote"><div class="im"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_quote"><div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="gmail_quote"><div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_quote"><div>
<div>Are the major and minor numbers going to be sufficient versioning information? See for example PEP 386 for more detailed version strings (<a href="http://www.python.org/dev/peps/pep-0386/" target="_blank">http://www.python.org/dev/peps/pep-0386/</a>).</div>



</div><div>
<div></div></div></div></blockquote><div><br></div></div><div>For a distro, I believe yes.  Do you have a counter-example?</div></div></blockquote><div><br></div></div><div>Not off the top of my head, but I really only use RedHat variants or Ubuntu variants, so I thought I would bring it up in case there are others that use different schemes. For example, how about pre-releases?</div>

</div></blockquote><div><br></div></div><div>Good point (and ick!)  I like the PEP 386 / maven idea; non-official releases get a suffix like "minor=0-SNAPSHOT" or "minor-0-beta1" or "minor=0-20120401"?</div>
<div class="im">
<div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_quote"><div><div></div></div><div>It seems suboptimal, but I guess it's reasonable to expect the caller of the API to be able to provide the distro-specific package name for the application or library they want included in the image.</div>

</div></blockquote><div><br></div></div><div>I expect the most common use-case is that the caller wants e.g. Debian Squeeze + a list of packages (openssh-server, mysql-server, nginx, apache2).  It might see the following images:</div>

<div><br></div><div>#1 has packages: openssh-server</div><div>#2 has packages: openssh-server, mysql-server</div><div>#3 has packages: openssh-server, mysql-server, nginx, gnome-desktop</div><div><br></div><div>Now it could choose #1, in which case it know it needs to install mysql, nginx + apache2.  It's always better to install #2, which avoids downloading & installing mysql-server.</div>

<div><br></div><div>#3 may or may not be "better"; the caller may have to uninstall gnome-desktop to reduce the attack surface area; that may be more expensive than starting with #2.  I imagine most callers will actually choose an image which has a strict subset of images; it's simpler.</div>

<div><br></div><div>That raises two issues: should openssh-server be listed (and what about hypervisor specific packages)?  What do we do about meta-packages (like gnome-desktop)?</div><div><br></div><div>The easy answer here is that the name of every installed package is listed (as generated by the system package list tool e.g. dpkg).  But that would be a big list...</div>

</div>
</div><br>