Hi, <snip> > I personally don't care much about how desktop distros handle this - I'm mostly > interested in bespoke embedded distros built with yocto or buildroot. I'm Cc'ing > SZ Lin who maintains the libgpiod debian package. Nowadays, many embedded distros are derived from Debian, such as Raspberry Pi OS (previously called Raspbian). Moreover, the meta-debian [1] provides the recipes for the Poky build system to build images using Debian source packages within the Yocto project [2]. [1] https://github.com/meta-debian/meta-debian [2] https://www.yoctoproject.org/learn-items/deby-reproducible-and-maintainable-embedded-linux-environment-with-poky/ > > SZ Lin: libgpiod will get a new major release in the following months > - the API will become v2.x and ABI v3.x - do you think it's important to make it > possible for two major versions of libgpiod to live together in a single system? I It's possible, but I think it's *no strongly needed* and there are no other Debian packages depend on libgpiod, as shown below. === apt rdepends libgpiod2 libgpiod2 Reverse Depends: Depends: libgpiod-dev (= 1.5.2-1) Depends: python3-libgpiod (= 1.5.2-1) Depends: gpiod (>= 1.5.1) === All of the above binary packages are built from the same (libgpiod) source package. > would like to avoid having to rename everything and use libgpiod2.0 > everywhere - this information is already stored in the API version. Does debian > support something like yocto's virtual providers maybe? How do you see this for > a desktop distro. I'm not familiar with Yocto's mechanism, but in this case, the ABI changes seem that are not backward-compatible; we normally require changing the SONAME of the library and the shared library package name. SZ > > Best regards, > Bartosz Golaszewski