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

Reply via email to