let dependency_graph ?(conjunctive=false) universe =
    let gr = G.create () in
    Cudf.iter_packages (fun pkg ->
      G.add_vertex gr pkg;
      List.iter (fun vpkgs ->
        match CudfAdd.resolve_deps universe vpkgs with
        |[p] -> G.add_edge gr pkg p
        |when not conjunctive -> List.iter (G.add_edge gr pkg) l
        |-> ()
      ) pkg.Cudf.depends
    ) universe
    ;
    gr