-
Notifications
You must be signed in to change notification settings - Fork 611
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
Start support for MSYSTEM=ARM64 #321
Merged
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure about this line. Using the 64-bit SDK on another machine and then it doesn't work. When I remove this line,
/etc/profile
is updated correctly in the SDK root folder 🚀 Benefit of removing this line is that this patch will be applied both togit-sdk-32
andgit-sdk-64
, so then it doesn't matter which SDK folks use to build Git. This shouldn't hurt anyone unless their MSYSTEM is set toARM64
😊Will do some more tests later today, but at least for now
/etc/profile
is updated correctly 🎉There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's on purpose, actually: you will not find the
case
statement in the 64-bit SDK. Instead, it was moved to/etc/msystem
there.The reason why the 32-bit SDK has a different
/etc/profile
is that its MSYS part hasn't been updated in a long time. In other words, it does not reflect the newestfilesystems
package definition.For the moment, I would rather leave out the complication of dealing with both
git-sdk-32
andgit-sdk-64
, but focus on getting it working correctly only in thegit-sdk-32
case.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎉
My one concern is that the
MANPATH
is now set exclusively to/arm64/{local,share}/man
, but there is nothing there...There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So if I understand it correctly,
MANPATH
is for the Git for Windows manual files (https://git-scm.com/docs/git#Documentation/git.txt---man-path)? When is this variable actually being used?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I created a portable installer and it correctly includes the updated
/etc/profile
🚀What would be the correct order of steps to build a portable installer with the arm64 binaries? Something like this?
sdk build mingw-w64-git
pacman -U mingw-w64-i686-git-2.30.0.2.f8cbc844b8-1-any.pkg.tar.xz
sdk build git-extra
(so that/etc/profile
gets overwritten to include ARM64)pacman -U git-extra-1.1.513.20ab9a5-1-i686.pkg.tar.xz
C:\git-sdk-32\arm64
)--cross-compile-arm64
option, see portable: add arm64 artifact option #323 for detailsThere was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When you call something like
man bash
in the SDK. This issue is not that important given that we ship Git for Windows withoutman.exe
, but still...There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shall we leave it as-is for now then?
Just to confirm, this is the updated section in
/etc/profile
after runningsdk build git-extra
:There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wasn't happy leaving it as-is, in particular the rather non-intuitive
sed
invocation. @dennisameling could you please test again, and also sanity-check the new revision (it should be eminently more readable than before)?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@dscho just tested again, the results:
✔️ Running
sdk build git-extra
and thenpacman -U git-extra-...-tar.xz
correctly updates/etc/profile
ingit-sdk-32
:✔️ Things are looking good in ARM64 Git:
Thanks! And yes, the code is much easier to understand now, thank you 😅
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perfect. Time to merge, then.