Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove runtime dependency on SCL #3952

Merged
merged 2 commits into from
Nov 14, 2024
Merged

Remove runtime dependency on SCL #3952

merged 2 commits into from
Nov 14, 2024

Conversation

treydock
Copy link
Contributor

@treydock treydock commented Nov 14, 2024

Also remove references to SCL Apache
Fixes #3904

Also remove references to SCL Apache
Fixes #3904
@treydock
Copy link
Contributor Author

@johrstrom Do you know of any other places where we do scl enable or other SCL commands as part of runtime? I did several different find/grep iterations and think I found everything.

@treydock treydock marked this pull request as ready for review November 14, 2024 16:36
@treydock treydock marked this pull request as draft November 14, 2024 16:36
@johrstrom
Copy link
Contributor

How does scl enable ondemand work? I mean how does scl know where to find /opt/ood/ondemand (recalling that path from memory, could very well be wrong).

Also doesn't apache do something here to load the environment?

@treydock
Copy link
Contributor Author

How does scl enable ondemand work? I mean how does scl know where to find /opt/ood/ondemand (recalling that path from memory, could very well be wrong).

This is how SCL knows where to find:

$ cat /etc/scl/conf/ondemand
/opt/ood

I think it then looks for /opt/ood/<name>/enable which is

$ ls -la /opt/ood/ondemand/enable
-rw-r--r-- 1 root root 869 Feb  6  2024 /opt/ood/ondemand/enable

So rather than doing scl enable ondemand we will just be doing source /opt/ood/ondemand/enable.

Also doesn't apache do something here to load the environment?

I don't think so, at least not anymore.

  SetEnv OOD_PUN_STAGE_CMD "sudo /opt/ood/nginx_stage/sbin/nginx_stage"

That sbin/nginx_stage will load etc/profile from nginx_stage which will now do the source /opt/ood/ondemand/enable.

We only need SCL enable to load OnDemand's things. Since SCL is no longer used to load Ruby or NodeJS or Apache, SCL at this time is only used to initialize the OnDemand environment for things like finding gems.

@treydock
Copy link
Contributor Author

I'm leaving as draft while I verify with local package builds that doing dnf install ondemand on fresh system (container) will no longer pull in the SCL packages or the TCL environments packages.

@treydock
Copy link
Contributor Author

Local build appears successful:

Setup steps:

$ bundle exec rake package:build[el9,aarch64] CI_COMMIT_TAG="v4.0.0"
$ docker run --rm -it --platform linux/arm64 -v $(pwd)/dist:/dist rockylinux:9 /bin/bash
# dnf install dnf-utils -y epel-release
# dnf config-manager --set-enabled crb
# dnf module enable ruby:3.3 nodejs:20 -y
# dnf install https://yum.osc.edu/ondemand/latest/ondemand-release-web-4.0-1.el9.noarch.rpm
# sed -i 's/4.0/build\/4.0/g' /etc/yum.repos.d/ondemand-web.repo
# dnf makecache -y
# dnf install /dist/el9-aarch64/ondemand-4.0.0-1.el9.aarch64.rpm /dist/el9-aarch64/ondemand-gems-4.0.0-1-4.0.0-1.el9.aarch64.rpm

Install has no scl-utils of module environment packages that I see:

[root@0c0eafc452e7 /]# dnf install /dist/el9-aarch64/ondemand-4.0.0-1.el9.aarch64.rpm /dist/el9-aarch64/ondemand-gems-4.0.0-1-4.0.0-1.el9.aarch64.rpm
Last metadata expiration check: 0:00:09 ago on Thu Nov 14 17:12:06 2024.
Dependencies resolved.
=====================================================================================================================================================
 Package                            Architecture       Version                                                         Repository               Size
=====================================================================================================================================================
Installing:
 ondemand                           aarch64            4.0.0-1.el9                                                     @commandline             31 M
 ondemand-gems-4.0.0-1              aarch64            4.0.0-1.el9                                                     @commandline             14 M
Upgrading:
 expat                              aarch64            2.5.0-2.el9_4.1                                                 baseos                  109 k
 file-libs                          aarch64            5.39-16.el9                                                     baseos                  586 k
 libacl                             aarch64            2.3.1-4.el9                                                     baseos                   22 k
 libselinux                         aarch64            3.6-1.el9                                                       baseos                   85 k
 libsepol                           aarch64            3.6-1.el9                                                       baseos                  317 k
 openldap                           aarch64            2.6.6-3.el9                                                     baseos                  250 k
 sqlite-libs                        aarch64            3.34.1-7.el9_3                                                  baseos                  614 k
 systemd-libs                       aarch64            252-32.el9_4.7                                                  baseos                  623 k
