git-for-windows/git-sdk-64

build-extra installer doesn't work anymore

brice-gros opened this issue · 11 comments

build-extra installer git-sdk-1.0.7 doesn't work anymore due to the removal of the master branch from this repo.
The fix is already present in build_extra, only a corresponding release is missing

dscho commented

Acknowledged. In the meantime, please use the work-around to clone https://github.com/git-for-windows/git-sdk-64 (or for 32-bit, https://github.com/git-for-windows/git-sdk-32) manually.

Hi @dscho

What's the 'right' way of installing this on top of an already installed previous version (If needed at all)?

I'm also having a separate issue with the package updates for mingw32, mingw64, and msys because of the retiral of some PGP keys due to the change of maintainer which I haven't managed to get past yet But not sure where it's best to discuss that.

dscho commented

What's the 'right' way of installing this on top of an already installed previous version (If needed at all)?

I typically git -C /c/git-sdk-64 pull (using Git Bash, not Git SDK Bash), but that requires no Git SDK processes to be running. And it only includes the packages tracked in git-sdk-64.

You might be better off using pacman -Syu.

I'm also having a separate issue with the package updates for mingw32, mingw64, and msys because of the retiral of some PGP keys due to the change of maintainer which I haven't managed to get past yet But not sure where it's best to discuss that.

You will have to use pacman-key --recv-key <key> && pacman-key --lsign-key <key> to fix that.

dscho commented

Well, it really is more of an "either/or". Either you go with git pull, or you do pacman. It does not really make sense to do both, except maybe for myself, to make sure that I catch bugs in the git-sdk-64 early.

Either you go with git pull, or you do pacman

However, currently both are failing for me, so it's a bit catch 22 with rather too many XY problem issues to get past.

I.e.

  • If I try checking out origin/main I get various .exe/.dll "Unlink of file" fails.
$ git reset --hard origin/main
Unlink of file 'usr/bin/dirmngr.exe' failed. Should I try again? (y/n) n
error: unable to unlink old 'usr/bin/dirmngr.exe': Invalid argument
Unlink of file 'usr/bin/msys-2.0.dll' failed. Should I try again? (y/n) n
error: unable to unlink old 'usr/bin/msys-2.0.dll': Invalid argument
Unlink of file 'usr/bin/msys-gcrypt-20.dll' failed. Should I try again? (y/n) n
error: unable to unlink old 'usr/bin/msys-gcrypt-20.dll': Invalid argument

(I think the "Invalid argument" is just our -1 return code).

  • If I try the pacman updates I get the key failures.

  • If I try the sdk I get the same key failures

$ sdk cd  msys2-runtime
...
==> Making package: msys2-runtime 3.1.7-4 (Sat, Oct 31, 2020  1:30:59 PM)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
error: mingw32: key "4A6129F4E4B84AE46ED7F635628F528CF3053E04" is unknown
:: Import PGP key 4A6129F4E4B84AE46ED7F635628F528CF3053E04? [Y/n]
error: key "4A6129F4E4B84AE46ED7F635628F528CF3053E04" could not be looked up remotely
error: mingw64: key "4A6129F4E4B84AE46ED7F635628F528CF3053E04" is unknown
:: Import PGP key 4A6129F4E4B84AE46ED7F635628F528CF3053E04? [Y/n]
error: key "4A6129F4E4B84AE46ED7F635628F528CF3053E04" could not be looked up remotely
error: msys: key "4A6129F4E4B84AE46ED7F635628F528CF3053E04" is unknown
...

So at the moment, I'm flailing around a bit trying to get to a firm state.

I was even wondering about having a Windows config variable to allow the above errors to be temporarily converted to warnings to make progress in a slightly different direction (a checkout that appears to have those listed files as being reverted..)

dscho commented

$ git reset --hard origin/main
Unlink of file 'usr/bin/dirmngr.exe' failed. Should I try again? (y/n) n

That's because dirmngr is still running, I am certain. Once you stop it (e.g. via gpgconf --kill dirmngr) that'll no longer be an issue.

* If I try the pacman updates I get the key failures.

You might be able to fix them via gpg --recv-key <key> && gpg --lsign-key <key>, too.

In any case, if you haven't used your copy of the SDK for a while, it might be a good idea to just throw it away and start anew. It's not like you were in the middle of some work that mustn't be lost, right?

I had decided that I was in the sand trap, so I've renamed the old SDK install, and started a new one which installed Ok and make install and sdk build git-and-installer all completed successfully.

The PGP key thing does get a lot of hits for folks having had problems with time limiting issues, but the new sdk has side stepped that,

I've still to fetch any work I had from my old sdk, and ensure my Github forks all match up, (there's plenty / too much of half complete stuff to just lose..;-)

In case it helps anyone: While comparing my old and new installs, I did notice the SDK-64 .gitignore change for the pacman GNU Privacy Guard folder, which had been one of the areas mentioned in the MSYS2 News for fixing the missing signature.

The pacman updates appear to run fine now.