Skip to content

fix: remove mingw from distro#17104

Draft
trungams wants to merge 10 commits intotomls/base/mainfrom
tvuong/fix/remove-mingw
Draft

fix: remove mingw from distro#17104
trungams wants to merge 10 commits intotomls/base/mainfrom
tvuong/fix/remove-mingw

Conversation

@trungams
Copy link
Copy Markdown
Member

@trungams trungams commented May 9, 2026

  • Remove all MinGW components from distro
  • Disable any mingw* subpackage currently being built for the remaining components
  • Explicitly set build --without mingw for packages that currently has mingw references

trungams added 10 commits May 8, 2026 18:23
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.
Copilot AI review requested due to automatic review settings May 9, 2026 02:12
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Copilot wasn't able to review this pull request because it exceeds the maximum number of files (300). Try reducing the number of changed files and requesting a review from Copilot again.

@trungams trungams marked this pull request as draft May 9, 2026 02:26
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 9, 2026

📄❌ Rendered specs are out of date

FIX: — run this and commit the result:

azldev component render -a --clean-stale

Or download the fix patch and apply it:

gh run download 25588791444 -R microsoft/azurelinux -n rendered-specs-patch
git apply rendered-specs.patch
Category Count
Content diffs 54
Extra files (untracked) 43
Missing files (deleted) 0

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 add

These files are produced by azldev component render but are missing from your branch. Add them.

  • specs/c/cereal/cereal.azl.macros
  • specs/c/check/check.azl.macros
  • specs/d/dtc/dtc.azl.macros
  • specs/e/eigen3/eigen3.azl.macros
  • specs/e/enchant2/enchant2.azl.macros
  • specs/f/flatbuffers/flatbuffers.azl.macros
  • specs/f/fltk/fltk.azl.macros
  • specs/f/freexl/freexl.azl.macros
  • specs/g/gcab/gcab.azl.macros
  • specs/g/geos/geos.azl.macros
  • specs/g/gtk-vnc/gtk-vnc.azl.macros
  • specs/i/inih/inih.azl.macros
  • specs/j/json-c/json-c.azl.macros
  • specs/l/leptonica/leptonica.azl.macros
  • specs/l/libgeotiff/libgeotiff.azl.macros
  • specs/l/libgsf/libgsf.azl.macros
  • specs/l/libkml/libkml.azl.macros
  • specs/l/liblerc/liblerc.azl.macros
  • specs/l/libosinfo/libosinfo.azl.macros
  • specs/l/librttopo/librttopo.azl.macros
  • specs/l/libsodium/libsodium.azl.macros
  • specs/l/libsoup3/libsoup3.azl.macros
  • specs/l/libspatialite/libspatialite.azl.macros
  • specs/l/libusb1/libusb1.azl.macros
  • specs/l/libvirt-glib/libvirt-glib.azl.macros
  • specs/l/libwebp/libwebp.azl.macros
  • specs/l/libxmlb/libxmlb.azl.macros
  • specs/l/libyaml/libyaml.azl.macros
  • specs/n/nghttp2/nghttp2.azl.macros
  • specs/o/openjpeg/openjpeg.azl.macros
  • specs/o/opus/opus.azl.macros
  • specs/o/osinfo-db-tools/osinfo-db-tools.azl.macros
  • specs/o/osinfo-db/osinfo-db.azl.macros
  • specs/p/p11-kit/p11-kit.azl.macros
  • specs/p/proj/proj.azl.macros
  • specs/p/python-pillow/python-pillow.azl.macros
  • specs/s/samba/samba.azl.macros
  • specs/s/shapelib/shapelib.azl.macros
  • specs/t/taglib/taglib.azl.macros
  • specs/t/tesseract/tesseract.azl.macros
  • specs/u/uriparser/uriparser.azl.macros
  • specs/w/wavpack/wavpack.azl.macros
  • specs/x/xerces-c/xerces-c.azl.macros

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.

2 participants