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 -> fatal "Parse error %s" str
  in List.map parse_aux (Pcre.split ~rex:and_sep_re s)