Skip to content

Support signing tarballs containing hardlinks#16514

Merged
MichaelSimons merged 2 commits intodotnet:mainfrom
MichaelSimons:signtool-hardlinks
Feb 10, 2026
Merged

Support signing tarballs containing hardlinks#16514
MichaelSimons merged 2 commits intodotnet:mainfrom
MichaelSimons:signtool-hardlinks

Conversation

@MichaelSimons
Copy link
Copy Markdown
Member

This is a workaround for #16484 until dotnet/runtime#74404 is resolved. The runtime work to support hardlinks is actively being worked on but the scope expanded a bit and I would like to get unblocked now. I will revert the code changes when the runtime fix is in place and flows. The new test is valuable long term.

Copy link
Copy Markdown
Member

@ellahathaway ellahathaway left a comment

Choose a reason for hiding this comment

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

LGTM with one small comment

UseShellExecute = false,
RedirectStandardError = true
});
process.WaitForExit();
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

process.WaitForExit() can block indefinitely. Consider adding a timeout here (and handling the timeout case) to avoid a potential hang

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Good point. I see this is an existing problem in several places within the SignTool. I refactored this code to use the existing RunExternalProcess utility method in 879b3b6. This at least provides better logging but doesn't address the hang issue you noted. I logged a separate issue to address hangs throughout SignTool - #16517

ellahathaway
ellahathaway previously approved these changes Feb 9, 2026
Copy link
Copy Markdown
Member

@ellahathaway ellahathaway left a comment

Choose a reason for hiding this comment

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

LGTM with one small comment

@MichaelSimons MichaelSimons merged commit ab22aee into dotnet:main Feb 10, 2026
9 checks passed
@MichaelSimons MichaelSimons deleted the signtool-hardlinks branch February 10, 2026 17:47
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