mirror of
https://github.com/libguestfs/libguestfs.git
synced 2026-03-21 22:53:37 +00:00
Augeas has been a mandatory dependency of libguestfs for quite some time, so the aug_* functions could have been always called (without even checking the augeas feature). Thus retire the feature, marking it as always available with no more functions depending on it.
69 lines
2.1 KiB
OCaml
69 lines
2.1 KiB
OCaml
(* libguestfs
|
|
* Copyright (C) 2009-2014 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
|
|
*)
|
|
|
|
(* Please read generator/README first. *)
|
|
|
|
open Types
|
|
open Utils
|
|
open Actions
|
|
|
|
(* The list of optional groups which need to be in the daemon as always
|
|
* available. These are "retired" as they no longer appear in the
|
|
* list of functions.
|
|
*)
|
|
let optgroups_retired = [
|
|
"augeas";
|
|
"realpath";
|
|
]
|
|
|
|
(* Create list of optional groups. *)
|
|
let optgroups =
|
|
let h = Hashtbl.create 13 in
|
|
List.iter (
|
|
function
|
|
| { optional = Some group } as fn ->
|
|
let fns = try Hashtbl.find h group with Not_found -> [] in
|
|
Hashtbl.replace h group (fn :: fns)
|
|
| _ -> ()
|
|
) daemon_functions;
|
|
let groups = Hashtbl.fold (fun k _ ks -> k :: ks) h [] in
|
|
let groups =
|
|
List.map (
|
|
fun group ->
|
|
(* Ensure the functions are sorted on the name field. *)
|
|
let fns = Hashtbl.find h group in
|
|
let cmp { name = n1 } { name = n2 } = compare n1 n2 in
|
|
let fns = List.sort cmp fns in
|
|
group, fns
|
|
) groups in
|
|
List.sort (fun x y -> compare (fst x) (fst y)) groups
|
|
|
|
let optgroups_names =
|
|
fst (List.split optgroups)
|
|
|
|
let optgroups_names_all =
|
|
List.sort compare (optgroups_names @ optgroups_retired)
|
|
|
|
let () =
|
|
let file = "generator/optgroups.ml" in
|
|
List.iter (
|
|
fun x ->
|
|
if List.mem x optgroups_names then
|
|
failwithf "%s: optgroups_retired list contains optgroup with functions (%s)" file x
|
|
) optgroups_retired
|