Lets user view journald log from VM in a similar format as journalctl uses.
Fixes RFE: journal reader in guestfish (RHBZ#988100) --- fish/fish.h | 3 +++ generator/Makefile.am | 6 ++++-- generator/actions.ml | 22 ++++++++++++++++++++++ generator/main.ml | 3 +++ 4 files changed, 32 insertions(+), 2 deletions(-) diff --git a/fish/fish.h b/fish/fish.h index df22e34..8ae6454 100644 --- a/fish/fish.h +++ b/fish/fish.h @@ -104,6 +104,9 @@ extern int rc_remote (int pid, const char *cmd, size_t argc, char *argv[], /* in tilde.c */ extern char *try_tilde_expansion (char *path); +/* in journal.c */ +extern int journal_view (const char *fields); + /* This should just list all the built-in commands so they can * be added to the generated auto-completion code. */ diff --git a/generator/Makefile.am b/generator/Makefile.am index a3fe50d..bd466c2 100644 --- a/generator/Makefile.am +++ b/generator/Makefile.am @@ -37,6 +37,7 @@ sources = \ haskell.ml \ java.ml \ lua.ml \ + journal.ml \ main.ml \ ocaml.ml \ optgroups.ml \ @@ -60,13 +61,14 @@ sources = \ objects = \ types.cmo \ utils.cmo \ + pr.cmo \ + docstrings.cmo \ + journal.cmo \ actions.cmo \ structs.cmo \ optgroups.cmo \ prepopts.cmo \ events.cmo \ - pr.cmo \ - docstrings.cmo \ checks.cmo \ c.cmo \ xdr.cmo \ diff --git a/generator/actions.ml b/generator/actions.ml index 13c8bc8..e914fd3 100644 --- a/generator/actions.ml +++ b/generator/actions.ml @@ -21,6 +21,8 @@ open Types open Utils +open Journal + (* Default settings for all action fields. So we copy and override * this struct by writing '{ defaults with name = &c }' *) @@ -12897,6 +12899,26 @@ environment variable. See also L</hexdump>." }; { defaults with + name = "journal_view"; + shortdesc = "view journald log"; + longdesc = " journal-view [FORMAT] + +View journald log in format similar to journalctl. + +=over + +" +^ (Journal.ops_to_pod_string ()) ^ +" +=back + +Default format is C<~3axv> + +For fields description see C<man SYSTEMD.JOURNAL-FIELDS> + +Use C<journal-open> first." }; + + { defaults with name = "lcd"; shortdesc = "change working directory"; longdesc = " lcd directory diff --git a/generator/main.ml b/generator/main.ml index 1e0e7d6..639920d 100644 --- a/generator/main.ml +++ b/generator/main.ml @@ -46,6 +46,7 @@ open Golang open Bindtests open Errnostring open Customize +open Journal let perror msg = function | Unix_error (err, _, _) -> @@ -212,6 +213,8 @@ Run it from the top source directory using the command output_to "customize/customize-synopsis.pod" generate_customize_synopsis_pod; output_to "customize/customize-options.pod" generate_customize_options_pod; + output_to "fish/journal.h" generate_journal_h; + (* Generate the list of files generated -- last. *) printf "generated %d lines of code\n" (get_lines_generated ()); let files = List.sort compare (get_files_generated ()) in -- 1.9.3 _______________________________________________ Libguestfs mailing list Libguestfs@redhat.com https://www.redhat.com/mailman/listinfo/libguestfs