Expand description
Offline installation bundles: a folder holding HelixForge itself (with
its catalog inside), the packages chosen entries need for this machine’s
distribution and architecture, and a manifest of every file’s checksum.
On a machine of the same distribution without reliable internet, the
bundle is checked, then its packages are installed by the package manager
from the files, without downloading. Flatpak applications installed here
go in as flatpak create-usb copies them, with their runtimes, and are
installed from that copy, their remote’s signatures checked as from the
remote itself. What needs the network (AUR builds, scripts, Flatpaks not
installed here) is named, never pretended to be offline.
Structs§
- Bundled
Entry - Bundled
File - Bundled
Flatpak - A Flatpak application in the bundle, as
flatpak create-usbcopied it from this machine’s installation with the runtimes it needs. - Contents
- What a bundle would hold.
- Download
- A package to download.
- Manifest
- Tools
- What making a bundle asks the machine; tests answer instead.
Enums§
- Bundle
Error - Why a bundle cannot be made, read or used.
Constants§
- FLATPAKS
- The folder
flatpak create-usbwrites its repository into. - FORMAT
- The newest manifest format this version reads and writes: 2 holds Flatpaks, and bundles without them are still written as 1.
- KEYS
- The folder for the Flatpak remotes’ signing keys.
- MANIFEST
- The manifest’s file name in a bundle.
- SUMS
- The checksums, for
sha256sum --checkby hand.
Functions§
- contents
- Which entries can go offline, and the packages they need.
completetakes every dependency; otherwise those this machine lacks, which suits a machine set up like this one.scratchis a folder for pacman’s empty database. - create
- Make a bundle in
directory, which must be new or empty: the packages, a copy ofhelixforge, the manifest and the checksums. - detached_
signature - Whether bytes are binary OpenPGP signature packets and nothing else, as a detached signature is: no literal data, no compressed or one-pass packets that could carry a message of their own.
- plan_
install - A plan that installs a verified bundle’s packages from its files, for the entries named (all of the bundle’s when none). The files are copied into a new private folder and checked there against the checksums of the manifest verified here, which are written into the plan itself, so nothing changed in the bundle afterwards is installed. Then each package’s signature is checked (pacman’s with pacman-key, rpm’s with rpm -K), and the package manager installs them from the files.
- verify
- Read a bundle’s manifest and check every file against it: the same distribution family and architecture, every file there, with its checksum, and nothing that climbs out of the bundle.