2.0 KiB
Ubuntu Installer
installer/agrarian-installer.sh provides a Ubuntu-only CLI for common build
actions. The current modernization baseline is Ubuntu 24.04 with deterministic
depends/; see doc/modernization.md for the verified dependency set.
For fresh Ubuntu hosts, prefer contrib/agrarian-build-menu.sh first. The menu
script installs target-specific packages, updates the selected branch, builds
the deterministic depends tree, and can install/start the daemon for the current
user. This installer CLI is retained as a lower-level build tool.
Usage
installer/agrarian-installer.sh [options]
Options:
--host <triplet>: target host triplet (default:x86_64-pc-linux-gnu)--action depends|daemon|qt|all: build action (default:all)--wallet 0|1: disable/enable wallet-related build flags (default:1)--jobs <n>: parallel jobs (default:nproc)--update: rungit pull --rebasebefore build--reset-depends: removedepends/work,depends/built, anddepends/<host>--yes: skip confirmation prompts--log <path>: write a build log to the provided path
Examples:
installer/agrarian-installer.sh --action depends --host x86_64-pc-linux-gnu --yes
installer/agrarian-installer.sh --action all --wallet 0 --jobs 4 --log /tmp/agrarian-install.log
If wallet is enabled (default), installer preflight checks require:
depends/<host>/include/db_cxx.hdepends/<host>/lib/libboost_thread*.adepends/<host>/lib/libboost_system*.a
For the current native Ubuntu Qt wallet path, depends should also provide Qt6
pkg-config files such as Qt6Core.pc, Qt6Gui.pc, Qt6Network.pc, and
Qt6Widgets.pc. The Linux Qt/font path also builds Expat 2.8.0 and FreeType
2.13.3 through depends. The Windows cross-build path also uses the Qt6 depends
target.
When missing, the installer exits early and prints the exact missing path(s) plus the make -C depends ... command to fix them.
Tests
Run installer tests with:
installer/tests/run.sh