main: bail if crate version has un-stripped "build metadata"
Versions like "0.4.60+curl-7.88.1" currently break package builds. Stripping "build metadata" automatically and operating with "crate version" != "rpm version" might be supported in the future, but this will require changing the %{crate_instdir} macro, among other things. Coincidentally, setting the %{crate_version}" macro in cases of "crate version" != "rpm version" would also render the lua implementation of the %{version_no_tilde} macro obsolete.
This commit is contained in:
parent
81554651be
commit
0bf11c122d
1 changed files with 9 additions and 2 deletions
|
@ -2,7 +2,7 @@ import os
|
||||||
import pathlib
|
import pathlib
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
from cargo2rpm.metadata import FeatureFlags
|
from cargo2rpm.metadata import FeatureFlags, Version
|
||||||
|
|
||||||
from rust2rpm import log
|
from rust2rpm import log
|
||||||
from rust2rpm.cli import get_parser
|
from rust2rpm.cli import get_parser
|
||||||
|
@ -113,7 +113,14 @@ def main():
|
||||||
)
|
)
|
||||||
|
|
||||||
if not metadata.is_workspace():
|
if not metadata.is_workspace():
|
||||||
warn_if_package_uses_restrictive_dependencies(metadata.packages[0])
|
package = metadata.packages[0]
|
||||||
|
|
||||||
|
if build_meta := Version.parse(package.version).build:
|
||||||
|
log.error(f"Crate version {package.version!r} contains build metadata: '+{build_meta}'")
|
||||||
|
log.error(f"This is not supported by rust2rpm; remove the '+{build_meta}' suffix.")
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
warn_if_package_uses_restrictive_dependencies(package)
|
||||||
|
|
||||||
spec_contents = spec_render_crate(
|
spec_contents = spec_render_crate(
|
||||||
metadata=metadata,
|
metadata=metadata,
|
||||||
|
|
Loading…
Reference in a new issue