Installing dependencies:
 acl                                aarch64            2.3.1-4.el9                                                     baseos                   69 k
 apr                                aarch64            1.7.0-12.el9_3                                                  appstream               118 k
 apr-devel                          aarch64            1.7.0-12.el9_3                                                  appstream               217 k
 apr-util                           aarch64            1.6.1-23.el9                                                    appstream                95 k
 apr-util-bdb                       aarch64            1.6.1-23.el9                                                    appstream                12 k
 apr-util-devel                     aarch64            1.6.1-23.el9                                                    appstream                70 k
 apr-util-ldap                      aarch64            1.6.1-23.el9                                                    appstream                13 k
 cronie                             aarch64            1.5.7-11.el9                                                    baseos                  115 k
 cronie-anacron                     aarch64            1.5.7-11.el9                                                    baseos                   30 k
 crontabs                           noarch             1.11-27.20190603git.el9                                         baseos                   18 k
 cyrus-sasl                         aarch64            2.1.27-21.el9                                                   baseos                   72 k
 cyrus-sasl-devel                   aarch64            2.1.27-21.el9                                                   appstream               102 k
 dbus                               aarch64            1:1.12.20-8.el9                                                 baseos                  6.8 k
 dbus-broker                        aarch64            28-7.el9                                                        baseos                  165 k
 dbus-common                        noarch             1:1.12.20-8.el9                                                 baseos                   14 k
 dejavu-sans-fonts                  noarch             2.37-18.el9                                                     baseos                  1.3 M
 diffutils                          aarch64            3.7-12.el9                                                      baseos                  383 k
 emacs-filesystem                   noarch             1:27.2-10.el9_4                                                 appstream               7.6 k
 expat-devel                        aarch64            2.5.0-2.el9_4.1                                                 appstream                51 k
 file                               aarch64            5.39-16.el9                                                     baseos                   48 k
 fontconfig                         aarch64            2.14.0-2.el9_1                                                  appstream               277 k
 fonts-filesystem                   noarch             1:2.0.5-7.el9.1                                                 baseos                  9.0 k
 freetype                           aarch64            2.10.4-9.el9                                                    baseos                  382 k
 gd                                 aarch64            2.3.2-3.el9                                                     appstream               128 k
 git                                aarch64            2.43.5-1.el9_4                                                  appstream                50 k
 git-core                           aarch64            2.43.5-1.el9_4                                                  appstream               4.5 M
 git-core-doc                       noarch             2.43.5-1.el9_4                                                  appstream               2.7 M
 graphite2                          aarch64            1.3.14-9.el9                                                    baseos                   90 k
 groff-base                         aarch64            1.22.4-10.el9                                                   baseos                  1.0 M
 harfbuzz                           aarch64            2.7.4-10.el9                                                    baseos                  624 k
 httpd                              aarch64            2.4.57-11.el9_4.1                                               appstream                44 k
 httpd-core                         aarch64            2.4.57-11.el9_4.1                                               appstream               1.4 M
 httpd-devel                        aarch64            2.4.57-11.el9_4.1                                               appstream               190 k
 httpd-filesystem                   noarch             2.4.57-11.el9_4.1                                               appstream                11 k
 httpd-tools                        aarch64            2.4.57-11.el9_4.1                                               appstream                78 k
 jbigkit-libs                       aarch64            2.1-23.el9                                                      appstream                52 k
 kmod-libs                          aarch64            28-9.el9                                                        baseos                   61 k
 langpacks-core-font-en             noarch             3.0-16.el9                                                      appstream               9.5 k
 libX11                             aarch64            1.7.0-9.el9                                                     appstream               634 k
 libX11-common                      noarch             1.7.0-9.el9                                                     appstream               151 k
 libXau                             aarch64            1.0.9-8.el9                                                     appstream                30 k
 libXpm                             aarch64            3.5.13-10.el9                                                   appstream                56 k
 libbrotli                          aarch64            1.0.9-6.el9                                                     baseos                  312 k
 libcbor                            aarch64            0.7.0-5.el9                                                     baseos                   55 k
 libdb-devel                        aarch64            5.3.28-53.el9                                                   appstream                37 k
 libedit                            aarch64            3.1-38.20210216cvs.el9                                          baseos                  101 k
 libfido2                           aarch64            1.13.0-2.el9                                                    baseos                   95 k
 libjpeg-turbo                      aarch64            2.0.90-7.el9                                                    appstream               168 k
 libpath_utils                      aarch64            0.2.1-53.el9                                                    baseos                   29 k
 libpkgconf                         aarch64            1.7.3-10.el9                                                    baseos                   35 k
 libpng                             aarch64            2:1.6.37-12.el9                                                 baseos                  114 k
 libpsl                             aarch64            0.21.1-5.el9                                                    baseos                   63 k
 libseccomp                         aarch64            2.5.2-2.el9                                                     baseos                   71 k
 libselinux-utils                   aarch64            3.6-1.el9                                                       baseos                  163 k
 libtalloc                          aarch64            2.4.1-1.el9                                                     baseos                   29 k
 libtiff                            aarch64            4.4.0-12.el9_4.1                                                appstream               192 k
 libtirpc                           aarch64            1.3.3-8.el9_4                                                   baseos                   92 k
 libwebp                            aarch64            1.2.0-8.el9                                                     appstream               260 k
 libxcb                             aarch64            1.13.1-9.el9                                                    appstream               226 k
 libxslt                            aarch64            1.1.34-9.el9                                                    appstream               237 k
 lsof                               aarch64            4.94.0-3.el9                                                    baseos                  235 k
 lua-posix                          aarch64            35.0-8.el9                                                      appstream               130 k
 mailcap                            noarch             2.1.49-5.el9                                                    baseos                   32 k
 make                               aarch64            1:4.3-8.el9                                                     baseos                  526 k
 mod_ldap                           aarch64            2.4.57-11.el9_4.1                                               appstream                56 k
 mod_ssl                            aarch64            1:2.4.57-11.el9_4.1                                             appstream               102 k
 ncurses                            aarch64            6.2-10.20210508.el9                                             baseos                  398 k
 nodejs                             aarch64            1:20.16.0-1.module+el9.4.0+25495+f51dca35                       appstream                13 M
 npm                                aarch64            1:10.8.1-1.20.16.0.1.module+el9.4.0+25495+f51dca35              appstream               1.9 M
 ondemand-apache                    aarch64            4.0.2-1.el9                                                     ondemand-web            7.3 k
 ondemand-nginx                     aarch64            1.26.1-1.p6.0.23.ood4.0.2.el9                                   ondemand-web            856 k
 ondemand-nodejs                    aarch64            4.0.2-1.el9                                                     ondemand-web            7.3 k
 ondemand-passenger                 aarch64            6.0.23-1.ood4.0.2.el9                                           ondemand-web            1.6 M
 ondemand-ruby                      aarch64            4.0.2-1.el9                                                     ondemand-web            8.3 k
 ondemand-runtime                   aarch64            4.0.2-1.el9                                                     ondemand-web             21 k
 openldap-devel                     aarch64            2.6.6-3.el9                                                     appstream               684 k
 openssh                            aarch64            8.7p1-38.el9_4.4                                                baseos                  447 k
 openssh-clients                    aarch64            8.7p1-38.el9_4.4                                                baseos                  680 k
 perl-AutoLoader                    noarch             5.74-481.el9                                                    appstream                20 k
 perl-B                             aarch64            1.80-481.el9                                                    appstream               178 k
 perl-Carp                          noarch             1.50-460.el9                                                    appstream                29 k
 perl-Class-Struct                  noarch             0.66-481.el9                                                    appstream                21 k
 perl-Data-Dumper                   aarch64            2.174-462.el9                                                   appstream                54 k
 perl-Digest                        noarch             1.19-4.el9                                                      appstream                25 k
 perl-Digest-MD5                    aarch64            2.58-4.el9                                                      appstream                36 k
 perl-DynaLoader                    aarch64            1.47-481.el9                                                    appstream                24 k
 perl-Encode                        aarch64            4:3.08-462.el9                                                  appstream               1.7 M
 perl-Errno                         aarch64            1.30-481.el9                                                    appstream                13 k
 perl-Error                         noarch             1:0.17029-7.el9                                                 appstream                41 k
 perl-Exporter                      noarch             5.74-461.el9                                                    appstream                31 k
 perl-Fcntl                         aarch64            1.13-481.el9                                                    appstream                19 k
 perl-File-Basename                 noarch             2.85-481.el9                                                    appstream                16 k
 perl-File-Find                     noarch             1.37-481.el9                                                    appstream                24 k
 perl-File-Path                     noarch             2.18-4.el9                                                      appstream                35 k
 perl-File-Temp                     noarch             1:0.231.100-4.el9                                               appstream                59 k
 perl-File-stat                     noarch             1.09-481.el9                                                    appstream                16 k
 perl-FileHandle                    noarch             2.03-481.el9                                                    appstream                14 k
 perl-Getopt-Long                   noarch             1:2.52-4.el9                                                    appstream                60 k
 perl-Getopt-Std                    noarch             1.12-481.el9                                                    appstream                14 k
 perl-Git                           noarch             2.43.5-1.el9_4                                                  appstream                37 k
 perl-HTTP-Tiny                     noarch             0.076-462.el9                                                   appstream                53 k
 perl-IO                            aarch64            1.43-481.el9                                                    appstream                85 k
 perl-IO-Socket-IP                  noarch             0.41-5.el9                                                      appstream                42 k
 perl-IO-Socket-SSL                 noarch             2.073-1.el9                                                     appstream               217 k
 perl-IPC-Open3                     noarch             1.21-481.el9                                                    appstream                21 k
 perl-MIME-Base64                   aarch64            3.16-4.el9                                                      appstream                30 k
 perl-Mozilla-CA                    noarch             20200520-6.el9                                                  appstream                12 k
 perl-Net-SSLeay                    aarch64            1.92-2.el9                                                      appstream               366 k
 perl-POSIX                         aarch64            1.94-481.el9                                                    appstream                95 k
 perl-PathTools                     aarch64            3.78-461.el9                                                    appstream                85 k
 perl-Pod-Escapes                   noarch             1:1.07-460.el9                                                  appstream                20 k
 perl-Pod-Perldoc                   noarch             3.28.01-461.el9                                                 appstream                83 k
 perl-Pod-Simple                    noarch             1:3.42-4.el9                                                    appstream               215 k
 perl-Pod-Usage                     noarch             4:2.01-4.el9                                                    appstream                40 k
 perl-Scalar-List-Utils             aarch64            4:1.56-461.el9                                                  appstream                70 k
 perl-SelectSaver                   noarch             1.02-481.el9                                                    appstream                10 k
 perl-Socket                        aarch64            4:2.031-4.el9                                                   appstream                54 k
 perl-Storable                      aarch64            1:3.21-460.el9                                                  appstream                93 k
 perl-Symbol                        noarch             1.08-481.el9                                                    appstream                13 k
 perl-Term-ANSIColor                noarch             5.01-461.el9                                                    appstream                48 k
 perl-Term-Cap                      noarch             1.17-460.el9                                                    appstream                22 k
 perl-TermReadKey                   aarch64            2.38-11.el9                                                     appstream                35 k
 perl-Text-ParseWords               noarch             3.30-460.el9                                                    appstream                16 k
 perl-Text-Tabs+Wrap                noarch             2013.0523-460.el9                                               appstream                23 k
 perl-Time-Local                    noarch             2:1.300-7.el9                                                   appstream                33 k
 perl-URI                           noarch             5.09-3.el9                                                      appstream               108 k
 perl-base                          noarch             2.27-481.el9                                                    appstream                15 k
 perl-constant                      noarch             1.33-461.el9                                                    appstream                23 k
 perl-if                            noarch             0.60.800-481.el9                                                appstream                13 k
 perl-interpreter                   aarch64            4:5.32.1-481.el9                                                appstream                69 k
 perl-lib                           aarch64            0.65-481.el9                                                    appstream                13 k
 perl-libnet                        noarch             3.13-4.el9                                                      appstream               125 k
 perl-libs                          aarch64            4:5.32.1-481.el9                                                appstream               2.0 M
 perl-mro                           aarch64            1.23-481.el9                                                    appstream                26 k
 perl-overload                      noarch             1.31-481.el9                                                    appstream                44 k
 perl-overloading                   noarch             0.02-481.el9                                                    appstream                11 k
 perl-parent                        noarch             1:0.238-460.el9                                                 appstream                14 k
 perl-podlators                     noarch             1:4.14-460.el9                                                  appstream               111 k
 perl-subs                          noarch             1.03-481.el9                                                    appstream                10 k
 perl-vars                          noarch             1.05-481.el9                                                    appstream                12 k
 pkgconf                            aarch64            1.7.3-10.el9                                                    baseos                   39 k
 pkgconf-m4                         noarch             1.7.3-10.el9                                                    baseos                   14 k
 pkgconf-pkg-config                 aarch64            1.7.3-10.el9                                                    baseos                   10 k
 policycoreutils                    aarch64            3.6-2.1.el9                                                     baseos                  208 k
 publicsuffix-list-dafsa            noarch             20210518-3.el9                                                  baseos                   58 k
 rclone                             aarch64            1.57.0-2.el9                                                    epel                     16 M
 rocky-logos-httpd                  noarch             90.15-2.el9                                                     appstream                24 k
 rsync                              aarch64            3.2.3-19.el9                                                    baseos                  388 k
 ruby                               aarch64            3.3.5-3.module+el9.4.0+25730+e54ecc95                           appstream                37 k
 ruby-default-gems                  noarch             3.3.5-3.module+el9.4.0+25730+e54ecc95                           appstream                34 k
 ruby-devel                         aarch64            3.3.5-3.module+el9.4.0+25730+e54ecc95                           appstream               287 k
 ruby-libs                          aarch64            3.3.5-3.module+el9.4.0+25730+e54ecc95                           appstream               3.9 M
 rubygem-bigdecimal                 aarch64            3.1.5-3.module+el9.4.0+25730+e54ecc95                           appstream                64 k
 rubygem-bundler                    noarch             2.5.16-3.module+el9.4.0+25730+e54ecc95                          appstream               390 k
 rubygem-io-console                 aarch64            0.7.1-3.module+el9.4.0+25730+e54ecc95                           appstream                22 k
 rubygem-json                       aarch64            2.7.1-3.module+el9.4.0+25730+e54ecc95                           appstream                50 k
 rubygem-psych                      aarch64            5.1.2-3.module+el9.4.0+25730+e54ecc95                           appstream                48 k
 rubygem-rake                       noarch             13.1.0-3.module+el9.4.0+25730+e54ecc95                          appstream                86 k
 rubygem-rdoc                       noarch             6.6.3.1-3.module+el9.4.0+25730+e54ecc95                         appstream               462 k
 rubygems                           noarch             3.5.16-3.module+el9.4.0+25730+e54ecc95                          appstream               351 k
 rubygems-devel                     noarch             3.5.16-3.module+el9.4.0+25730+e54ecc95                          appstream                12 k
 sqlite                             aarch64            3.34.1-7.el9_3                                                  appstream               736 k
 sqlite-devel                       aarch64            3.34.1-7.el9_3                                                  appstream               133 k
 sscg                               aarch64            3.0.0-7.el9                                                     appstream                45 k
 sudo                               aarch64            1.9.5p2-10.el9_3                                                baseos                  1.0 M
 systemd                            aarch64            252-32.el9_4.7                                                  baseos                  3.8 M
 systemd-pam                        aarch64            252-32.el9_4.7                                                  baseos                  254 k
 systemd-rpm-macros                 noarch             252-32.el9_4.7                                                  baseos                   52 k
 wget                               aarch64            1.21.1-8.el9_4                                                  appstream               762 k
 xml-common                         noarch             0.6.3-58.el9                                                    appstream                31 k
