Only use relative paths in lockfile (#6490)

For users who were using absolute paths in the `pyproject.toml`
previously, this is a behavior change: We now convert all absolute paths
in `path` entries to relative paths. Since i assume that no-one relies
on absolute path in their lockfiles - they are intended to be portable -
I'm tagging this as a bugfix.

Closes https://github.com/astral-sh/uv/pull/6438
Fixes https://github.com/astral-sh/uv/issues/6371
This commit is contained in:
Charlie Marsh 2024-08-23 22:19:10 -04:00 committed by GitHub
parent 611a9003c9
commit f7835243c5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
30 changed files with 329 additions and 383 deletions

View file

@ -425,7 +425,6 @@ impl<'a, T: BuildContext> SourceDistributionBuilder<'a, T> {
let requires_dist = RequiresDist::from_project_maybe_workspace(
requires_dist,
project_root,
project_root,
self.build_context.sources(),
)
.await?;
@ -1009,7 +1008,6 @@ impl<'a, T: BuildContext> SourceDistributionBuilder<'a, T> {
Metadata::from_workspace(
metadata,
resource.install_path.as_ref(),
resource.lock_path.as_ref(),
self.build_context.sources(),
)
.await?,
@ -1024,7 +1022,6 @@ impl<'a, T: BuildContext> SourceDistributionBuilder<'a, T> {
Metadata::from_workspace(
metadata,
resource.install_path.as_ref(),
resource.lock_path.as_ref(),
self.build_context.sources(),
)
.await?,
@ -1049,7 +1046,6 @@ impl<'a, T: BuildContext> SourceDistributionBuilder<'a, T> {
Metadata::from_workspace(
metadata,
resource.install_path.as_ref(),
resource.lock_path.as_ref(),
self.build_context.sources(),
)
.await?,
@ -1081,7 +1077,6 @@ impl<'a, T: BuildContext> SourceDistributionBuilder<'a, T> {
Metadata::from_workspace(
metadata,
resource.install_path.as_ref(),
resource.lock_path.as_ref(),
self.build_context.sources(),
)
.await?,
@ -1252,8 +1247,7 @@ impl<'a, T: BuildContext> SourceDistributionBuilder<'a, T> {
Self::read_static_metadata(source, fetch.path(), resource.subdirectory).await?
{
return Ok(ArchiveMetadata::from(
Metadata::from_workspace(metadata, &path, &path, self.build_context.sources())
.await?,
Metadata::from_workspace(metadata, &path, self.build_context.sources()).await?,
));
}
@ -1276,8 +1270,7 @@ impl<'a, T: BuildContext> SourceDistributionBuilder<'a, T> {
debug!("Using cached metadata for: {source}");
return Ok(ArchiveMetadata::from(
Metadata::from_workspace(metadata, &path, &path, self.build_context.sources())
.await?,
Metadata::from_workspace(metadata, &path, self.build_context.sources()).await?,
));
}
}
@ -1297,8 +1290,7 @@ impl<'a, T: BuildContext> SourceDistributionBuilder<'a, T> {
.map_err(Error::CacheWrite)?;
return Ok(ArchiveMetadata::from(
Metadata::from_workspace(metadata, &path, &path, self.build_context.sources())
.await?,
Metadata::from_workspace(metadata, &path, self.build_context.sources()).await?,
));
}
@ -1324,13 +1316,7 @@ impl<'a, T: BuildContext> SourceDistributionBuilder<'a, T> {
.map_err(Error::CacheWrite)?;
Ok(ArchiveMetadata::from(
Metadata::from_workspace(
metadata,
fetch.path(),
fetch.path(),
self.build_context.sources(),
)
.await?,
Metadata::from_workspace(metadata, fetch.path(), self.build_context.sources()).await?,
))
}