[PATCH 00/29] Improve status and error reporting
Samuel Mendoza-Jonas
sam at mendozajonas.com
Mon Dec 19 15:18:46 AEDT 2016
This hefty set of patches aim to improve the clarity and relevance of status
and error messages in the user interface. These can largely be grouped together
as:
- Addition of a new 'status log' screen
A new screen holds a full backlog of all status messages sent by pb-discover.
This backlog is also available after exiting and restarting the UI.
- Improved relevance of status messages
Several status messages are added, clarified, or removed to be more useful to
the user. This also includes the addition of a number of internal helper
functions to make the addition of new messages easier.
- Live reporting of download progress
lib/process and discover/paths are extended to support live handling of the
output from asynchronous processes. For utilities concerned with file transfer
(tftp, wget, etc) this allows pb-discover to track download progress. For
small configuration files this is usually instant but becomes much more useful
when tracking the download of larger files such as the kernel and initrd during
boot. This supersedes parts of the previously posted series which adds support
for loading ISO images.
Jeremy Kerr (21):
types: shorten boot_status definitions
types: Remove detail and progress from struct status
ui/ncurses: Add status log UI
ui/ncurses: remove "Info:" / "Error:" prefix from status area
discover: separate status-reporting function from boot() callback
discover: Add helpers for status reporting
discover: use helpers for status reporting
discover: Add device-specific status reporting functions
discover: Use device_handler_status_dev_* for device-specific status
discover: add handler reference to struct discover_context
discover: Add reference to url in load_url_result
discover/status: remove completion messages
discover/status: report status on link configuration
discover/status: Be more specific about DHCP event status message
discover/status: report attempts at PXE configuration download
discover/status: report on PXE download failures
discover/status: make boot status calls more consistent
discover/status: Add parse status for GRUB2, yaboot & kboot parsers
discover/status: Use full URL in parse status message
discover/status: Add status messages for payload download results
ui/ncurses/text-screen: trim long lines
Samuel Mendoza-Jonas (8):
discover/boot: Improve kexec error reporting
lib/process: Allow process output to be retrieved on each event
discover/paths: Add stdout callback parameter for load_url_async()
discover/device-handler: Add aggregated download progress updates
discover/paths: Parse Busybox progress information
discover/paths: Announce download completion
discover: Maintain a backlog of status updates
ui/ncurses: Don't announce pb-discover connection
configure.ac | 6 +-
discover/boot.c | 148 ++++++++++++---------
discover/boot.h | 2 +-
discover/device-handler.c | 303 ++++++++++++++++++++++++++++++------------
discover/device-handler.h | 21 ++-
discover/discover-server.c | 29 +++-
discover/discover-server.h | 4 +-
discover/grub2/grub2.c | 4 +
discover/kboot-parser.c | 4 +
discover/network.c | 13 +-
discover/paths.c | 113 ++++++++++++++--
discover/paths.h | 6 +-
discover/pxe-parser.c | 47 +++++--
discover/yaboot-parser.c | 4 +
lib/pb-protocol/pb-protocol.c | 36 ++---
lib/pb-protocol/pb-protocol.h | 6 +-
lib/process/process.c | 41 +++++-
lib/process/process.h | 7 +
lib/types/types.h | 16 ++-
test/parser/handler.c | 4 +-
test/parser/utils.c | 9 +-
ui/common/discover-client.c | 6 +-
ui/common/discover-client.h | 4 +-
ui/ncurses/Makefile.am | 5 +-
ui/ncurses/nc-cui-help.c | 2 +
ui/ncurses/nc-cui.c | 51 +++++--
ui/ncurses/nc-cui.h | 3 +
ui/ncurses/nc-menu.c | 3 +
ui/ncurses/nc-statuslog.c | 108 +++++++++++++++
ui/ncurses/nc-statuslog.h | 35 +++++
ui/ncurses/nc-textscreen.c | 17 ++-
ui/test/discover-test.c | 4 +-
32 files changed, 814 insertions(+), 247 deletions(-)
create mode 100644 ui/ncurses/nc-statuslog.c
create mode 100644 ui/ncurses/nc-statuslog.h
--
2.10.2
More information about the Petitboot
mailing list