Documentation site: mdBook user + contributor guide (2.2)
An mdBook under docs/ rendering eight pages: introduction, installation, first-run/config, downloading, an anti-bot guide that captures the hard-won cookies/curl_cffi/POT/player-client knowledge, troubleshooting (the nine error classes + non-download issues), architecture (the two-front-ends/one-engine design, settings flow, layout invariant, persistence), and packaging. - .forgejo/workflows/docs.yml builds the book and publishes docs/book/ to the `pages` branch for Codeberg Pages on docs/ changes. - docs/book/ is gitignored (rendered output). - README: fix the stale backup.directory comment — every platform nests under the one library root, not a channels/ sibling split. - Add CLAUDE.md (repo guidance for Claude Code). Builds clean with mdbook 0.5; intra-doc anchor links verified. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
7906d7d07f
commit
e06c2ef826
14 changed files with 833 additions and 1 deletions
39
docs/src/packaging.md
Normal file
39
docs/src/packaging.md
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
# Packaging
|
||||
|
||||
Build distributable Linux packages with one script:
|
||||
|
||||
```sh
|
||||
scripts/package.sh all # .deb + .rpm + .AppImage → dist/
|
||||
scripts/package.sh deb # just the .deb
|
||||
scripts/package.sh rpm
|
||||
scripts/package.sh appimage
|
||||
```
|
||||
|
||||
It builds the release binary once and reuses it for every format,
|
||||
installing `cargo-deb` / `cargo-generate-rpm` on demand and downloading
|
||||
`appimagetool` to `dist/tools/` on first AppImage build. Per-format
|
||||
failures are isolated and summarized at the end. Output (gitignored)
|
||||
lands in `dist/`.
|
||||
|
||||
## Formats
|
||||
|
||||
- **`.deb`** — built by [cargo-deb](https://github.com/kornelski/cargo-deb)
|
||||
from `[package.metadata.deb]` in `Cargo.toml`.
|
||||
- **`.rpm`** — built by
|
||||
[cargo-generate-rpm](https://github.com/cat-in-136/cargo-generate-rpm)
|
||||
from `[package.metadata.generate-rpm]`. (`ffmpeg` on Fedora is in
|
||||
RPM Fusion.)
|
||||
- **AppImage** — a hand-rolled AppDir + appimagetool. Bundles the GUI
|
||||
binary's shared-library closure only; `yt-dlp`/`ffmpeg`/`mpv` stay host
|
||||
PATH deps, same as the package declarations.
|
||||
- **Arch** — use the repo's `PKGBUILD` (not this script); run `makepkg`
|
||||
from a clean directory.
|
||||
|
||||
## CI
|
||||
|
||||
`.forgejo/workflows/release.yml` runs `scripts/package.sh all` on every
|
||||
pushed `v*` tag and attaches the artifacts to the Codeberg release.
|
||||
`.forgejo/workflows/test.yml` runs the full test suite on every push.
|
||||
|
||||
The repo's [`docs/PACKAGING.md`](https://codeberg.org/anassaeneroi/yt-offline/src/branch/main/docs/PACKAGING.md)
|
||||
has the per-distro install commands and the Windows/macOS status in full.
|
||||
Loading…
Add table
Add a link
Reference in a new issue