I am giving a talk about Software Collections to my colleagues at work
on Monday and I remembered the confusion I first had with the scl
command. I was expecting the "scl enable" command to set up symbolic
links or something - i.e. make some long-lasting change to the
envionment in the way that perlbrew does, i.e. set up or enable a
particular version of software. The word "enable" here is actually a
misnomer, and scl is more akin to the coreutils "modified command
invocation" commands (chroot, env, nice, nohup, etc.) - or even ssh.
The other thing I trip over is that all arguments up to the last are
collection names.
I know that the scl command is pretty much established now, but a nicer
syntax would be:
scl-env --with perl-5.18 perl script argument ...
i.e. provide the collection name as an option and let the rest of the
command line be passed to the command to be invoked with the modified
environment. If you want to run a command with multiple collections
enabled then give the --with option multiple times, or provide the names
in a single argument separated with spaces or commas, e.g.
scl-env --with perl-5.18 --with mysql-5.1 perl script argument ...
or
scl-env --with perl-5.18,mysql-5.1 perl script argument ...
Just my two cents' worth.
Andrew
--
Andrew Ford
South Wing Compton House, Compton Green,
Redmarley, Gloucestershire, GL19 3JB, UK
Tel: +44 1531 829900
Mobile: +44 7785 258278
Email: A.Ford(a)ford-mason.co.uk