The scl command is confusing

Andrew Ford A.Ford at ford-mason.co.uk
Sat Jan 19 18:40:04 UTC 2013


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 at ford-mason.co.uk



More information about the softwarecollections mailing list