let all_ver_constr constraints_table cluster =
let (versionlist, constr) =
List.fold_left (fun (_vl,_cl) pkg ->
let pn = pkg.Packages.name in
let pv = pkg.Packages.version in
let constr = all_constraints constraints_table pn in
let vl = pv::(all_versions constr) in
(vl @ _vl,constr @ _cl)
) ([],[]) cluster
in
let all_epochs = extract_epochs versionlist in
let all_norm = add_normalize versionlist in
let versionlist = add_epochs all_epochs all_norm in
(Util.list_unique versionlist,Util.list_unique constr)