[PATCH v2 00/12] Add interface for running pb-plugins
Samuel Mendoza-Jonas
sam at mendozajonas.com
Tue Jul 25 16:48:58 AEST 2017
With this series Petitboot can discover pb-plugin sources from both
PXE-formatted files and local storage devices, and present them to the user.
>From the new nc-plugin screen the user can request that these plugins be
installed and then run. Changes are made to the UI and process code to allow
processes to be run interactively.
Patches and patch order have changed slightly from v1; notable changes are:
- pb-discover now runs `pb-plugin scan` on each newly discovered storage
device, and presents these in the UI as well as plugins sourced from the
network.
- Changes in nc-cui are simplified - 'plugin' type boot_options do not need
to be handled completely separately from cui_boot_option_add().
- pb-exec now allows the user to optionally drop to a shell after running a
command.
- A number of minor cleanups, fixes, and improvements.
Samuel Mendoza-Jonas (12):
lib: Add plugin_option type and protocol
discover/pxe-parser: Recognise plugin sources
discover: Handle and track plugin_options
discover: Add 'plugin' user-event
lib/process: Add raw stdout mode
utils: Add pb-exec wrapper
utils/pb-plugin: Advertise pb-plugins to discover server
Add pb-plugin and pb-exec to pb_system_apps
discover/device-handler: Scan devices for plugins
discover: Handle plugin install request
ui/ncurses: Update cui_run_cmd() to pass display to command
ui/ncurses: Add plugin menu and nc-plugin screen
configure.ac | 2 +
discover/device-handler.c | 137 ++++++++++++
discover/device-handler.h | 7 +
discover/discover-server.c | 67 +++++-
discover/discover-server.h | 5 +
discover/event.c | 2 +
discover/event.h | 1 +
discover/pxe-parser.c | 19 +-
discover/user-event.c | 110 ++++++++++
lib/pb-protocol/pb-protocol.c | 117 ++++++++++-
lib/pb-protocol/pb-protocol.h | 9 +
lib/process/process.c | 7 +-
lib/process/process.h | 1 +
lib/system/system.c | 2 +
lib/system/system.h | 2 +
lib/types/types.h | 20 ++
test/parser/Makefile.am | 1 +
test/parser/handler.c | 6 +
test/parser/user-event.c | 13 ++
ui/common/discover-client.c | 48 +++++
ui/common/discover-client.h | 10 +
ui/ncurses/Makefile.am | 7 +-
ui/ncurses/nc-cui.c | 437 +++++++++++++++++++++++++++++++++++----
ui/ncurses/nc-cui.h | 16 +-
ui/ncurses/nc-menu.c | 29 ++-
ui/ncurses/nc-menu.h | 1 +
ui/ncurses/nc-plugin-help.c | 7 +
ui/ncurses/nc-plugin-menu-help.c | 7 +
ui/ncurses/nc-plugin.c | 418 +++++++++++++++++++++++++++++++++++++
ui/ncurses/nc-plugin.h | 34 +++
ui/ncurses/nc-scr.h | 1 +
utils/Makefile.am | 2 +-
utils/pb-exec | 16 ++
utils/pb-plugin | 54 +++--
34 files changed, 1541 insertions(+), 74 deletions(-)
create mode 100644 test/parser/user-event.c
create mode 100644 ui/ncurses/nc-plugin-help.c
create mode 100644 ui/ncurses/nc-plugin-menu-help.c
create mode 100644 ui/ncurses/nc-plugin.c
create mode 100644 ui/ncurses/nc-plugin.h
create mode 100755 utils/pb-exec
--
2.13.3
More information about the Petitboot
mailing list