This FAQ still needs a little work... If you have any questions, send them to me or the mailing list - I'll have a better idea of what needs to go into the FAQ a little later.

Who is RUST for?
RUST is primarily aimed at software developpers. It is designed to allow programmers to forget about the details of creating RPMs and concentrate on their own code. However, RUST will be usefull to anyone who wishes to distribute software or data using RPM packages.

Why make RPMs?
RPMs are a great way to distribute software or data. They let users install, upgrade and uninstall them easily and give you control over how and where the files are installed.

Why create RPMs from source tar balls? The first reason is: to easily create RPM versions of your own software, so you can distribute it to users without forcing them to compile it.

In cases where you wish to install a third party's application on your own system, you can choose to do the normal

make install

The problem arises when you want to upgrade or uninstall the software or if you wish to distribute it to many similar boxes. The RPM system is designed to make all these things easy - so why not take advantage of it? By creating RPMs for the software you install, you make maintaining your systems easier.

What is a sandbox?
A sandbox is a chrooted environment in which it is safe to play - one in which the process' idea of where the root filesystem ("/") begins is changed. By making the shell believe some subdirectory, e.g. ~/newroot, is actually the root ("/") we (or an install program) can do anything we want, safely i.e. without affecting the system in any way.

Why would I want to install a program in the sandbox?
You can install programs in the sandbox in order to automatically create RPMs or to verify the actions of an installation, either for testing purposes or because the software is untrusted. See the sandbox section for details.

Will a program installed within the sandbox function as it would if it had been installed normally?
It might. Then again it might not, depending on wether libraries and such that it expects to find have been duplicated in the sandbox. The main point of using the sandbox is to create RPMs or test installations, so once you are satisfied you would normally install the RPM on your system in the usual manner (outside of the sandbox).

What is the difference between rust and crust?
rust is the GUI of the RUST package. It is a graphical environment that allows you to drag & drop your way to RPM creation. crust functions as the back end for rust and gives access to more advanced features, such as the sandbox. Please see the rust, crust sections of the site and take a look at the rust and crust manpages.

Why use crust at all, since I could use the rust GUI?

Where can I get more help?

makeRPM isn't working.

try rpm --bb test

when doing make install in the sandbox wants to recompile the program before installing, and compilation fails.

Some programs are picky about where and how they were compiled and when you chroot into the sandbox, they insist on recompiling. This often fails if you did not use the "Initialize and Full copy" (or --fullcopy on the crust command line). Try to do so.

If it still fails, find out why. The compilation is probably looking for something that has not been duplicated in the sandbox. You can add the contents of directories either by modifing the contents of the /usr/local/rust/conf/dirs*.list files and rerunning the init and copy or, simply, by using the crust --include:

$ crust --init --include \
/usr/local/include/blah --include \
"R /path/to/special/stuff" /path/to/newroot

The example command will include the contents of /usr/local/include/blah (not recursive) and will recursively copy over the contents of /path/to/special/stuff, placing all these files in the correct locations within the sandbox.


home | RUST | cRUST | sandbox | screenshots | FAQ | download | mailing list | about