Files
libguestfs/builder/utils.ml
Richard W.M. Jones a63d02f8f1 mltools: JSON: Rename Yajl module as JSON_parser and move to common/mltools.
Commit bd1c5c9f4d changed all the code
to use Jansson instead of yajl.  However it didn't change the OCaml
module name (still Yajl).

This commit changes the module to a neutral name ("JSON_parser") and
moves it into common/mltools so it can be used by other tools.

This leaves us in a slightly awkward situation of having two JSON-ish
OCaml modules (JSON for creating trees and JSON_parser for parsing
them) with incompatible types.  That is left for future work to
resolve.  (It should be easier to do now that both modules live in the
same directory.)

This is just renaming and general refactoring.  There should be no
change in functionality.
2018-08-22 15:18:57 +01:00

47 lines
1.4 KiB
OCaml

(* virt-builder
* Copyright (C) 2013-2018 Red Hat Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*)
(* Utilities/common functions used in virt-builder only. *)
open Printf
open Std_utils
open Tools_utils
type gpgkey_type =
| No_Key
| Fingerprint of string
| KeyFile of string
and revision =
| Rev_int of int
| Rev_string of string
let string_of_revision = function
| Rev_int n -> string_of_int n
| Rev_string s -> s
let increment_revision = function
| Rev_int n -> Rev_int (n + 1)
| Rev_string s -> Rev_int ((int_of_string s) + 1)
let get_image_infos filepath =
let qemuimg_cmd = "qemu-img info --output json " ^ quote filepath in
let lines = external_command qemuimg_cmd in
let line = String.concat "\n" lines in
JSON_parser.json_parser_tree_parse line