Conary is the best package management ever. Ever. I dunno where I was going with this crap, but it can't possibly be anywhere conary hasn't covered with perfection.
The way conary works is (in a very small nutshell), the repository stores a 'recipe' file which describes how to build the package. A recipe file for
GNU hello might be (obviously this is about as simple as they come, but more times than not recipe files aren't much bigger than this):
class hello (AutoPackageRecipe):
name = 'hello'
version = '2.1.1'
buildRequires = ['perl:runtime']
def unpack (r):
r.addArchive ('http://ftp.gnu.org/gnu/%(name)s/%(name)s-%(version)s.tar.gz')
Anybody can 'cook' the recipe (compile it, basically) on their own machine from this (it's as easy as 'conary emerge hello:source'), and if a developer cooks it on the repository then users can install the binaries.
Updates come in 'changesets', which is the
difference between the versions. So after just a few months you shouldn't be asked to install 100Mb+ of updates (like I believe Ubuntu 6.06 now does). Changesets can be rolled back - back to day one if you like. Parallel installation of certain packages (like stable gimp and development gimp) is a sinch. Packages can be installed by users into their home directory..
I've yet to come across
anything that's really hard or impossible with it (patching, use flags, multi-arch stuff - it's all there).
But the
really cool stuff comes in when you're ... putting together an OS. You can pretty much do it from a web based interface! (picking between packages that've already been built) And, when you must customise a package, that's not hard.
For all the good it'll do ya, my repository is @
http://piratepenguin.is-a-geek.com/conary (if you get internal server errors - refresh) To see the recipe files click on the source sub-menu of the package, go to show files and click the recipe file. Right now, there's a lot of shit and not much useful stuff, but some example recipes. And there's a hell of a lot of recipe files available @
http://www.rpath.com/rbuilder/So conary covers source and binary package management. And I don't think there's any better way to cover them (there are other, more complex, user-end advantages that I haven't discussed (
branch affinity for one)).