Skip to main content

Module bundle

Module bundle 

Source
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§

BundledEntry
BundledFile
BundledFlatpak
A Flatpak application in the bundle, as flatpak create-usb copied 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§

BundleError
Why a bundle cannot be made, read or used.

Constants§

FLATPAKS
The folder flatpak create-usb writes 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 --check by hand.

Functions§

contents
Which entries can go offline, and the packages they need. complete takes every dependency; otherwise those this machine lacks, which suits a machine set up like this one. scratch is a folder for pacman’s empty database.
create
Make a bundle in directory, which must be new or empty: the packages, a copy of helixforge, 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.