type pathname = string
type info = {
+ kv_i : int;
kernel_version : string;
arch : string;
basename : string;
| FString of int
let string_of_info i =
- sprintf "%s: %s %s" i.basename i.kernel_version i.arch
+ sprintf "%s: %s (%d) %s" i.basename i.kernel_version i.kv_i i.arch
let rec string_of_structure s =
let fields = List.map string_of_field s.struct_fields in
(* Parse in the *.info files. These have historically had a few different
* formats that we need to support.
*)
- let infos = List.map (
- fun filename ->
+ let infos = List.mapi (
+ fun i filename ->
(* Get the basename (for getting the .data file later on). *)
let basename = Filename.chop_suffix filename ".info" in
(*printf "%s -> %s %s\n%!" basename version arch;*)
- { basename = basename; arch = arch;
+ { kv_i = i;
+ basename = basename; arch = arch;
kernel_version = version }
) infos in
infos