----- Original Message ----- > From: "jonathan mercier" <jonathan.merc...@cnrgh.fr> > To: "Zach Huntington Meath" <zhunt...@redhat.com>, "Stefan Ring" > <stefan...@gmail.com> > Cc: sclorg@redhat.com > Sent: Thursday, July 30, 2020 12:59:41 AM > Subject: Re: [scl.org] How to use SCL inside a container > > Thanks Zach and Stefan for your help > > Previously repository was in private mode (now they are public, a mistake…) > > currently my scl_metapackage image fail on test: > https://gitlab.com/jonathan-dlang/scl_metapackage/-/pipelines/172225000 > 1. Indeed it seems that PATH and others env vars are not loaded > 2. scl load … do not works
Hello, the recommended way to enable scl on commandline is (like Zach send you): $ scl enable "$my_scl" ... or $ scl enable "$my_scl" -- ... F.e. you'd run: $ scl enable rh-ruby25 bash Also, another way, that we use for containers is: $ . scl_source enable "$my_scl" or $ source scl_source enable "$my_scl" (You should use bash or compatible shell.) To check, whether $my_scl is enabled, you can: $ scl_enabled "$my_scl" I'm not aware of any other way that works. Also please check our containers upstream: https://github.com/sclorg/ In s2i-ruby-container, we enable it like so: https://github.com/sclorg/s2i-ruby-container/blob/master/2.7/root/opt/app-root/etc/scl_enable Using that approach, the SCL is enabled inside the container, for all executed commands. This is the bit that runs the scl_enable above: https://github.com/sclorg/s2i-base-container/blob/19a440e4ebda6734dc1ed595f2acfb9269e9b584/core/Dockerfile.rhel7#L37 Note that our containers are s2i-capable (and consumable by openshift), but can be used as usual containers. All are based on: https://github.com/sclorg/s2i-base-container/tree/master/core HIH, Pavel > > I have any problem with these rpm on my local computer > > This image extends this one: https://gitlab.com/jonathan-dlang/fedora > which define an entrypoint in order to initialize both modules and scl > > I will take a closer look to your code Zach > > Any way your help is really appreciated. > I would like to demonstrate that scl can replace environment module into my > lab > > Thanks, best regards > > Jonathan > > > > > > Le lundi 27 juillet 2020 à 14:30 -0400, Zach Huntington Meath a écrit : > > > > Jonathan, > > I've had some success with containers and trying to use the SCL while the > container is running. What I've had success with is adding the script like > you had up there to /etc/profile.d and then it'll run when any bash instance > is started. Something like this: > https://github.com/theforeman/forklift/blob/master/roles/ruby_scl/tasks/main.yml#L14-L20 > > But instead of using ansible you just have your script and copy it to > /etc/profile.d/foo.sh when you're building the container in your Dockerfile. > > On Mon, Jul 27, 2020 at 1:41 PM Stefan Ring < stefan...@gmail.com > wrote: > > > On Mon, Jul 27, 2020 at 12:23 PM Jonathan MERCIER < jmerc...@cng.fr > wrote: > > > > Dear I tried to build a container both with docker and buildah and got the > > same message error from gitlab-ci > > > > ---> https://gitlab.com/jonathan-dlang/scl_metapackage/-/jobs/657306213 > > No access rights. > > > $ scl load "${SCL_VENDOR}-${SCL_COLLECTION}${DLANG_VERSION}" > > 31Missing function scl in your environment!!! > > > > What is those scl functions ? > > > > We can see too that while scl_source is calld (line 28) the list of loaded > > collection is empty (line 29) > > Do you know how to use scl outside of a container? Because it does not > actually make a difference. > > > I tried to use a scl_enable file as it is done by sclorg -> > > https://github.com/sclorg/mariadb-container/blob/master/root-common/usr/share/container-scripts/mysql/scl_enable > > > > with the same error > > If it’s only one line in the CI recipe, just use scl enable {scl_name} > -- command (line). > -- Pavel Valena Software Engineer, Red Hat Brno, Czech Republic _______________________________________________ SCLorg mailing list SCLorg@redhat.com https://www.redhat.com/mailman/listinfo/sclorg