#222 rust2rpm: don't crash for crates where the only valid releases are pre-releases
Closed: Fixed 2 years ago by decathorpe. Opened 2 years ago by decathorpe.

$ rust2rpm -s signature_derive
• Ignoring pre-release version '1.0.0-pre.5'.
• Ignoring pre-release version '1.0.0-pre.4'.
• Ignoring pre-release version '1.0.0-pre.3'.
• Ignoring pre-release version '1.0.0-pre.2'.
• Ignoring pre-release version '1.0.0-pre.1'.
• Ignoring pre-release version '1.0.0-pre.0'.
• Ignoring yanked version '0.3.0'.
• Ignoring yanked version '0.2.1'.
• Ignoring yanked version '0.2.0'.
Traceback (most recent call last):
  File "/usr/bin/rust2rpm", line 8, in <module>
    sys.exit(main())
  File "/usr/lib64/python3.10/contextlib.py", line 79, in inner
    return func(*args, **kwds)
  File "/usr/lib/python3.10/site-packages/rust2rpm/__main__.py", line 629, in main
    crate, diffs, metadata, doc_files, license_files = make_diff_metadata(args, args.crate, args.version)
  File "/usr/lib/python3.10/site-packages/rust2rpm/__main__.py", line 408, in make_diff_metadata
    cratef, crate, version = download(crate, version)
  File "/usr/lib/python3.10/site-packages/rust2rpm/__main__.py", line 146, in download
    version = query_newest_version(crate)
  File "/usr/lib/python3.10/site-packages/rust2rpm/__main__.py", line 140, in query_newest_version
    raise ValueError("Couldn't find any release versions. Specify a version explicitly.")
ValueError: Couldn't find any release versions. Specify a version explicitly.

We should either catch this error and not crash.

Or, maybe even default to the "latest" non-yanked pre-release in this case, and print a warning that the user needs to double-check that this is the version they need (version comparisons for pre-releases are very strict).


Metadata Update from @decathorpe:
- Issue close_status updated to: Fixed
- Issue status updated to: Closed (was: Open)

2 years ago

Login to comment on this ticket.

Metadata