Skip to content

feat(ShellCheck): add ShellCheck 0.11.0 with ghc-Diff and ghc-fgl deps - #18318

Draft
liunan-ms wants to merge 1 commit into
microsoft:4.0from
liunan-ms:liunan/add-shellcheck
Draft

feat(ShellCheck): add ShellCheck 0.11.0 with ghc-Diff and ghc-fgl deps#18318
liunan-ms wants to merge 1 commit into
microsoft:4.0from
liunan-ms:liunan/add-shellcheck

Conversation

@liunan-ms

@liunan-ms liunan-ms commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds ShellCheck 0.11.0 (shell script analysis tool) to Azure Linux 4.0, imported from Fedora 43 as a bare upstream component (no overlays required).

Two previously-missing Haskell build dependencies are pulled in alongside it:

Component Version Role
ShellCheck 0.11.0 Target package — provides /usr/bin/shellcheck
ghc-Diff 0.5 Missing BuildRequires of ShellCheck
ghc-fgl 5.8.3.0 Missing BuildRequires of ShellCheck

All three are inline Fedora-43 imports in base/comps/components.toml.

Dependency analysis

ShellCheck's BuildRequires: ghc-Cabal ghc-Diff ghc-QuickCheck ghc-aeson ghc-array ghc-base ghc-bytestring ghc-containers ghc-deepseq ghc-directory ghc-fgl ghc-filepath ghc-mtl ghc-parsec ghc-process ghc-regex-tdfa ghc-transformers + ghc-rpm-macros pandoc.

  • GHC boot libraries (Cabal, array, base, bytestring, containers, deepseq, directory, filepath, mtl, parsec, process, transformers, pretty) — already shipped by the existing ghc compiler package.
  • Already packaged: ghc-QuickCheck, ghc-aeson, ghc-regex-tdfa, ghc-rpm-macros, pandoc, plus transitive dos2unix and ghc-hspec.
  • Newly added (only gap): ghc-Diff, ghc-fgl.

Transitive deps of the two new components resolve entirely against existing packages.

Validation

  • Build: full chain ghc-Diffghc-fglShellCheck built cleanly, producing ShellCheck-0.11.0-2.azl4.x86_64.rpm (+ ghc-ShellCheck library subpackages).
  • Smoke test (mock chroot, RPM installed):
    • shellcheck resolves to /usr/bin/shellcheck.
    • Linting a flawed script correctly reports findings (SC2154, SC2086) and exits non-zero.
    • Linting a clean script exits 0.
  • Repo consistency: azldev comp update reports locks up to date; azldev comp render shows no spec drift after commit.

Import ShellCheck 0.11.0 from Fedora 43 as a shell script analysis tool.
Pull in its two previously-missing Haskell build dependencies, ghc-Diff
0.5 and ghc-fgl 5.8.3.0; all other BuildRequires are satisfied by the
existing ghc compiler package and already-packaged ghc-* libraries.

Built and smoke-tested in a mock chroot (shellcheck --version, lint of
both a flawed and a clean script).
Copilot AI balanced review requested due to automatic review settings August 4, 2026 22:56

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Adds ShellCheck 0.11.0 and its missing Haskell dependencies as bare Fedora 43 components.

Changes:

  • Registers ShellCheck, ghc-Diff, and ghc-fgl.
  • Adds generated specs, sources, and lock files.
  • Includes ghc-Diff’s revised Cabal metadata.

Reviewed changes

Copilot reviewed 8 out of 11 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
base/comps/components.toml Registers three components.
locks/ShellCheck.lock Pins ShellCheck upstream state.
locks/ghc-Diff.lock Pins ghc-Diff upstream state.
locks/ghc-fgl.lock Pins ghc-fgl upstream state.
specs/s/ShellCheck/ShellCheck.spec Defines ShellCheck RPM packaging.
specs/s/ShellCheck/sources Records ShellCheck source checksum.
specs/g/ghc-Diff/ghc-Diff.spec Defines ghc-Diff RPM packaging.
specs/g/ghc-Diff/Diff-0.5.cabal Supplies revised Cabal metadata.
specs/g/ghc-Diff/sources Records ghc-Diff source checksum.
specs/g/ghc-fgl/ghc-fgl.spec Defines ghc-fgl RPM packaging.
specs/g/ghc-fgl/sources Records ghc-fgl source checksum.

Comment thread specs/g/ghc-fgl/ghc-fgl.spec
Comment thread specs/s/ShellCheck/ShellCheck.spec
@reubeno

reubeno commented Aug 5, 2026

Copy link
Copy Markdown
Member

@liunan-ms Great to see this coming through! This package has been long-requested 😄

Just a reminder that new package additions will require working with the team to get them allow-listed in our build services (koji) -- across dev and prod.

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

Successfully merging this pull request may close these issues.

3 participants