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

ps/build follow-ups #1840

Closed
wants to merge 5 commits into from
Closed

Conversation

dscho
Copy link
Member

@dscho dscho commented Dec 17, 2024

These patches were required in the course of getting Git for Windows rebased onto Git v2.48.0-rc0. They are based on ps/build.

Cc: Patrick Steinhardt ps@pks.im

In 7e0730c (t: better support for out-of-tree builds, 2024-12-06),
the `bin-wrappers/` strategy was changed so that it no longer hard-codes
the template directory to be `@BUILD_DIR@/templates/blt`, but instead
interpolates the `@TEMPLATE_DIR@` placeholder during the build.

However, this commit only adjusted the `Makefile`-based build.

Let's adjust the CMake-based build as well. This fixes t0000.15 which
would otherwise fail with:

  ++ echo ''\''t1234-verbose/err'\'' is not empty, it contains:'
  't1234-verbose/err' is not empty, it contains:
  ++ cat t1234-verbose/err
  warning: templates not found in @TEMPLATE_DIR@

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
In 7e0730c (t: better support for out-of-tree builds, 2024-12-06)
the strategy was changed from letting `t7609-mergetool--lib.sh`
hard-code the directory where it expects to find the merge tools to
hard-coding that value in the placeholder `@GIT_TEST_MERGE_TOOLS_DIR@`
that is replaced during the build.

However, likely due to a copy/paste mistake (and reviewers missed this,
too), the CMake-based build was adjusted incorrectly, replacing that
placeholder not with the path to the merge tools, but with a Boolean
indicating whether to use a runtime-generated path prefix or not.

Let's fix that, addressing this CMake-build's symptom:

  Initialized empty Git repository in D:/a/git/git/t/trash directory.t7609-mergetool--lib/.git/
  ++ . true/vimdiff
  ./test-lib.sh: line 1021: true/vimdiff: No such file or directory

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
In e4b4880 (Makefile: extract script to massage Perl scripts,
2024-12-06), the code was refactored that is used to transform the Perl
scripts/modules to their final form.

Even the CMake-based build was adjusted, but the change used the file
name `PERL-HEADER` instead of the file name used by the Makefile-based
build (same name but with the `GIT-` prefix). Let's adjust the former to
the latter.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
In ccfba9e (Makefile: use "generate-perl.sh" to massage Perl
library, 2024-12-06), the previous strategy (which avoided spawning a
shell script to transform the files) was replaced by the same
`generate-perl.sh` invocation as for the Makefile-based build.

The only difference is that now the transformation tries to handle the
Perl modules in-place (which ends up in empty files because the same
file is used as input and output via stdin/stdout redirection), and the
Perl script cannot find them anymore because they are not in the
expected place.

Let's put them into the expected place again, i.e. into
`perl/build/lib/` instead of `perl/`.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
When the `vcxproj` target was introduced in `config.mak.uname` to allow
building Git with the Visual C toolchain, the `git remote-ext` command
was always executed in its dashed form. Therefore, it was impossible to
pass the test suite unless that command existed in its dashed form, and
we had to special-case this.

Later, when the `vcxproj` target got out of fashion because Visual
Studio gained native support for CMake builds, this special-casing was
copied without questioning it.

But as of 675df19 (transport-helper: do not run git-remote-ext etc.
in dashed form, 2020-08-26), the reason for this special-casing no
longer exists. So let's just drop it.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
@dscho
Copy link
Member Author

dscho commented Dec 17, 2024

/submit

Copy link

gitgitgadget bot commented Dec 17, 2024

Submitted as pull.1840.git.1734456721.gitgitgadget@gmail.com

To fetch this version into FETCH_HEAD:

git fetch https://github.com/gitgitgadget/git/ pr-1840/dscho/ps-build-followups-v1

To fetch this version to local tag pr-1840/dscho/ps-build-followups-v1:

git fetch --no-tags https://github.com/gitgitgadget/git/ tag pr-1840/dscho/ps-build-followups-v1

