fix: remove mingw from distro#17104
Draft
trungams wants to merge 10 commits intotomls/base/mainfrom
Draft
Conversation
remove 12 mingw components that have no dependants in our distro Signed-off-by: Thien Trung Vuong <tvuong@microsoft.com>
Remove DirectX-Headers, which has no dependants in our distro Signed-off-by: Thien Trung Vuong <tvuong@microsoft.com>
Azure Linux does not ship mingw cross-compilation toolchains. Explicitly disable mingw support via build.without = ["mingw"] for all components whose upstream specs conditionally build mingw subpackages. - 40 components moved from inline entries in components.toml to dedicated comp.toml files with build.without = ["mingw"] - 4 existing comp files updated to add "mingw" to their without list (gnutls, libvirt, libsoup3, nghttp2) - 2 existing comp files already had mingw disabled (gdal, libdeflate)
Azure Linux does not ship mingw cross-compilation toolchains. Add overlay to set %global have_mingw 0, disabling the mingw subpackage that is conditionally enabled on Fedora.
Azure Linux does not ship mingw cross-compilation toolchains. Add overlay to comment out %global mingw_targets, which disables the i686-pc-windows-gnu and x86_64-pc-windows-gnu cross-compilation targets and their associated BuildRequires and subpackages.
Azure Linux does not ship mingw cross-compilation toolchains. Use spec-remove-subpackage overlays to strip all mingw subpackages from giflib, hidapi, jxrlib, nuspell, and python-geographiclib. Also remove their mingw BuildRequires and clean up mingw build/install steps.
Azure Linux does not ship mingw cross-compilation toolchains. The samba-winexe subpackage requires mingw32-gcc/mingw64-gcc for cross-compiling the Windows remote execution binary. Disable it via build.without.
Azure Linux does not ship mingw cross-compilation toolchains. Remove mingw32-gcc/mingw64-gcc BuildRequires and the Windows syslinux.exe/syslinux64.exe binaries from the package. These are only used to install syslinux from Windows, which is not applicable to Azure Linux.
Azure Linux does not ship mingw cross-compilation toolchains. Remove all 78 mingw-* components (77 inline + 1 dedicated), their 300 subpackage references from sdk.packages.toml, lock files, and rendered specs.
Refresh lock file fingerprints for all 54 components whose comp.toml was modified to disable mingw support.
📄❌ Rendered specs are out of dateFIX: — run this and commit the result: azldev component render -a --clean-staleOr download the fix patch and apply it: gh run download 25588791444 -R microsoft/azurelinux -n rendered-specs-patch
git apply rendered-specs.patch
Content diffs`specs/c/cereal/cereal.spec`--- committed/specs/c/cereal/cereal.spec
+++ rendered/specs/c/cereal/cereal.spec
@@ -1,5 +1,8 @@
# This spec file has been modified by azldev to include build configuration overlays.
# Do not edit manually; changes may be overwritten.
+
+# All Azure Linux specs with overlays include this macro file, irrespective of whether new macros have been added.
+%{load:%{_sourcedir}/cereal.azl.macros}
# Debuginfo packages are disabled to prevent rpmbuild from generating an empty
# debuginfo package for the empty main package.
@@ -8,7 +11,7 @@
Name: cereal
Version: 1.3.2
-Release: 12%{?dist}
+Release: 13%{?dist}
Summary: A header-only C++11 serialization library
# include/cereal/details/polymorphic_impl.hpp is BSL-1.0
# include/cereal/external/base64.hpp is Zlib
@@ -17,6 +20,7 @@
License: BSD-3-Clause AND BSL-1.0 AND Zlib AND MIT AND (MIT OR BSL-1.0)
Url: http://uscilab.github.io/cereal/
Source0: https://github.com/USCiLab/cereal/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
+Source9999: cereal.azl.macros
BuildRequires: gcc-c++
BuildRequires: boost-devel
`specs/c/check/check.spec`--- committed/specs/c/check/check.spec
+++ rendered/specs/c/check/check.spec
@@ -1,6 +1,9 @@
# This spec file has been modified by azldev to include build configuration overlays.
# Do not edit manually; changes may be overwritten.
+# All Azure Linux specs with overlays include this macro file, irrespective of whether new macros have been added.
+%{load:%{_sourcedir}/check.azl.macros}
+
%bcond mingw %[0%{?fedora}]
# Build without documentation for bootstrapping purposes
@@ -8,7 +11,7 @@
Name: check
Version: 0.15.2
-Release: 20%{?dist}
+Release: 21%{?dist}
Summary: A unit test framework for C
License: LGPL-2.1-or-later
URL: https://libcheck.github.io/check/
@@ -20,6 +23,7 @@
# diff -r check-0.15.2 upstream-check-0.15.2
# Source: https://github.com/libcheck/check/archive/{version}/{name}-{version}.tar.gz
Source: %{name}-%{version}.tar.gz
+Source9999: check.azl.macros
# Only needed for autotools in Fedora
Patch0: %{name}-0.11.0-info-in-builddir.patch
# Fix a texinfo error due to a missing @end verbatim
`specs/d/dtc/dtc.spec`--- committed/specs/d/dtc/dtc.spec
+++ rendered/specs/d/dtc/dtc.spec
@@ -1,6 +1,9 @@
# This spec file has been modified by azldev to include build configuration overlays.
# Do not edit manually; changes may be overwritten.
+# All Azure Linux specs with overlays include this macro file, irrespective of whether new macros have been added.
+%{load:%{_sourcedir}/dtc.azl.macros}
+
%global with_mingw 0
%if 0%{?fedora}
@@ -11,12 +14,13 @@
Name: dtc
Version: 1.7.2
-Release: 8%{?dist}
+Release: 9%{?dist}
Summary: Device Tree Compiler
License: GPL-2.0-or-later
URL: https://devicetree.org/
Source0: https://www.kernel.org/pub/software/utils/%{name}/%{name}-%{version}.tar.xz
+Source9999: dtc.azl.macros
Patch0001: 0001-build-fix-Dtools-false-build.patch
BuildRequires: gcc make
`specs/e/eigen3/eigen3.spec`--- committed/specs/e/eigen3/eigen3.spec
+++ rendered/specs/e/eigen3/eigen3.spec
@@ -1,5 +1,8 @@
# This spec file has been modified by azldev to include build configuration overlays.
# Do not edit manually; changes may be overwritten.
+
+# All Azure Linux specs with overlays include this macro file, irrespective of whether new macros have been added.
+%{load:%{_sourcedir}/eigen3.azl.macros}
# The (empty) main package is arch, to have the package built and tests run
# on all arches, but the actual result package is the noarch -devel subpackge.
@@ -25,7 +28,7 @@
Name: eigen3
Version: 3.4.0
-Release: 19%{?dist}
+Release: 20%{?dist}
Summary: A lightweight C++ template library for vector and matrix math
License: Apache-2.0 AND MPL-2.0 AND LGPL-2.0-or-later AND BSD-3-Clause AND Minpack
@@ -33,6 +36,7 @@
Source0: https://gitlab.com/libeigen/eigen/-/archive/%{version}/eigen-%{version}.tar.bz2
# For mingw, read the comment in the file for details
Source1: mingw_TryRunResults.cmake
+Source9999: eigen3.azl.macros
BuildRequires: %{blaslib}-devel
BuildRequires: fftw-devel
`specs/e/enchant2/enchant2.spec`--- committed/specs/e/enchant2/enchant2.spec
+++ rendered/specs/e/enchant2/enchant2.spec
@@ -1,16 +1,20 @@
# This spec file has been modified by azldev to include build configuration overlays.
# Do not edit manually; changes may be overwritten.
+# All Azure Linux specs with overlays include this macro file, irrespective of whether new macros have been added.
+%{load:%{_sourcedir}/enchant2.azl.macros}
+
%bcond mingw %[%{undefined rhel} && %{undefined flatpak}]
Name: enchant2
Version: 2.8.15
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: An Enchanting Spell Checking Library
License: LGPL-2.0-or-later
URL: https://github.com/rrthomas/enchant
Source0: https://github.com/rrthomas/enchant/releases/download/v%{version}/enchant-%{version}.tar.gz
+Source9999: enchant2.azl.macros
%if !0%{?rhel}
# Look for aspell using pkg-config, instead of AC_CHECK_LIB which adds -laspell
`specs/f/flatbuffers/flatbuffers.spec`--- committed/specs/f/flatbuffers/flatbuffers.spec
+++ rendered/specs/f/flatbuffers/flatbuffers.spec
@@ -2,7 +2,7 @@
## (rpmautospec version 0.8.3)
## RPMAUTOSPEC: autorelease, autochangelog
%define autorelease(e:s:pb:n) %{?-p:0.}%{lua:
- release_number = 6;
+ release_number = 7;
base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}"));
print(release_number + base_release_number - 1);
}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}}
@@ -10,6 +10,9 @@
# This spec file has been modified by azldev to include build configuration overlays.
# Do not edit manually; changes may be overwritten.
+
+# All Azure Linux specs with overlays include this macro file, irrespective of whether new macros have been added.
+%{load:%{_sourcedir}/flatbuffers.azl.macros}
%bcond cpp_tests 1
# Disabled for now because protobuf-devel does not provide CMake files
@@ -38,6 +41,7 @@
Source0: %{forgeurl}/archive/v%{version}/%{name}-%{version}.tar.gz
# Hand-written for Fedora in groff_man(7) format based on docs/source/flatc.md
Source1: flatc.1
+Source9999: flatbuffers.azl.macros
# Adjust library installation under mingw
# https://github.com/google/flatbuffers/pull/8365
@@ -374,6 +378,9 @@
%changelog
## START: Generated by rpmautospec
+* Sat May 09 2026 Thien Trung Vuong <tvuong@microsoft.com> - 25.2.10-7
+- chore: update lock files for mingw-disabled components
+
* Thu Apr 30 2026 Daniel McIlvaney <damcilva@microsoft.com> - 25.2.10-6
- feat: introduce deterministic commit resolution via Azure Linux lock file
`specs/f/fltk/fltk.spec`--- committed/specs/f/fltk/fltk.spec
+++ rendered/specs/f/fltk/fltk.spec
@@ -1,5 +1,8 @@
# This spec file has been modified by azldev to include build configuration overlays.
# Do not edit manually; changes may be overwritten.
+
+# All Azure Linux specs with overlays include this macro file, irrespective of whether new macros have been added.
+%{load:%{_sourcedir}/fltk.azl.macros}
# trim changelog included in binary rpms
%global _changelog_trimtime %(date +%s -d "1 year ago")
@@ -13,7 +16,7 @@
Name: fltk
Version: 1.3.11
-Release: 3%{?dist}
+Release: 4%{?dist}
Summary: C++ user interface toolkit
# see COPYING (or http://www.fltk.org/COPYING.php ) for exceptions details
@@ -22,6 +25,7 @@
Source0: https://github.com/%{name}/%{name}/releases/download/release-%{version}/%{name}-%{version}-source.tar.gz
Source1: fltk-config.sh
+Source9999: fltk.azl.macros
Patch0: fltk-cmake.patch
# add lib64 support, drop extraneous libs (bug #708185) and ldflags (#1112930)
`specs/f/freexl/freexl.spec`--- committed/specs/f/freexl/freexl.spec
+++ rendered/specs/f/freexl/freexl.spec
@@ -2,7 +2,7 @@
## (rpmautospec version 0.8.3)
## RPMAUTOSPEC: autorelease, autochangelog
%define autorelease(e:s:pb:n) %{?-p:0.}%{lua:
- release_number = 16;
+ release_number = 17;
base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}"));
print(release_number + base_release_number - 1);
}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}}
@@ -10,6 +10,9 @@
# This spec file has been modified by azldev to include build configuration overlays.
# Do not edit manually; changes may be overwritten.
+
+# All Azure Linux specs with overlays include this macro file, irrespective of whether new macros have been added.
+%{load:%{_sourcedir}/freexl.azl.macros}
# Doxygen HTML help is not suitable for packaging due to a minified JavaScript
# bundle inserted by Doxygen itself. See discussion at
@@ -44,6 +47,7 @@
License: MPL-1.1 OR GPL-2.0-or-later OR LGPL-2.1-or-later
URL: https://www.gaia-gis.it/fossil/freexl/index
Source: https://www.gaia-gis.it/gaia-sins/freexl-%{version}.tar.gz
+Source9999: freexl.azl.macros
# Fix incompatible pointer type in the mingw32 build
#
@@ -242,6 +246,9 @@
%changelog
## START: Generated by rpmautospec
+* Sat May 09 2026 Thien Trung Vuong <tvuong@microsoft.com> - 2.0.0-17
+- chore: update lock files for mingw-disabled components
+
* Thu Apr 30 2026 Daniel McIlvaney <damcilva@microsoft.com> - 2.0.0-16
- feat: introduce deterministic commit resolution via Azure Linux lock file
`specs/g/gcab/gcab.spec`--- committed/specs/g/gcab/gcab.spec
+++ rendered/specs/g/gcab/gcab.spec
@@ -1,6 +1,9 @@
# This spec file has been modified by azldev to include build configuration overlays.
# Do not edit manually; changes may be overwritten.
+# All Azure Linux specs with overlays include this macro file, irrespective of whether new macros have been added.
+%{load:%{_sourcedir}/gcab.azl.macros}
+
%global with_mingw 0
%if 0%{?fedora}
@@ -9,7 +12,7 @@
Name: gcab
Version: 1.6
-Release: 10%{?dist}
+Release: 11%{?dist}
Summary: Cabinet file library and tool
# Automatically converted from old format: LGPLv2+ - review is highly recommended.
@@ -17,6 +20,7 @@
#VCS: git:git://git.gnome.org/gcab
URL: http://ftp.gnome.org/pub/GNOME/sources/gcab
Source0: http://ftp.gnome.org/pub/GNOME/sources/gcab/%{version}/%{name}-%{version}.tar.xz
+Source9999: gcab.azl.macros
BuildRequires: git-core
BuildRequires: gettext
`specs/g/geos/geos.spec`--- committed/specs/g/geos/geos.spec
+++ rendered/specs/g/geos/geos.spec
@@ -1,5 +1,8 @@
# This spec file has been modified by azldev to include build configuration overlays.
# Do not edit manually; changes may be overwritten.
+
+# All Azure Linux specs with overlays include this macro file, irrespective of whether new macros have been added.
+%{load:%{_sourcedir}/geos.azl.macros}
# When distributed in RHEL, EPEL shouldn't be used. Mingw shouldn't be in RHEL,
# so it shouldn't be used anywhere, but in fedora.
@@ -11,12 +14,13 @@
Name: geos
Version: 3.14.1
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: GEOS is a C++ port of the Java Topology Suite
License: LGPL-2.1-only
URL: http://trac.osgeo.org/geos/
Source0: http://download.osgeo.org/%{name}/%{name}-%{version}.tar.bz2
+Source9999: geos.azl.macros
BuildRequires: cmake
BuildRequires: doxygen
… and 44 more file(s). Run the remediation command above to see all changes. Files to addThese files are produced by
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
mingw*subpackage currently being built for the remaining components--without mingwfor packages that currently has mingw references