= Roast Beef
by Phil Hagelberg (c) 2008

== so what exactly is the deal here

uh ok so roast beef is some kind of package manager that is for
bleeding-edge programs. so basically it does not have its own
repositories. instead it just will download source from the upstream
repository and will do all the necessary steps to install . you get
things that are as fresh as possible. i am talking about really fresh
like your eggs and milk.

roast beef saves you from having to look up the repository locations
for all the stuff you want to build from source. it also abstracts
away the differences in build processes. say you want the latest
version of such a package as gnu emacs. so you grab the source but you
know emacs is a little different from other packages and requires
"make bootstrap" in between the configure and make step. with
roastbeef all the complexity of such things is hidden from you. and if
you have a lot of stuff built from source you can keep them all up to
date with a single command.

the motivations behind this are made more clear in a blog post:

== man why you even got to do a thing


* roastbeef install package
* roastbeef update
* roastbeef upgrade
* roastbeef remove package
* roastbeef show package
* roastbeef search term

== but say you wanted to install it

* sudo gem install roastbeef

you can get the source like this

* git clone git://github.com/technomancy/roastbeef.git
* cd roastbeef && sudo rake install_gem

or once you have it installed do this

* roastbeef install roastbeef

== ok i admit there is still work to do

* accept optional configure arguments
* allow for rebuilds to be simpler commands than initial builds
* user-defined source listings
* support firefox extensions?

these things i am not going to work on but will accept patches for
* mac os x, gentoo, bsd, fedora support
* support for hg, darcs, tarballs?
* add more packages

== watch out fellows

the version of rubygems that you get when you run "sudo apt-get
install rubygems" on an ubuntu or debian box puts things in
inconvenient places. your life will be easier if you do not use it.
grab the official build instead and you will save yourself pain:

according to the debian packagers this brokenness is a feature not a
bug (something about LFS compliance) but it means that many many
rubygems will just not work without manually modifying your $PATH for
every user that wants to take advantage of them. see below:


== why did you pick a name such as roast beef

roast beef is a character in the comic strip known as achewood by
chris onstad. it is actually pretty humorous once you get to know it.