Copy link

gitgitgadget bot commented Dec 17, 2024

On the Git mailing list, Junio C Hamano wrote (reply to this):

"Johannes Schindelin via GitGitGadget" <gitgitgadget@gmail.com>
writes:

> These patches were required in the course of getting Git for Windows rebased
> onto Git v2.48.0-rc0. They are based on ps/build.

Thanks.  Let me mark it to be fast-tracked to 'master'.
Queued.
>
> Johannes Schindelin (5):
>   cmake: better support for out-of-tree builds follow-up
>   cmake(mergetools): better support for out-of-tree builds
>   cmake: use the correct file name for the Perl header
>   cmake: put the Perl modules into the correct location again
>   cmake/vcxproj: stop special-casing `remote-ext`
>
>  config.mak.uname                    |  4 ----
>  contrib/buildsystems/CMakeLists.txt | 15 +++++++++++----
>  2 files changed, 11 insertions(+), 8 deletions(-)
>
>
> base-commit: 904339edbd80ec5676616af6e072b41804c1c8eb
> Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1840%2Fdscho%2Fps-build-followups-v1
> Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1840/dscho/ps-build-followups-v1
> Pull-Request: https://github.com/gitgitgadget/git/pull/1840

Copy link

gitgitgadget bot commented Dec 17, 2024

This patch series was integrated into seen via git@3a52e82.

@gitgitgadget gitgitgadget bot added the seen label Dec 17, 2024
Copy link

gitgitgadget bot commented Dec 18, 2024

On the Git mailing list, Patrick Steinhardt wrote (reply to this):

On Tue, Dec 17, 2024 at 12:49:32PM -0800, Junio C Hamano wrote:
> "Johannes Schindelin via GitGitGadget" <gitgitgadget@gmail.com>
> writes:
> 
> > These patches were required in the course of getting Git for Windows rebased
> > onto Git v2.48.0-rc0. They are based on ps/build.
> 
> Thanks.  Let me mark it to be fast-tracked to 'master'.
> Queued.

Thanks for these fixups, Dscho. All of them look good to me.

Patrick

Copy link

gitgitgadget bot commented Dec 18, 2024

This branch is now known as js/ps-build-cmake-fixup.

Copy link

gitgitgadget bot commented Dec 18, 2024

This patch series was integrated into seen via git@d6cec0b.

Copy link

gitgitgadget bot commented Dec 18, 2024

This patch series was integrated into next via git@653a20d.

@gitgitgadget gitgitgadget bot added the next label Dec 18, 2024
Copy link

gitgitgadget bot commented Dec 19, 2024

This patch series was integrated into seen via git@2fbb787.

Copy link

gitgitgadget bot commented Dec 20, 2024

There was a status update in the "New Topics" section about the branch js/ps-build-cmake-fixup on the Git mailing list:

Build fixes for Windows.

Will merge to 'master'.
source: <pull.1840.git.1734456721.gitgitgadget@gmail.com>

Copy link

gitgitgadget bot commented Dec 21, 2024

This patch series was integrated into seen via git@0985328.

Copy link

gitgitgadget bot commented Dec 22, 2024

This patch series was integrated into seen via git@279665f.

Copy link

gitgitgadget bot commented Dec 22, 2024

This patch series was integrated into seen via git@a29fe49.

Copy link

gitgitgadget bot commented Dec 23, 2024

This patch series was integrated into seen via git@8cad35f.

Copy link

gitgitgadget bot commented Dec 23, 2024

This patch series was integrated into master via git@8cad35f.

Copy link

gitgitgadget bot commented Dec 23, 2024

This patch series was integrated into next via git@8cad35f.

@gitgitgadget gitgitgadget bot added the master label Dec 23, 2024
Copy link

gitgitgadget bot commented Dec 23, 2024

Closed via 8cad35f.

@gitgitgadget gitgitgadget bot closed this Dec 23, 2024
@dscho dscho deleted the ps-build-followups branch December 23, 2024 19:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant