The patch provided in the original report still produces malformed YAML.
Having played around with the patched version with more than one tuple, seems like I missed that that was not just an accidental line that I deleted. The actual solution should have closed that box after the reasons are printed.
This is the patch that produced a parseable YAML when run on an actual set of packages on my machine with more than one tuple.
Index: dose3-7.0.0-6/src/algo/
diagnostic.ml===================================================================
--- dose3-7.0.0-6.orig/src/algo/
diagnostic.ml+++ dose3-7.0.0-6/src/algo/
diagnostic.ml@@ -700,7 +700,6 @@ let fprintf ?(pp = CudfAdd.default_pp) ?
"failure: %s@,"
(String.concat " , " (List.map CudfAdd.string_of_package rl)) ;
Format.fprintf fmt "status: broken@," ;
- Format.fprintf fmt "@]@," ;
if explain then (
Format.fprintf fmt "@[<v 1>reasons:@," ;
List.iter
@@ -711,7 +710,8 @@ let fprintf ?(pp = CudfAdd.default_pp) ?
(print_error ~minimal ~condense pp r)
(f ()))
rl ;
- Format.fprintf fmt "@]@,")
+ Format.fprintf fmt "@]") ;
+ Format.fprintf fmt "@]@,"
| _ -> ()
let printf ?(pp = CudfAdd.default_pp) ?(failure = false) ?(success = false)
--