On Fri, Nov 04, 2022 at 02:56:45PM -0700, Noah Meyerhans wrote: > Given the number of packages involved, though, I expect it'll take a > while for everything to have a properly managed SONAME. Given that, I > see a few alternatives: > > 1. We package aws-crt-python with all the aws-c-* packages included in a > single source package. Given that upstream maintains this structure > in a single repo using git submodules and that their build system > supports it directly, it appears to be the way they expect the package > to be consumed. > > 2. We package the individual aws-c-* dependencies but only ship static > libraries, and handle them as standard buid-deps for aws-crt-python. > > 3. We manage the SONAME versions ourselves until upstream does it for > us. > > 4. We ignore awscli v2 and continue shipping v1. > > I actually prefer #1 and suggest we do that. My reasoning is: > > 1. It's well supported by upstream, > > 2. It prevents other packages from picking up the aws-c-* packages as > dependencies before they expose a stable API/ABI, > > 3. It is simple to split out the submodules into standalone packages > one-by-one as their interfaces stabilize. > > 4. It's quite simple to implement > > What do folks think of this idea?
Sounds reasonable. My initial thought was #2, but I hadn't considered the value of insulating others from upstream's changes. Ross