Subject: Re: bug#65206: 29.1; [windows][patch] build-deps-zips.py is broken and hard to maintain

From: Eli Zaretskii <[email-masked]>
Date: Thu, 10 Aug 2023 16:29:12 +0300

> From: Corwin Brust <[email-masked]>
> Date: Thu, 10 Aug 2023 07:40:48 -0500
> 
> The script nt/admin/dist-build/build-deps-zips.py needs help.  This is
> the script that I use to collect and package dependencies and sources
> for dependencies on Microsoft Windows, as part of releasing Emacs
> binaries for Windows.  It is a python script that runs under MSYS2
> MSYS console (not MinGW).
> 
> Neither the version currently in the emacs-29 nor in the master
> branches will work for the given Emacs version without changes.  The
> attached patch would make emacs-29 match what I am using locally.
> 
> In addition to other changes, the patch reflects my current "transformation map"
> approach to deal with MSYS source package paths change, which seems to
> be happening quite a bit upstream.
> 
> In case it may not be clear, my process is to run the script
> after updating local MSYS packages that are dependencies (optional or
> no), or edit and run it when Emacs' dependencies have changed.
> 
> The patch reflects the script as I have been using it during the Emacs
> 29 release process.  I'm sure there's general room for improvement
> (editing this script is literally my only python coding credit), I'm
> opening this bug report because bug#65188 (a packaging error preventing
> WEBP from working for people using the Windows binaries) has called
> attention to the importance of having additional eyes on build tooling
> (especially when it so far contains hard-coded lists of upstream deps).

Would you mind providing an overview of the process by which the
script (and maybe some additional measures) collect(s) the list of the
dependency packages for the binary distro, including the main ideas
and information sources?  It is hard to glean all that from just a
patch, or even by reading the script, and I think that, given the
pains this gives, perhaps some new ideas are in order.

Thanks.