3.3. Packaging Wrappers for Software Collections

Using wrappers is an easy way to shorten commands that the user runs in the Software Collection environment.
The following is an example of a wrapper from a Ruby-based Software Collection named rubyscl that is installed as /usr/bin/rubyscl-ruby and allows the user to run rubyscl-ruby command instead of scl enable rubyscl 'ruby command':
#!/bin/bash

COMMAND="ruby $@"
scl enable rubyscl "$COMMAND"
It is important to package these wrappers as subpackages of the Software Collection package that will use them. That way, you can make installation of these wrappers optional, allowing the user not to install them, for example, on systems with read-only access to the /usr/bin/ directory where the wrappers would otherwise be installed.