diff options
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 83 |
1 files changed, 46 insertions, 37 deletions
@@ -33,45 +33,54 @@ Every key is optional. `File > Reload config` rereads the GUI config. sb-builder +The window has five tabs, always open: Dashboard, Packages, Hints, Results, +Jobs (Ctrl+PgUp/PgDn cycle them). The ribbon at the top holds the current +tab's actions, in the order a task uses them; the smaller bar under it holds +its view controls (select, clear, refresh). An action that does not apply is +greyed out, its tooltip says why. Actions act on the **ticked** rows: a click +anywhere on a row ticks or unticks it, Ctrl+A ticks every visible row, +Ctrl+Shift+A unticks all. + +Starting a job keeps you where you are; the Jobs tab shows "(running)" and +then the end status. When a job you started ends, its next step comes to you +as a dialog: after a preview, its log with **Run it** (and a **publish** box); +after a hint change, the diff with **Revert** and **Build these**. **Not +now** loses nothing: **Run it** in the Jobs tab, on a finished preview, +reopens it. + - **Dashboard**: VM load, uptime and free disk, package counts, slackrepo build results, last overlay pull, recent jobs. Refreshes while visible. -- **Open > Jobs**: start a job from the Start menu (`sbpull <overlay>` - preview, `sbshadow` preview or apply), follow its log live, kill it. After a - preview that lists `shadow:` or `unshadow:` lines, "Apply shadowing" runs - `sbshadow --yes`. - -- **Open > Packages** (or click the Packages tile): every package of the - repository, with built version and status (`ok`, `failed`, `never`, - `outdated`). Search by name or summary, or with `cat:`, `maint:`, `req:`, - `status:`; toggle the overlay and status chips. Ctrl+A ticks every visible - package, Ctrl+Shift+A unticks all (here and in Hints). The detail pane shows the - package's versions, its dependencies after hints (dropped ones struck - through), and what its hint file does, section by section. -- Tick packages and press Build, Update, Rebuild or Remove (they act on the - ticked packages only); Update all updates everything. Each first runs a slackrepo - `--preview` job. When the preview is fine, **Run it** in the Jobs tab starts - the real run; untick **publish** to keep the packages local and press - **Publish** later to push them. -- **Results** (ribbon, or click a result in the Dashboard's slackrepo bar or - legend): slackrepo's last build attempt per package, newest first, filterable - by result. **Show build log** (or double-click) opens the end of the log of - the package's last attempt (slackrepo keeps one per command: `build.log`, - `update.log`, `rebuild.log`, `remove.log`), where it reports the failure, - with its `resource.log` (load, memory, tmp over the build). -- **Hints** (ribbon): every package with a hint or an nvchecker stanza, with - hint, `.info` and upstream version. **Check upstream** runs nvchecker on the - desktop over `nvchecker.toml` in this repo (stanza name = package name, edit - it by hand to track a package; `hints.nvchecker_keyfile` gives it a GitHub - token) and ticks the outdated packages. **Update selected** rewrites their - hints on the VM (version, URLs, md5 of the downloaded source; **no download** - writes `DOWNLOAD="no"` instead; a hint sbshadow wrote, `DELREQUIRES` only, - gets the `.info` version lines added). **Delete hint** removes the ticked - packages' hints, each kept as a `.bak`. The Packages detail pane has **New hint** for a package - without one. -- After a hint job or a delete a dialog shows the diff of each changed hint, with - **Revert** per package and **Build these** (a slackrepo update preview). - neovim and openvino are refused for now: their bundled deps still need - mkhint on the VM. + The tiles open Packages, Results (one result kind) and Jobs. +- **Packages**: every package of the repository, with built version and + status (`ok`, `failed`, `never`, `outdated`). Search by name or summary, or + with `cat:`, `maint:`, `req:`, `status:`; toggle the overlay and status + chips. The detail pane shows the package's versions, its dependencies after + hints (dropped ones struck through), what its hint file does, and a link + to it in Hints. **Build**, **Update**, **Rebuild**, **Remove** and **Update + all** run a slackrepo `--preview` first; **New hint** creates hints, pinned + at the `.info` version, for the ticked packages without one; **Publish** + pushes the package repository (untick **publish** at Run it to hold a run + back and publish later). +- **Hints**: every package with a hint or an nvchecker stanza, with hint, + `.info` and upstream version. **Check upstream** runs nvchecker on the + desktop over `nvchecker.toml` in this repo (stanza name = package name, + edit it by hand to track a package; `hints.nvchecker_keyfile` gives it a + GitHub token) and ticks the outdated packages. **Update selected** rewrites + their hints on the VM (version, URLs, md5 of the downloaded source; with + **No download** on, `DOWNLOAD="no"` instead; a hint sbshadow wrote, + `DELREQUIRES` only, gets the `.info` version lines added). **Delete hint** + removes the ticked packages' hints, each kept as a `.bak`, revertable from + the dialog that follows. neovim and openvino are refused for now: their + bundled deps still need mkhint on the VM. +- **Results**: slackrepo's last build attempt per package, newest first, + filterable by result. **Show build log** (or double-click) opens the end of + the log of the package's last attempt (slackrepo keeps one per command: + `build.log`, `update.log`, `rebuild.log`, `remove.log`), where it reports + the failure, with its `resource.log` (load, memory, tmp over the build). +- **Jobs**: every job with its live log. **Pull overlay** (`sbpull <overlay>`) + and **Check shadowing** (`sbshadow`) run as previews; when one finds + `shadow:` or `unshadow:` lines, its dialog offers **Apply shadowing**. + **Kill** stops the selected running job. - Real runs sign the repository. When the package signing key is locked (status bar 🔒), the GUI asks for its passphrase first and hands it to the VM's gpg-agent; it is never stored. |
