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
./configure
make
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.
|