Installing weak dependencies:
 apr-util-openssl                   aarch64            1.6.1-23.el9                                                    appstream                14 k
 mod_http2                          aarch64            2.0.26-2.el9_4.1                                                appstream               157 k
 mod_lua                            aarch64            2.4.57-11.el9_4.1                                               appstream                56 k
 nodejs-docs                        noarch             1:20.16.0-1.module+el9.4.0+25495+f51dca35                       appstream               8.2 M
 nodejs-full-i18n                   aarch64            1:20.16.0-1.module+el9.4.0+25495+f51dca35                       appstream               8.4 M
 perl-NDBM_File                     aarch64            1.15-481.el9                                                    appstream                20 k

Transaction Summary
=====================================================================================================================================================
Install  178 Packages
Upgrade    8 Packages

Total size: 139 M
Total download size: 94 M
Is this ok [y/N]:

@treydock treydock marked this pull request as ready for review November 14, 2024 17:14
Copy link
Contributor

@johrstrom johrstrom left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yea I'm happy to just move on it and see how it goes in dev. I also looked for apache's loading the environment and couldn't find it anymore.

There are other spots where we look for X_SCL environment variables, but it should be ok just given they don't exist anymore.

@treydock
Copy link
Contributor Author

@johrstrom For OSC dev we'll need to uninstall scl-utils and the TCL environments package to fully validate in case I missed some code changes. I'm setting reminder to do this tomorrow after nightly is built.

@johrstrom
Copy link
Contributor

Thanks. I saw you synced the repos too, I don't always remember to do that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

remove SCL dependency
3 participants