Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

makepkg-git: use AsciiDoctor again #21

Merged
merged 8 commits into from
Sep 7, 2024
Merged

Conversation

dscho
Copy link
Member

@dscho dscho commented Aug 12, 2024

In #6, we switched the makepkg-git SDK artifact in git-sdk-arm64 away from using AsciiDoctor to using AsciiDoc instead. The reason was that the former was not yet supported in the clangarm64 packages in MSYS2.

In the meantime, AsciiDoctor is not only supported, but now also required to build mingw-w64-clang-aarch64-git.

So let's adjust the makepkg-git sparse checkout definition accordingly.

... because it's a new dependency of libcurl.

Ported-from-git-sdk-64: f76ce43 (minimal: now also need libpsl, 2022-12-21)
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
It was moved recently:
msys2/MINGW-packages#15143

This is yet another fall-out.

Ported-from-git-sdk-64: c1be5c8 (minimal: (re-)include the `ca-bundle.crt` file, 2023-01-21)
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
At https://dev.azure.com/Git-for-Windows/git/_build?definitionId=35, Git
for Windows maintains automation that submits builds to Coverity for
security scanning.

We just switched that Pipeline to use a minimal SDK (because it really
does not need to spend 4 minutes, 500GB worth of downloaded Git objects
and 2GB worth of disk space, just to compile Git and pre-analyze it for
Coverity).

Among other problems, this uncovered the fact that the pretty basic
`stat.exe` utility was not included in the minimal SDK.

Now, Git's test suite seems to be fine, probably because 1) it runs via
Bash, which has `stat` as a built-in, or 2) errors might be ignored or
misinterpreted.

But let's just include `stat` in minimal SDK.

Ported-from-git-sdk-64: ed0213b (minimal-sdk: include `stat.exe`, to support the Coverity Pipeline, 2023-03-08)
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
The `unzip.exe` tool we are including in the minimal subset of Git for
Windows' SDK nowadays links to `msys-bz2-1.dll`, but that library was
not included.

Let's include it, and add a test that verifies that this tool works.

Ported-from-git-sdk-64: 994f67f (minimal-zip: fix `unzip`, 2023-03-08)
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
The `gcc.exe` provided by Clang needs another DLL that was not required
when `gcc.exe` really was GCC.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
In msys2/MSYS2-packages@d7c37ffdadd, `gettext`
was identified as an incorrect dependency of the `xz` package and that
dependency was dropped.

As a consequence, Git for Windows no longer included `gettext`, which
uncovered a bug in the definition of the `makepkg-git` SDK artifact
where it relied on that implicit dependency instead of making it an
explicit requirement (because it is needed by `makepkg` and
`makepkg-mingw`).

Let's make it explicit that `gettext.exe` (and `xgettext.exe`) are to be
included in the `makepkg-git` SDK artifact.

While at it, also avoid the "`error_highlight' was not loaded." warning
when building Git for Windows' `mingw-w64-git-doc-html` package.

This addresses the previously-forgotten x86_64 part of
git-for-windows/git#4952; The i686 part of was
fixed by git-for-windows/build-extra#560
already.

Ported-from-git-sdk-64: a6f190c (makepkg-git: do include gettext and error_highlight, 2024-07-22)
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
It is a bit strange that this seems to work in git-sdk-64, because in
git-sdk-arm64 `bsdtar.exe` fails to load, complaining about a missing
`msys-crypto-3.dll`.

It is the right thing to loosen the pattern anyway, though, so let's do
that.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
In #6, we switched
the `makepkg-git` SDK artifact in git-sdk-arm64 away from using
AsciiDoctor to using AsciiDoc instead. The reason was that the former
was not yet supported in the `clangarm64` packages in MSYS2.

In the meantime, AsciiDoctor is not only supported, but now also
required to build `mingw-w64-clang-aarch64-git`.

So let's adjust the `makepkg-git` sparse checkout definition
accordingly.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
@dscho dscho force-pushed the include-asciidoctor-in-makepkg-git branch from 1ad6b81 to 5345bf6 Compare August 13, 2024 11:21
@dscho
Copy link
Member Author

dscho commented Aug 13, 2024

@dennisameling I just spun up a VM and tested this (with the fix in git-for-windows/build-extra#574), and it managed to build the mingw-w64-clang-aarch64-git, mingw-w64-clang-aarch64-git-doc-html, mingw-w64-clang-aarch64-git-doc-man & mingw-w64-clang-aarch64-git-pdb packages successfully.

Copy link
Collaborator

@dennisameling dennisameling left a comment

Choose a reason for hiding this comment

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

Wow, I was totally unaware of these files, as well as the fact that the git-sdk-64 repo already has those lines for asciidoctor in place.

Thank you for adding these lines, including gettext, which I was wondering how to add!

@dscho dscho merged commit b47a1fa into main Sep 7, 2024
@dscho dscho deleted the include-asciidoctor-in-makepkg-git branch September 7, 2024 12:01
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