Bug 2332250

Summary: RFE: update ShellCheck in EPEL 9 to v0.10
Product: [Fedora] Fedora EPEL Reporter: Michel Lind <michel>
Component: ShellCheckAssignee: Jens Petersen <petersen>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: epel9CC: david.mateos, dridi.boukelmoune, greg.hellings, petersen
Target Milestone: ---Flags: petersen: mirror+
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: ShellCheck-0.10.0-3.el9 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2025-02-21 04:09:32 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Michel Lind 2024-12-13 10:57:15 UTC
Description of problem:
We're looking at using the EPEL build of ShellCheck in our CentOS deployment instead of a custom build, but the version currently in EPEL is older and ideally we don't want to downgrade

Version-Release number of selected component (if applicable):
ShellCheck-0.8.0-2.el9

Additional info:
Rebuilding from Rawhide results in this error

[ 1 of 28] Compiling Paths_ShellCheck

dist/build/autogen/Paths_ShellCheck.hs:10:1: error:
    Could not find module ‘Control.Exception’
    Perhaps you haven't installed the profiling libraries for package ‘base-4.14.3.0’?
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
   |
10 | import qualified Control.Exception as Exception
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

dist/build/autogen/Paths_ShellCheck.hs:11:1: error:
    Could not find module ‘Data.Version’
    Perhaps you haven't installed the profiling libraries for package ‘base-4.14.3.0’?
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
   |
11 | import Data.Version (Version(..))
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

dist/build/autogen/Paths_ShellCheck.hs:12:1: error:
    Could not find module ‘System.Environment’
    Perhaps you haven't installed the profiling libraries for package ‘base-4.14.3.0’?
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
   |
12 | import System.Environment (getEnv)
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

dist/build/autogen/Paths_ShellCheck.hs:13:1: error:
    Could not find module ‘Prelude’
    Perhaps you haven't installed the profiling libraries for package ‘base-4.14.3.0’?
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
   |
13 | import Prelude
   | ^^^^^^^^^^^^^^
error: Bad exit status from /var/tmp/rpm-tmp.AhhE2T (%build)


RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.AhhE2T (%build)

Comment 1 Jens Petersen 2024-12-16 04:52:01 UTC
(I opened https://src.fedoraproject.org/rpms/ShellCheck/pull-request/3 to update F40)

Comment 2 Jens Petersen 2024-12-16 06:22:22 UTC
It seems to build okay with ghc-rpm-macros-2.7.2-1.el9 in epel9-testing,
so it should be okay I think.  (Except the testsuite hangs for me.)

Might be good to know why it is hanging, though maybe not a blocker:
it might be due to older deps in epel9 perhaps.

Comment 3 Jens Petersen 2024-12-17 12:28:28 UTC
(nvm the testsuite was already disabled for epel9, so it is not a regression)

Comment 4 Jens Petersen 2024-12-17 12:32:58 UTC
Btw do you have any opinion on 0.9 vs 0.10?

Arguably 0.8 to 0.10 is a big jump - though I am not sure how big the implications are.
I don't use ShellCheck heavily myself.

Hopefully noone would complain...

Comment 5 Jens Petersen 2024-12-17 12:34:18 UTC
(This still needs a little time from me, because ghc-srpm-macros-epel needs to land in the buildroot first
in order to build newer Fedora Haskell packages like this bump)

Comment 6 Jens Petersen 2024-12-17 14:47:22 UTC
I have now finally pushed ghc-srpm-macros-epel into Bodhi at least.

Comment 7 Jens Petersen 2024-12-18 04:27:36 UTC
Looking at the changelog I guess moving to 0.10 maybe okay.
Though new additional finding might surprise some longtime users.

Also I accidentally already pushed it to origin/epel9... ;)

Comment 8 Jens Petersen 2024-12-18 04:27:52 UTC
Meant to include https://hackage.haskell.org/package/ShellCheck-0.10.0/changelog

Comment 9 Michel Lind 2024-12-18 17:07:49 UTC
(In reply to Jens Petersen from comment #4)
> Btw do you have any opinion on 0.9 vs 0.10?
> 
> Arguably 0.8 to 0.10 is a big jump - though I am not sure how big the
> implications are.
> I don't use ShellCheck heavily myself.
> 
> Hopefully noone would complain...

We (Meta) already have an internal build of 0.10 deployed internally, so having 0.9 in Fedora won't be that helpful - I can ask internally and see if we actually need any feature from 0.10, or 0.9 is good enough

We (Fedora) also have a process for doing an incompatible upgrade in EPEL - https://docs.fedoraproject.org/en-US/epel/epel-policy-incompatible-upgrades/#process_for_incompatible_upgrades

Comment 10 Michel Lind 2024-12-18 17:09:47 UTC
FWIW this does not seem to warrant an incompatible notification process

https://github.com/koalaman/shellcheck/blob/master/CHANGELOG.md#v0100---2024-03-07

(both 0.9 and 0.10 don't seem to have breaking changes, just fixes and lots of additions)

Comment 11 Jens Petersen 2024-12-19 13:11:35 UTC
I agree with you, I think it is fine.
I just thought it was worth asking the question,
but on further consideration I too think it makes sense.

Might not hurt to send a heads-up anyway to epel-devel though.

Anyway I intend to proceed as I said, once ghc-srpm-macros-epel goes stable and is added in the srpm buildroot.

Comment 12 Jens Petersen 2025-01-14 03:48:57 UTC
*** Bug 2337358 has been marked as a duplicate of this bug. ***

Comment 13 Fedora Update System 2025-02-05 10:57:11 UTC
FEDORA-EPEL-2025-5ce332634f (ShellCheck-0.10.0-3.el9) has been submitted as an update to Fedora EPEL 9.
https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2025-5ce332634f

Comment 14 Fedora Update System 2025-02-06 02:28:02 UTC
FEDORA-EPEL-2025-5ce332634f has been pushed to the Fedora EPEL 9 testing repository.

You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2025-5ce332634f

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 15 Fedora Update System 2025-02-21 04:09:32 UTC
FEDORA-EPEL-2025-5ce332634f (ShellCheck-0.10.0-3.el9) has been pushed to the Fedora EPEL 9 stable repository.
If problem still persists, please make note of it in this bug report.