Hi, Some of my points are probably already covered in your list, but let me show my wishlist: portage-ng should be ... - completely based on exchangable components (I don't like the term plugin here as plugins are IMO always optional) and each component should have a well defined interface as well as metadata stating dependencies on other components (e.g. a DB based tree backend needs a DB compatible sync mechanism and parser). - statically typed, so it can be better checked for errors before released. I realize that this might not be possible in several languages, but then at least we should enforce consistent typenames in the API documentation (as currently you often have to read the source to find out what parameter a function really wants). - able to be used as a secondary package manager, this would also include the ability to enable users to install packages in their homedirs using system packages for the dependencies. One important part of this is implementing pathspec. - as secure as possible. This includes signed packages (both source and binary) and automatic priorization of security related updates. That's all for now, but I think my first point implicates many other points mentioned by you. Let me elaborate a bit more by giving an example what components could be used in the current portage: - ebuild parser - metadata parser - profile parser - config parser - packagename/version parser - dependency resolver - rsync sync component - cvs sync component - http sync component (for snapshots) - filesystem portdir storage component - filesystem package database storage component - searching component ... So now the portagesql guys for example could just write different portdir storage, sync and metadata parser components to use mysql as a backend for the metadata instead of re-implementing portage completely. For the dependency example above their storage component would need their sync component or, more flexible, it implements some write() functions that could be used by sync components implementing a suitable interface (but for instance a storage component for cd-rom based snapshots could not do that). I hope you get the idea. Marius -- Public Key at http://www.genone.de/info/gpg-key.pub In the beginning, there was nothing. And God said, 'Let there be Light.' And there was still nothing, but you could see a bit better.