Page MenuHomeFreeBSD

bsdinstall: give pkgbase/distextract a progress bar
Needs ReviewPublic

Authored by dteske on Sun, Jul 12, 1:43 AM.
Tags
None
Referenced Files
F162728690: D58184.diff
Thu, Jul 16, 5:28 AM
F162713083: D58184.diff
Thu, Jul 16, 1:53 AM
F162677175: D58184.diff
Wed, Jul 15, 3:50 PM
Unknown Object (File)
Tue, Jul 14, 9:50 AM
Unknown Object (File)
Mon, Jul 13, 10:21 PM
Unknown Object (File)
Sun, Jul 12, 2:15 AM
Subscribers

Details

Summary

bsdinstall's distextract returns to the progress view it used
until dialog(3) removal, now through bsdpv(3): per-distribution mini
progress bars, an overall gauge, and a files-per-second status line,
restored with the historical dpv-era structure intact.

The pkgbase installer, which previously ran pkg-install(8) with no
progress indication at all, now streams pkg(8)'s EVENT_PIPE JSON events
through a translator that advances a bsdpv(1) gauge on each
INFO_INSTALL_FINISHED, with the total taken from a dry-run solve; when
bsdpv(1) is unavailable (early bootstrap) it falls back to plain pkg(8)
output.

Test Plan

Prerequisites:
https://reviews.freebsd.org/D58118
https://reviews.freebsd.org/D58133

distextract was run against real archives under a pty and extracted
them with the gauge advancing to completion. The pkgbase bridge was
validated against a mock emitting libpkg's event JSON; it has not yet
been run against a live pkgbase repository.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 74733
Build 71616: arc lint + arc unit