diff --git a/rust2rpm/__main__.py b/rust2rpm/__main__.py index 14aff8e..04ad42f 100644 --- a/rust2rpm/__main__.py +++ b/rust2rpm/__main__.py @@ -252,11 +252,21 @@ def get_package_info(package): url = requests.compat.urljoin(DIST_GIT_URL, f"rpms/{package}") req = requests.get(url, headers={"User-Agent": "rust2rpm"}) json = req.json() - if "name" in json: - return json - else: + if 'name' not in json: return None + # E.g. https://src.fedoraproject.org/rpms/rust-tiny_http0.6/blob/rawhide/f/rust-tiny_http0.6.spec + full_url = json['full_url'] + spec_url = requests.compat.urljoin(full_url, f'blob/rawhide/f/rust-{package}.spec') + req = requests.head(url, headers={"User-Agent": "rust2rpm"}) + + if not req.ok: + # The repo exists, but doesn't have the spec file. We most + # likely want to create a spec file to add to that repo. + return None + + return json + def make_diff_metadata(crate, version, patch=False, store=False): if _is_path(crate): # Only things that look like a paths are considered local arguments