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. What needs the network (Flatpaks, AUR builds, scripts) is named, never pretended to be offline.

Structs§

BundledEntry
BundledFile
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§

FORMAT
The manifest format this version writes.
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.