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)