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
F165063505: D58184.diff
Wed, Aug 5, 4:52 PM
Unknown Object (File)
Tue, Aug 4, 1:48 PM
Unknown Object (File)
Sun, Aug 2, 4:10 AM
Unknown Object (File)
Sun, Aug 2, 2:33 AM
Unknown Object (File)
Sat, Aug 1, 8:09 PM
Unknown Object (File)
Sat, Aug 1, 7:07 PM
Unknown Object (File)
Sat, Aug 1, 5:56 AM
Unknown Object (File)
Sat, Aug 1, 12:55 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 75169
Build 72052: arc lint + arc unit