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

RFE: Support Rocky and AlmaLinux in MythTV configure script #390

Closed
garybuhrmaster opened this issue Sep 11, 2021 · 3 comments
Closed

RFE: Support Rocky and AlmaLinux in MythTV configure script #390

garybuhrmaster opened this issue Sep 11, 2021 · 3 comments
Assignees
Labels
patch:feature This patch implements a new feature version:master Master Development Branch

Comments

@garybuhrmaster
Copy link
Contributor

Support Rocky and AlmaLinux in MythTV configure script

The MythTV script has a check for centos for the libbluray dependency due to "issues" with the library and development headers (see trac ticket 13520 for a bit of the background).

To support building on Rocky and AlmaLinux the configure script needs to add tests for those EL clones in addition to CentOS.

Rocky and AlmaLinux also changed the /etc/os-release VERSION_ID value from the base EL value of 8 to an 8.n value making it no longer an integer, so we extract the major version value for version test purposes.

Lightly tested (only for a test Rocky build in mock) patch is:

diff --git a/mythtv/configure b/mythtv/configure
index dad07b53a6..19f2a5c404 100755
--- a/mythtv/configure
+++ b/mythtv/configure
@@ -5948,8 +5948,8 @@ if enabled libbluray_external; then
                 # following case statement.  This list should only
                 # shrink over time.
                 case $ID in
-                    centos)
-                        if test $VERSION_ID -gt 8; then
+                    centos|rocky|almalinux)
+                        if test ${VERSION_ID%\.*} -gt 8; then
                             die "ERROR: can not find libbluray."
                         fi
                         ;;
@stuarta
Copy link
Member

stuarta commented Sep 13, 2021

@garybuhrmaster is this just for master or fixes/31 as well?

@garybuhrmaster
Copy link
Contributor Author

It was written against master (sorry, I should have stated that in the proposed patch), but eventually I would not be surprised if someone will want a backport for fixes/31.

Long(er) discussion follows:

However, it turns out to be even more complicated. Due to "issues" centos, which is el compatible, does not ship libbluray-devel even in the devel (bootroot) repo (there is a long history which comes down to libbluray should probably have not been shipped in el itself, but that ship sailed, and one cannot undo that). Neither does rocky, which is trying to follow the centos lead. However, almalinux does ship libbluray-devel in its devel (buildroot) repo even though neither el, centos, nor rocky does (which makes almalinux more like el8++, which is possibly going to be problematic at some future point). For compatibility across all el8 variants, I think that not failing if one builds on almalinux even if one did not install the libbluray-devel there (and if one took the existing ansible scripts and replaced rocky with almalinux, you would not install libbluray-devel), is the appropriate choice, so the code should probably continue to include the almalinux test (although removing almalinux from the case is arguably also correct).

Note that my test mock build with almalinux fails due to a modularity install artifact (which I think is upstream, but I have not bothered to dig into it (modularity is a great idea in theory, until you have to actually deal with some of the actual results), which is why the patch was only successfully tested with rocky).

And, of course, since, in theory, el8 (and derivatives) should remain ABI compatible across its life, it should be possible to build in mock against centos-8 until eol and run on el8, centos-8, centos-stream-8, rocky-8, and almalinux-8. Maybe.

@stuarta stuarta self-assigned this Sep 24, 2021
@stuarta stuarta added patch:feature This patch implements a new feature version:master Master Development Branch labels Sep 24, 2021
@stuarta
Copy link
Member

stuarta commented Sep 24, 2021

Fixed in f605061

@stuarta stuarta closed this as completed Sep 24, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
patch:feature This patch implements a new feature version:master Master Development Branch
Projects
None yet
Development

No branches or pull requests

2 participants