let main () =
let args = OptParse.OptParser.parse_argv Options.options in
Boilerplate.enable_debug (OptParse.Opt.get Options.verbose);
Boilerplate.enable_bars (OptParse.Opt.get Options.progress) ["challenged"] ;
Boilerplate.enable_timers (OptParse.Opt.get Options.timers) [];
let clusterlist = OptParse.Opt.opt Options.checkonly in
let broken = OptParse.Opt.get Options.brokenlist in
let cluster = OptParse.Opt.get Options.cluster in
let downgrades = OptParse.Opt.get Options.downgrades in
let l = Debian.Packages.input_raw args in
let pred = challenged ~downgrades ~broken ~cluster ~clusterlist l in
List.iter (fun (((sn,sv,version),(target,equiv)),broken) ->
Format.printf "cluster: %s %s@." sn version;
if sv <> version then Format.printf "subclusterof: %s %s@." sn sv;
Format.printf "target: %s@." (Debian.Evolution.string_of_range target);
Format.printf "equivs: %s@," (String.concat " , " (
List.map (Debian.Evolution.string_of_range) equiv
));
Format.printf "breaks: %d@." broken;
Format.printf "---@."
) pred