Skip to content

Make ksh builds reproducible#47

Merged
alganet merged 1 commit intomainfrom
ksh-repro
Jan 27, 2026
Merged

Make ksh builds reproducible#47
alganet merged 1 commit intomainfrom
ksh-repro

Conversation

@alganet
Copy link
Owner

@alganet alganet commented Jan 27, 2026

No description provided.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This pull request implements reproducible builds for ksh (Korn Shell) variants by adding comprehensive build determinism measures and patching source-level non-determinism in floating-point padding.

Changes:

  • Added extensive reproducible build flags and environment configuration to the ksh build process including SOURCE_DATE_EPOCH, deterministic compiler flags, and ar/ranlib wrapper scripts
  • Introduced source-level patches to zero-initialize long double padding bytes before use to eliminate non-deterministic memory contents in build artifacts
  • Added patch utility dependency for 93uplusm fork variants that now require patch application

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated no comments.

Show a summary per file
File Description
variants/ksh.sh Implements reproducible build system with tar normalization, timestamp control, compiler flags, ar/ranlib wrappers, meson LTO disable, and binary stripping
patches/ksh/shvrChistory-b_2016-01-10/002-long-double-nan-pad.diff Patches ksh source to memset long double variables before use to ensure deterministic padding bytes
patches/ksh/shvrChistory-b_2012-08-01/002-long-double-nan-pad.diff Patches ksh source to memset long double variables before use to ensure deterministic padding bytes
patches/ksh/shvrChistory-b_2011-03-10/002-long-double-nan-pad.diff Patches ksh source to memset long double variables before use to ensure deterministic padding bytes
patches/ksh/shvrChistory-b_2010-10-26/002-long-double-nan-pad.diff Patches ksh source to memset long double variables before use to ensure deterministic padding bytes
patches/ksh/shvrChistory-b_2010-06-21/002-long-double-nan-pad.diff Patches ksh source to memset long double variables before use to ensure deterministic padding bytes
patches/ksh/shvrChistory-b_2008-11-04/002-long-double-nan-pad.diff Patches ksh source to memset long double variables before use to ensure deterministic padding bytes
patches/ksh/shvrChistory-b_2008-06-08/002-long-double-nan-pad.diff Patches ksh source to memset long double variables before use to ensure deterministic padding bytes
patches/ksh/shvrChistory-b_2008-02-02/002-long-double-nan-pad.diff Patches ksh source to memset long double variables before use to ensure deterministic padding bytes
patches/ksh/shvrA93uplusm-v1.0.2/002-long-double-nan-pad.diff Patches ksh source to memset long double variables before use to ensure deterministic padding bytes

@alganet alganet marked this pull request as ready for review January 27, 2026 04:51
@alganet alganet merged commit 7e9b4a2 into main Jan 27, 2026
12 checks passed
@alganet alganet deleted the ksh-repro branch January 27, 2026 05:51
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.

1 participant