Add provenance specific to git ref installs
This commit is contained in:
parent
9cd7fd1c98
commit
c8ab35edfa
@ -114,7 +114,9 @@ class Provenance(enum.IntEnum):
|
|||||||
# A 'package.py' file
|
# A 'package.py' file
|
||||||
PACKAGE_PY = enum.auto()
|
PACKAGE_PY = enum.auto()
|
||||||
# An installed spec
|
# An installed spec
|
||||||
INSTALLED = enum.auto()
|
INSTALLED_STANDARD_VERSION = enum.auto()
|
||||||
|
# lower provenance for installed git refs so concretizer prefers StandardVersion installs
|
||||||
|
INSTALLED_GIT_VERSION = enum.auto()
|
||||||
# A runtime injected from another package (e.g. a compiler)
|
# A runtime injected from another package (e.g. a compiler)
|
||||||
RUNTIME = enum.auto()
|
RUNTIME = enum.auto()
|
||||||
|
|
||||||
@ -1999,10 +2001,10 @@ def define_ad_hoc_versions_from_specs(
|
|||||||
# best possible, so they're guaranteed to be used preferentially.
|
# best possible, so they're guaranteed to be used preferentially.
|
||||||
version = s.versions.concrete
|
version = s.versions.concrete
|
||||||
|
|
||||||
if version is None or (not isinstance(version, vn.GitVersion) and any(
|
if version is None or (
|
||||||
v == version
|
not isinstance(version, vn.GitVersion)
|
||||||
for v in self.possible_versions[s.name]
|
and any((v == version) for v in self.possible_versions[s.name])
|
||||||
)):
|
):
|
||||||
continue
|
continue
|
||||||
|
|
||||||
if require_checksum and not _is_checksummed_git_version(version):
|
if require_checksum and not _is_checksummed_git_version(version):
|
||||||
@ -2316,9 +2318,20 @@ def concrete_specs(self):
|
|||||||
# - Add OS to possible OS's
|
# - Add OS to possible OS's
|
||||||
for dep in spec.traverse():
|
for dep in spec.traverse():
|
||||||
self.possible_versions[dep.name].add(dep.version)
|
self.possible_versions[dep.name].add(dep.version)
|
||||||
self.declared_versions[dep.name].append(
|
if isinstance(dep.version, vn.GitVersion):
|
||||||
DeclaredVersion(version=dep.version, idx=0, origin=Provenance.INSTALLED)
|
self.declared_versions[dep.name].append(
|
||||||
)
|
DeclaredVersion(
|
||||||
|
version=dep.version, idx=0, origin=Provenance.INSTALLED_GIT_VERSION
|
||||||
|
)
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
self.declared_versions[dep.name].append(
|
||||||
|
DeclaredVersion(
|
||||||
|
version=dep.version,
|
||||||
|
idx=0,
|
||||||
|
origin=Provenance.INSTALLED_STANDARD_VERSION,
|
||||||
|
)
|
||||||
|
)
|
||||||
self.possible_oses.add(dep.os)
|
self.possible_oses.add(dep.os)
|
||||||
|
|
||||||
def define_concrete_input_specs(self, specs, possible):
|
def define_concrete_input_specs(self, specs, possible):
|
||||||
|
Loading…
Reference in New Issue
Block a user