Deterministic/reproducible packaging for `Compress-PSResource`
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 45/100
調査の方向性
Begin at the Compress-PSResource entry point and trace package generation, including timestamps, PSMDCP naming, .rels, and [Content_Types].xml ordering. Done means default output is reproducible and -Timestamp applies to all packaged files, with deterministic names and XML ordering.
索引モデルが issue の本文から書いたものです。
説明
Summary of the new feature / enhancement
Deterministic/reproducible builds are an undeniably important feature for auditability and security. Currently, Compress-PSResource doesn't provide support for that, and it should.
Currently, I post-process my packages to ensure fully reproducible output, which takes significant time in a build.
Proposed technical implementation details (optional)
There are a few sources of non-determinism I have observed in Compress-PSResource:
- The timestamps of files in the zipped package.
- The PSMDCP file name is non-deterministic. Consequently, the
.relsfile content is non-deterministic. - The
[Content_Types].xmlcontent, notably the order of children, is non-deterministic. (? I remember observing this but couldn't give a stable reproduction at the moment.)
Suggestion.
- Make
Compress-PSResourcedeterministic by default. PSMDCP name can be a hash of non-.relsnon-.psmdcpfiles, and[Content_Types].xmlchildren should be sorted. - Provide a new parameter
-Timestamp. When this parameter is set, all files in the package should use this timestamp.
- 主要言語
- C#
- スター
- 576
- フォーク
- 114
- 平均マージ
- 1日 2時間
- マージ済み PR(30日)
- 7
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
PowerShell/PSResourceGet のほかの issue
-
Create parent directories only after the containment check in InstallHelper.TryExtractToDirectory オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
PowerShell/PSResourceGet#2056 ·
-
feature_request
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
PowerShell/PSResourceGet#2013 · コメント 3 件 ·
-
Needs-Triage
難易度 3/5 1〜2日 初心者へのやさしさ 68/100
PowerShell/PSResourceGet#2055 ·
-
Needs-Triage
難易度 3/5 1〜2日 初心者へのやさしさ 72/100
PowerShell/PSResourceGet#2054 ·
-
(dsc): Export ignores `--input` filter for `Repository` and `PSResourceList` on DSC 3.3.* or above オープンNeeds-Triage
難易度 3/5 1〜2日 初心者へのやさしさ 72/100
PowerShell/PSResourceGet#2053 ·
PowerShell/PSResourceGet の issue をすべて見る
似ている issue
-
bug
難易度 1/5 1時間未満 初心者へのやさしさ 75/100
sillsdev/languageforge-lexbox#2665 ·
-
bug documentation frontend
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
azurenoops/spin_agent#975 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
-
:watch: Not Triaged 11.0 fundamentals/subsvc
難易度 2/5 1〜3時間 初心者へのやさしさ 92/100
dotnet/AspNetCore.Docs#37699 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
SubtitleEdit/subtitleedit#15108 · コメント 1 件 ·