########################################################################################## # 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!