-
Notifications
You must be signed in to change notification settings - Fork 47
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
allow multiple slices with the same content paths to co-exist within the same Chisel release #50
Comments
I was running into a similar problem when generating slices for I came up with the following dirty hack to workaround this issue: diff --git a/internal/setup/setup.go b/internal/setup/setup.go
index c47c050..a1a00ff 100644
--- a/internal/setup/setup.go
+++ b/internal/setup/setup.go
@@ -179,7 +179,8 @@ func (r *Release) validate() error {
if old.Package > new.Package || old.Package == new.Package && old.Name > new.Name {
old, oldPath, new, newPath = new, newPath, old, oldPath
}
- return fmt.Errorf("slices %s and %s conflict on %s and %s", old, new, oldPath, newPath)
+ // return fmt.Errorf("slices %s and %s conflict on %s and %s", old, new, oldPath, newPath)
+ return nil
}
}
paths[newPath] = new |
what were the conflicting paths in your case @kholia ? |
The conflicting paths (centered around
Here is the full patch I used to workaround this issue: |
My Python slices are quite hacky at the moment - I just wanted to do a quick PoC in the shortest amount of time. With these hacky slices, and the patched chisel tool, I was able to get a |
Cool. Glad you were able to work around it @kholia . Btw, we'll probably have, in a couple of days, python3.8 for Focal -> canonical/chisel-releases#44 |
Just for the record, I just hit this issue with |
Noted @endersonmaia . Thanks for the heads up. This is in our roadmap and we'll definitely tackle it soon. |
Diffs between
dotnet-host-7.0
anddotnet-host
SDFsProblem
By design, Chisel is currently looking at the entire Chisel release to catch any conflicts [1]. The reason why it was designed this way was to cope with people doing
/usr/lib/*
in their slices, thus avoiding the produced outputs from growing unbounded as fat packages change.In practice, this means that even if we’re just installing .NET7, Chisel will still complain about conflicts with .NET6, even though it is not targeted. And that’s because
dotnet-host-7.0
anddotnet-host
both have the same content path.Reproduce
Copy the two SDFs from above, into an existing chisel-release (tested with
kinetic
), asslices/dotnet-host-7.0.yaml
andslices/dotnet-host.yaml
, respectively.Then run
And you’ll get
Chisel version: https://github.com/canonical/chisel/tree/bd27f8700cd7d2a6b4e0df6b10c3761c83a70485
Refs
[1] https://github.com/canonical/chisel/blob/main/internal/setup/setup.go#L154
The text was updated successfully, but these errors were encountered: