-
Notifications
You must be signed in to change notification settings - Fork 56
Fix Windows packaging #414
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
base: main
Are you sure you want to change the base?
Conversation
`arch` tests the kernel, not the userspace (thanks Tianon!) Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
Replace the Fedora version check with the actual check for the `ld.gold` linker availability. Go hardcoded workaround **always** forces the `ld.gold` linker on arm64. Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
On Debian Trixie and newer versions, binutils-gold is no longer included in the base binutils package and must be installed separately. Without this component, the build fails on arm64 with "collect2: fatal error: cannot find 'ld'" error. Go has a hardcoded workaround where it forces usage of ld.gold on ARM64. It was only needed for ld 2.40, and Trixie is already on 2.44 but the workaround hasn't been removed from the upstream Go code yet. We need to make sure that ld.gold is available when building for Trixie on arm64. This is the same case as with Fedora 41: b153483 Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
f5208ea to
b31030e
Compare
|
Note: I can't reproduce this on my local Windows machine. Looks like the only difference is the Git version on the host: CIgit version 2.44.0.windows.1 My systemgit version 2.41.0.windows.1 EDIT: I tried with the same git version as the CI host and it still works fine |
Adds the all paths to safe directories to address the "dubious ownership" error when building containerd in Windows container: ``` fatal: detected dubious ownership in repository at 'C:/gopath/src/github.com/containerd/containerd' 'C:/gopath/src/github.com/containerd/containerd' is owned by: NT AUTHORITY/SYSTEM (S-1-5-18) but the current user is: User Manager/ContainerAdministrator (S-1-5-93-2-1) ``` Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
0e37fe8 to
4dc0d07
Compare
Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
e5a1457 to
54f49c8
Compare
54f49c8 to
4523224
Compare
Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
|
Was also trying; and then for some reason it doesn't find the repo to be a git repo in the bind mount? Could that be related to version differences between host and container? #413 |
|
Yeah I'm trying to see what the windows container sees in the workdir, but Windows still manages to outsmart me 🙈 |
|
I can't reproduce it on my local machine (I installed the same git version on the host as the CI system) |
3a6a8a1 to
e305470
Compare
Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
e305470 to
eec515f
Compare
Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
|
No idea, the docker run \
--rm \
-v "d:/jenkins/workspace/containerd-packaging_PR-414/src/:C:/gopath/src" \
-v "d:/jenkins/workspace/containerd-packaging_PR-414/build/windows:C:/gopath/src/github.com/containerd/containerd/bin" \
-w "C:/gopath/src/github.com/containerd/containerd" \
dockereng/containerd-windows-builder \
powershell.exe "Get-ChildItem -Force; make -d bin/containerd"
Directory: C:\gopath\src\github.com\containerd\containerd
Mode LastWriteTime Length Name
---- ------------- ------ ----
d--h-- 3/18/2025 6:37 PM .git
d----- 3/18/2025 6:37 PM .github
d----- 3/18/2025 6:37 PM api
d----- 3/18/2025 6:37 PM archive
d----- 3/18/2025 6:37 PM bin
d----- 3/18/2025 6:37 PM cio
d----- 3/18/2025 6:37 PM cluster
d----- 3/18/2025 6:37 PM cmd But for some reason we get the
|
|
Could it be either permissions on the git directory or different format of the git directory data? (I know work is in progress to switch to sha512; wondering if some of the data format changed?) I'd expect it to still detect it to be a git repository though (and wouldn't expect got itself to be incompatible THAT much) |
|
Heh, the |
Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
|
Could it be either a permission issue, or some security software that's running on these machines that block access to files? 🤔 |
|
Not really, overall git works before running Like: works fine, but: does not (there's no debug message for working dir - somehow it doesn't execute in the correct directory?) |
Adds the containerd path to safe directories to address the "dubious
ownership" error when building containerd in Windows container: