aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md83
1 files changed, 46 insertions, 37 deletions
diff --git a/README.md b/README.md
index 366b740..ccf5edd 100644
--- a/README.md
+++ b/README.md
@@ -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.