I’m hoping this is the right way to get in contact. I’ve been running CentOS for several years now and have recently discovered Software Collections. I’m excited as it seems it's a great mechanism to allow me to have the ongoing stability of Enterprise Linux, but with the added ability to have relatively newer feature updates for specific software that I want. I’m very much new to the Software Collections concept, so my questions might seem a bit naive—feel free to point me in the right direction if there’s documentation that can answer the conceptual side of my questions already.
My questions can be best demonstrated by example: My server needed a webserver. I typically use httpd and like the idea of keeping up with feature updates on it, so I installed httpd24-httpd from the centos-sclo-rh repo instead of the standard httpd package from the base repo. Then I began to install phpmyadmin (from the epel repo), and noticed that it wanted to install httpd from the base repo. Looking in to this a bit more, I learned that the phpmyadmin package depends on the virtual package “webserver”. Indeed, the httpd package from the base repo “provides” the “webserver” virtual package (which I determined by locating the corresponding .src.rpm file, opening it using rpm2cpio … | cpio - idmv, and inspecting the .spec file). So then I checked the .src.rpm file corresponding to the httpd24-httpd package, inspected the .spec file, and saw that indeed it does not provide the “webserver” virtual package.
My expectation would be that, since I ran `scl enable httpd24 bash`, my system should be of the understanding that it now has a capable and functional webserver, and therefore the “webserver” dependency should be met.
Looking deeper, I see that this command runs the /opt/rh/httpd24/enable script which simply sets/modifies three environment variables. This is great for a user session, but I guess my expectation of a system-wide understanding of the presence and functionality of the httpd24-httpd webserver is therefore unrealistic, and my grand visions don’t fully align with what Software Collections are actually intended to do.
In this small example, the target outcome for me would be to install phpMyAdmin from yum (because I like the idea that it’d be security patched regularly with minimal effort from me), but without having to install the base httpd package, as I already have the httpd24-httpd package installed.
A work-around I’ve found is to use rpm to install the phpMyAdmin rpm using the --nodeps flag, and moving the phpMyAdmin.conf file into /opt/rh/httpd24/etc/httpd/conf.d/phpMyAdmin.conf. However I’m unsure if the phpMyAdmin package will be able to be updated through yum the next time an update is available.
The small question is: in this specific example, what would be the best way to install phpMyAdmin so that it updates itself when `yum update` is run, while minimizing the amount of software I have to install on the server? The big question is: How badly am I misunderstanding the purpose or intent of Software Collections?
I asked this question over on Server Fault, and I got a comment asking “What did the package maintainer say?”, so you might consider answering there if you’re familiar with that Q/A format. If not, then I’ll post any answers I get on your behalf for the benefit of the community.
Thanks for any insight you might provide.