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

Document current relationship with EPEL #100

Open
ncoghlan opened this issue May 15, 2017 · 0 comments
Open

Document current relationship with EPEL #100

ncoghlan opened this issue May 15, 2017 · 0 comments

Comments

@ncoghlan
Copy link

In mesonbuild/meson#1790 (comment), @Conan-Kudo noted that one of the current challenges with SCLs is that they can't be used even as BuildRequires for packages in EPEL. This means that an EPEL package can't (for example) rely on the Python 3.5 SCL - it needs a native parallel Python 3.5 stack in EPEL.

From my perspective, the package development flow that makes the most sense would be Fedora -> SCL -> parallel stack in EPEL (since that should duplicate less work than having Fedora -> SCL and Fedora -> EPEL being entirely independent activities).

However, before trying to change a process, it's important to understand how the current process actually works (or doesn't work as the case may be), otherwise there's a significant risk of solving the wrong problem.

Relatedly, it isn't at all clear to folks new to the Fedora/RHEL/CentOS system when it makes sense to consider using Software Collections over EPEL packages and vice-versa: https://twitter.com/brettsky/status/863460803705397248

So this issue proposes adding a page to softwarecollections.org that specifically compares and contrasts how SCLo works with the way EPEL works. As a couple of examples of similar pages on a different service also aimed at tackling the problem of shared maintenance and delivery of newer components on long term stable distros:

The key points to emphasise would be that:

  1. Software Collections, by design, put their components into publisher and version scoped subdirectories of /opt/ (but replicate FHS within those subdirectories). This allows parallel installation without reliance on full independent container images (which is useful for developer workstations, build environments, and traditional mutable servers). Even when using container images, it means language runtimes installed for developer use can't conflict with language runtimes in the base operating system image. This layout also means that essential support metadata (publisher and version) is conveyed by the filesystem paths, even without querying other component metadata.
  2. The downside of this approach is that it means SCLs will typically require activation prior to use, even when they're the only version installed - their binaries, shared libraries, etc aren't linked by default from the FHS locations.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant