On Sat, 19 Apr 2025, Jeremy Drake via Cygwin-apps wrote: > On Sat, 19 Apr 2025, Brian Inglis via Cygwin-apps wrote: > > > That kind of thing would have to happen in the local Cygport or Scallywag CI > > Windows environment, as the calm infrastructure is Fedora. > > > > Could we use gendef and nm/objdump to compare Cygwin definitions and uses, > > or > > is there some loader function to display unresolved symbols, or the Cygwin > > ABI > > required? > > You might be interested in my > https://github.com/jeremyd2019/package-grokker action. MSYS2 uses it to > detect when rebuilds due to ABI breakage are required. A good amount of > it walks dependency trees from the pacman package databases, but the bits > using pefile to match up PE imports and exports would be relevant to > Cygwin also. If it were taught Cygwin's package metadata, it could > probably do the same for Cygwin. PRs welcome ;) > > package-grokker: > runs-on: ubuntu-latest > needs: build > > steps: > - uses: actions/download-artifact@v4 > id: artifacts > continue-on-error: true > with: > name: MSYS-packages > path: artifacts > - name: Grok packages > uses: jeremyd2019/package-grokker/grok-artifacts@main > if: steps.artifacts.outcome == 'success' > with: > repo: msys > path: artifacts
I ran this against msys2, comparing the 'old' package msys2-runtime-3.6.1-3 to the 'new' package msys2-runtime-3.5.7-4, and got the answer that diffutils and perl use exports from the 'old' package not in the 'new' package. (openssh was detected and rebuilt earlier). https://github.com/jeremyd2019/package-grokker/actions/runs/14561163991/job/40844635216