Fedora Account System
Red Hat Associate
Red Hat Customer
Details: ansible-lint fails immediately on Fedora 44 due to a stale patch in the RPM spec file. The %prep section contains: # Fedora's ansible-core is 2.18.9 version currently sed -i '37d' pyproject.toml This deletes the ansible-core>=2.16.14 line from pyproject.toml before building, causing ansible-core to be absent from Requires-Dist in the installed dist-info METADATA. The patch was originally introduced in 25.9.1-2 to work around Fedora's ansible-core 2.18.9 not satisfying the >=2.20.0b1 pre-release requirement. It was carried forward unchanged into 26.1.1, where the upstream requirement dropped to >=2.16.14 — which Fedora's 2.18.9 does satisfy. The sed is now incorrect and strips a valid, satisfiable dependency. At runtime, ansible-lint's startup code calls Reqs("ansible-lint") to load the package's declared requirements, then checks whether the installed ansible-core satisfies them. Reqs.matches() returns False for any package absent from the requirements dict, triggering the error-handler branch. That branch then indexes self.reqs["ansible-core"] — which raises KeyError: 'ansible-core' and crashes before any linting occurs. Reproducible: Always Steps to Reproduce: Install Fedora 44 (fresh install, x86_64) sudo dnf install python3-ansible-lint Run ansible-lint in any director Actual Results: Traceback (most recent call last): File "/usr/bin/ansible-lint", line 7, in <module> sys.exit(_run_cli_entrypoint()) File ".../ansiblelint/__main__.py", line 376, in main app = get_app(offline=None, cached=True) File ".../ansiblelint/app.py", line 62, in __init__ msg = f"ansible-lint requires {package}..." KeyError: 'ansible-core' Expected Results: ansible-lint runs without crashing. Additional Information: Package: python3-ansible-lint-26.1.1-1.fc44 (built 2026-01-23) Upstream PyPI 26.1.1 wheel correctly includes Requires-Dist: ansible-core>=2.16.14 — the bug is Fedora-packaging-specific Installed Fedora METADATA verified: grep Requires-Dist /usr/lib/python3.14/site-packages/ansible_lint-*.dist-info/METADATA shows no ansible-core entry ansible-core 2.20.3 is installed and functional; the crash is purely a metadata mismatch Fix: Remove the sed -i '37d' pyproject.toml line from %prep in the spec file Secondary hardening fix in upstream ansiblelint/app.py line 58: change if not self.reqs.matches(...) to if package in self.reqs and not self.reqs.matches(...) to prevent a crash if the metadata is ever missing again Workaround (confirmed working): sudo sed -i 's/ if not self.reqs.matches(/ if package in self.reqs and not self.reqs.matches(/' \ /usr/lib/python3.14/site-packages/ansiblelint/app.py
FEDORA-2026-7e39a8ce5a (ansible-lint-26.4.0-2.fc44 and python-ansible-compat-26.3.0-1.fc44) has been submitted as an update to Fedora 44. https://bodhi.fedoraproject.org/updates/FEDORA-2026-7e39a8ce5a
FEDORA-2026-7e39a8ce5a has been pushed to the Fedora 44 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2026-7e39a8ce5a` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2026-7e39a8ce5a See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2026-7e39a8ce5a (ansible-lint-26.4.0-2.fc44 and python-ansible-compat-26.3.0-1.fc44) has been pushed to the Fedora 44 stable repository. If problem still persists, please make note of it in this bug report.