fedora: also check for the spec file in the existence check

Fixes https://pagure.io/fedora-rust/rust2rpm/issue/165.
the following workflow wasn't well supported by the check:

- request compat package repo
- fedpkg clone it
- try to run rust2rpm for it
- Get this message:
  Crate tiny_http0.6 is already packaged in Fedora (...)
  Re-run with --no-existence-check if you still want to convert it.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2021-12-05 12:48:20 +01:00 committed by zbyszek
parent 9e4c5fdd0f
commit 73f5d593c3

View file

@ -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