Deprecate YASM
This is a proposed Change for Fedora Linux.
This document represents a proposed Change. As part of the Changes process, proposals are publicly announced in order to receive community feedback. This proposal will only be implemented if approved by the Fedora Engineering Steering Committee.
Summary
This Change proposes to deprecate YASM and build packages with NASM instead.
Owner
- Name: Dominik Mierzejewski
- Email: dominik@greysector.net
Detailed Description
YASM is unmaintained upstream currently, but it’s still used to compile assembly sources in 12 Fedora packages, including critical ones like Firefox. Last release was in July 2019 and last commit was in June 2024. Issues are left unresolved and pull requests unreviewed. It is getting dropped from other distributions already. In contrast, NASM is still maintained, with last release in April 2024 and last commit in November 2024 with no indication of upstream abandoning development. Most, if not all upstreams support building using NASM already, so the proposal is to switch their build dependency to NASM instead.
Feedback
Benefit to Fedora
Switching to compiling assembly sources with NASM ensures (critical) applications are built with a maintained assembler.
Scope
-
Proposal owners:
- Open pull requests to switch
BuildRequires: yasm
tonasm
or make the changes directly where permitted. - Mark
yasm
as deprecated by addingProvides: deprecated(yasm)
- Work with affected package maintainers and upstreams to ensure they build with
nasm
correctly.
- Open pull requests to switch
-
Other developers: Affected package maintainers are encouraged (but not required) to ensure their packages build with
nasm
instead ofyasm
. -
Release engineering: N/A (not a System-wide Change)
-
Policies and guidelines: N/A (not needed for this Change)
-
Trademark approval: N/A (not needed for this Change)
-
Alignment with the Fedora Strategy: N/A (not needed for this Change)
Upgrade/compatibility impact
No new packages should require yasm
to build as it will be marked as deprecated. Existing packages will be built using nasm
going forward. The change should be transparent to users.
How To Test
fedrq wrsrc -s yasm -F name
returns no packages depending on yasm
to build.
User Experience
There should be no noticeable user impact.
Dependencies
Contingency Plan
- Contingency mechanism: Revert
BuildRequires:
back toyasm
and remove the deprecation. - Contingency deadline: Final Freeze
- Blocks release? N/A (not a System Wide Change)
Documentation
N/A (not a System Wide Change)
Release Notes
YASM assembler has been deprecated and all packages that required it to build are now built using NASM.
Last edited by @amoloney 2025-07-24T22:36:05Z
Last edited by @amoloney 2025-07-24T22:36:05Z