Directory structure and version conflicts

Fabricio Cannini fcannini at gmail.com
Wed May 22 22:03:13 UTC 2013


Em 22-05-2013 17:00, Miroslav Suchy escreveu:
> On 22.5.2013 19:44, Fabricio Cannini wrote:
>> I could not find how to change the PATH when enabling a collection. I'd
>> guess it's the same way as with LD_LIBRARY_PATH [0] but I'm not sure .
>
> You install scl-utils and meta-package (in my case we are using ruby
> 1.9.3 on el6 - it is named ruby193).
>
> And then:
> # ruby --version
> ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]
> # scl enable ruby193 "ruby --version"
> ruby 1.9.3p327 (2012-11-10 revision 37606) [x86_64-linux]
>
> "scl enable foo" will (beside few other things) the script
> /opt/rh/ruby193/enable
> which is very short and contains:
> export PATH=/opt/rh/ruby193/root/usr/bin:$PATH
> export LD_LIBRARY_PATH=/opt/rh/ruby193/root/usr/lib64:$LD_LIBRARY_PATH
> export MANPATH=/opt/rh/ruby193/root/usr/share/man:$MANPATH


Are these scripts generated by SCL or should I provide them ?


> This allows you to install ruby193 packages into something which looks
> like chroot in /opt/rh/ruby193/root, but it actually is not chroot. It
> is just preferred path. And allows you to use libraries from base
> operating system.


Can the paths be customized ? E.G. removing the 'root' directory, or 
setting it to something else ?


>  > What would be a great advantage of Software Collections against
>  > environment-modules ?
>
> SCL is in its core environment modules (EM). The difference is that EM
> modify you current shell, but SCL start new shell.


Can this behavior be modified ? Can SCL modify my current shell ?


> SCL allows you to easy convert your spec files to SCL spec files (man
> spec2scl) with just very few changes. For example when you install
> ruby193-build and scl-utils-build, then %{_bindir} is evaluated to:
> /opt/rh/ruby193/root/usr/bin

I can do the same thing by modifying %_prefix in ~/.rpmrc , right ? ;)


More information about the Rpm-list mailing list