dekekincaid / rez

Rez - An integrated package configuration, build and deployment system for software

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

##########################################################################################
# INFO
##########################################################################################

Rez:
A set of tools for resolving environment configurations and building projects within
these environments. Rez searches for 'packages' (pieces of software) in the colon-delimited
env-var '$REZ_PACKAGES_PATH'. With rez you can request a set of packages, and it will
return you all the packages that you need, or an equivalent configured environment. Rez has
a resolution algorithm that avoids package version clashes.

Original Author:
Allan Johns, 2010
nerdvegas@googlemail.com
Dr D Studios, Sydney, Australia

Forked and Modified by:
Morné Chamberlain, 2012
morne@blackginger.tv
BlackGinger, Cape Town, South Africa

Rez has been tested on Linux Centos5, and to a lesser extent on OSX. Rez is not supported
on Windows (yet), but volunteers are welcome!

rez requires:
bash
cmake (2.8 or greater)
a C++ compiler (it will use cmake to detect one)
python (2.5 or greater)
pyyaml (tested with 3.9.0)
pydot (tested with 1.0.2)
pyparsing (tested with 1.5.1)

rez-release requires:
svn (tested with svn client 1.6.6)
pysvn (tested with 1.7.2)

rez-release-git requires:
git (tested with 1.7.2.3)
GitPython (tested with 0.3.2-RC1)

##########################################################################################
# INSTALLATION
##########################################################################################

Open the configure.sh script first, and edit the relevant entries in the "EDIT HERE" section.
This points rez at various paths (for example, python paths for pyyaml etc). It will attempt
to autodetect what it can, but you'll probably need to set these to something (and you HAVE
to set the first entry to something).

After editing configure.sh and running it successfully, run install.sh, specifying the
install location. Rez will be installed at that path, plus a version directory. Rez's
version is determined by the contents of the version.sh file.

Rez will automatically build you a number of key packages - one representing the operating
system; one for cmake; one for python; one for a C++ compiler, and one example hello_world
package. Some of these may not be exactly what you want, it's up to you to create and use
your own packages instead.


##########################################################################################
# RUNNING REZ
##########################################################################################

Once installed, you need to initialize the rez system by sourcing its init.sh file, which
has been installed alongside all the other rez source. It's typical to do this in a
startup script (eg ~/.bashrc), so that rez is always available to users.

You can test the system by running the demo (./examples/demo/run_demo.sh), but you do need
to configure rez first, as explained above. The demo creates its own rez microcosm, setting
a local packages path, and building and installing a set of test packages into it.

There are further READMEs scattered through the distribution, refer to them for more info.


##########################################################################################
# DOCUMENTATION
##########################################################################################

There are a lot of docs in the docs/ subdir, including the technical user manual. You
should read this sooner rather than later to like, learn things and stuff.

There are Rez tutorial videos available also, at the time of writing they're probably on
Vimeo or Youtube, and there may be a zipped download available from the same place you got
this Rez thing from.

When building packages you'll need to know about rez's cmake macros. All rez's supporting
cmake code can be found in the cmake/ subdir, and every source file contains a block
comment at the top detailing its use.

The vast majority of rez's command-line utilities will show a fair bit of help like so:
rez-config -h


Happy rezzing!














About

Rez - An integrated package configuration, build and deployment system for software

License:GNU General Public License v3.0