let parse_pkg s =
  let parse_aux str =
    try 
      let s = Pcre.exec ~rex:pkg_re str  in
      (Pcre.get_substring s 1, Pcre.get_substring s 2)
    with
      Not_found -> (Printf.eprintf "Parse error %s\n" str ; exit 1)
  in List.map parse_aux (Pcre.split ~rex:and_sep_re s)