bug(install): install.sh prints gawk "escape sequence \. treated as plain ." warnings on RPM hosts
維護者通常 1 天內回覆
評估
研究方向
從 install.sh 開始,追蹤 find_rpm_asset,查看它的備援正規表示式如何傳遞給 awk。接著閱讀 tasks/scripts/test-install-sh.sh,並執行其中針對 gawk 的涵蓋率測試。完成條件是:RPM 安裝不會產生 awk 警告、備援正規表示式中的兩個點都按字面匹配,且 stderr 上出現任何輸出時測試都會失敗。
由索引模型根據 Issue 內容生成。
描述
User Story
I use OpenShell (0.1.3, checked against 0.1.5) on RHEL 9, and I install it with the published install.sh. Each RPM install prints three gawk warnings in the middle of the installer output. Users ask whether the install failed.
Problem Statement
find_rpm_asset builds its fallback regexes as "^openshell-[0-9].*\\.${_arch}\\.rpm$" (and the same for the gateway and prover packages). It passes them to awk with -v fallback_re=.... awk processes escape sequences in -v values, so the \. reaches awk as an escape:
- gawk warns
escape sequence '\.' treated as plain '.'once per regex. - The dot then matches any character instead of a literal dot.
Impact / Why This Matters
- Every RPM install shows three warnings that look like errors.
- The fallback match is looser than intended.
- There is no workaround for users of the published script. A wrapper that pins the script by digest cannot change it.
Acceptance Criteria
- An RPM install on RHEL 9 (gawk) prints no awk warnings.
- The fallback regex matches a literal
.before the arch and beforerpm. -
tasks/scripts/test-install-sh.shcoversfind_rpm_assetunder gawk and fails on any stderr output.
Reproduction Steps
- On RHEL 9, run
curl -fsSL https://raw.githubusercontent.com/NVIDIA/OpenShell/v0.1.5/install.sh | sh(RPM path).
Expected: no awk warnings.
Actual: three gawk warnings.
Suggested UX (if applicable)
None.
Environment
- OpenShell
install.shand checksum-verified RPM packages from v0.1.5. - RHEL 9.8 UBI RPM container on a RHEL 9.8 host, kernel 5.14.0-687.45.1.el9_8.x86_64; gawk 5.1.0; Docker 29.8.1; Podman 5.8.2. Host KVM was present but not used for this installer repro.
Logs
awk: warning: escape sequence `\.' treated as plain `.'
awk: warning: escape sequence `\.' treated as plain `.'
awk: warning: escape sequence `\.' treated as plain `.'
openshell: installed openshell RPM packages from v0.1.5
- 主要語言
- Rust
- 星號
- 17.1k
- 分支
- 1.8k
- 平均合併
- 2 天 11 小時
- 30 天內合併 PR
- 337
環境準備
- 沒有 Dockerfile 或 Docker Compose 檔案
- 有 Pull Request 範本
- 閱讀貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
NVIDIA/OpenShell 的其他 Issue
-
bug: workspace access hint suggests a --subject command that fails for hyphen-leading OIDC subjects未關閉
難度 2/5 1-3 小時 新手友好度 78/100
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 76/100
維護者通常 1 天內回覆
-
state:triage-needed
難度 2/5 1-3 小時 新手友好度 82/100
維護者通常 1 天內回覆
-
bug(sdk/go): browser login callback binds 127.0.0.1 but redirect_uri uses localhost可能重新可做 關聯的 PR 已關閉且未合併。 未關閉state:triage-needed
難度 2/5 1-3 小時 新手友好度 65/100
NVIDIA/OpenShell#4518 · 1 則留言 ·
維護者通常 1 天內回覆
-
state:triage-needed
難度 2/5 1-3 小時 新手友好度 62/100
維護者通常 1 天內回覆
相似的 Issue
-
api bug entity mobai
難度 2/5 1-3 小時 新手友好度 72/100
Pumpkin-MC/Pumpkin#4312 ·
維護者通常 1 天內回覆
-
bug easy good first issue
難度 2/5 1-3 小時 新手友好度 85/100
lacs-project/sysknife#659 ·
維護者通常 2 天內回覆
-
P3
難度 1/5 1 小時以內 新手友好度 83/100
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 78/100
-
documentation
難度 2/5 1-3 小時 新手友好度 70/100
registrystack/registry-stack#2431 ·
維護者通常 1 天內回覆