docs(readme): M130 r1 修正产物名的槽位说明与自相矛盾的 GUI 二进制称谓

- P2-1:`[.exe]` 只对两个 Windows 槽成立,四个 Linux/macOS 槽是 .tar.gz
  (make_artifacts.py:76-82 SLOTS、:243 stage_archive;packaging/README.md §1)。
  三处产物名统一写成 `unlucky-launcher_<version>_<platform>_<arch>` + 按槽位说明形态。
- P2-2:删掉「`unlucky-launcher` once extracted or downloaded」与段尾「Windows 裸资产文件名带
  版本段」的互相拆台;改成归档解出叫 `unlucky-launcher`、Windows 裸资产叫
  `unlucky-launcher_<version>_<platform>_<arch>.exe`。中英同步。
This commit is contained in:
AskaEth committed 2026-11-05 18:05:39 +08:00
1 parent 95131d856e
commit 72ee57f0a8
2 files changed
+16 -11

No files matched your search

+9 -7
View File
@@ -79,15 +79,16 @@ Binaries you may run into, so you can tell them apart:
| Binary | Crate | State |
|--------|-------|-------|
| `unlucky-launcher-iced` | `crates/app-iced` (iced 0.14) | the GUI binary the workspace builds; the release pipeline stages the file as `unlucky-launcher_<version>_<platform>_<arch>[.exe]`, and the binary inside each archive is named `unlucky-launcher`; the same binary answers every CLI subcommand |
| `unlucky-launcher-iced` | `crates/app-iced` (iced 0.14) | the GUI binary the workspace builds; the release pipeline stages the file as `unlucky-launcher_<version>_<platform>_<arch>` — a bare `.exe` on the two Windows slots, a `.tar.gz` on the four Linux / macOS slots — and the binary inside each archive is named `unlucky-launcher`; the same binary answers every CLI subcommand |
| `unlucky-launcher` | `crates/app` (Slint) | **historical**: that crate is excluded from the workspace, so this binary is no longer built or shipped; the v0.1.0 assets are the last Slint builds |
| `ull` | `crates/cli` | the zero-UI build of the same command set, shipped as its own asset |
The GUI binary (`unlucky-launcher` once extracted or downloaded) and `ull` are not duplicates. The GUI
binary needs the graphics stack when it opens a window (it `dlopen`s X11 / Wayland / GL, and links
`libfontconfig` at load); `ull` needs nothing beyond glibc, so it runs on a server or a CI container
where no window can exist. That floor is glibc ≥ 2.35 (the Linux slots build on Ubuntu 22.04), so an
older distribution — and Android/Termux, which is not a released slot at all — needs a source build
The GUI binary and `ull` are not duplicates. An archive extracts the first as `unlucky-launcher`; on
Windows it is a bare `unlucky-launcher_<version>_<platform>_<arch>.exe`. The GUI binary needs the
graphics stack when it opens a window (it `dlopen`s X11 / Wayland / GL, and links `libfontconfig` at
load); `ull` needs nothing beyond glibc, so it runs on a server or a CI container where no window can
exist. That floor is glibc ≥ 2.35 (the Linux slots build on Ubuntu 22.04), so an older distribution —
and Android/Termux, which is not a released slot at all — needs a source build
(`packaging/README.md` §4, §9). Pick `ull` when there is no desktop, `unlucky-launcher <command>` when
there is. Both print the same CLI text, and each names itself after the file you ran — `argv[0]` with
its directory and a trailing `.exe` removed, and nothing else (`crates/cli/src/cli/program.rs`). So
@@ -184,7 +185,8 @@ What the build produces:
subcommand listed above. The `iced` in this name is cargo's, not the download's: renaming the bin
is what the "flip" still owes. The release file name carries no implementation detail — the
pipeline builds this bin and `packaging/make_artifacts.py` stages it as
`unlucky-launcher_<version>_<platform>_<arch>[.exe]`, with the binary inside each archive named
`unlucky-launcher_<version>_<platform>_<arch>` — a bare `.exe` on the two Windows slots, a
`.tar.gz` on the four Linux / macOS slots — with the binary inside each archive named
`unlucky-launcher`, so download links never carry `iced`.
- `unlucky-launcher` — **historical**: no workspace build produces this binary any more; it belonged
to `crates/app`, which is excluded. The v0.1.0 assets are the last builds under this name.