@uis yes, but usually those library packages would also include:
- unversioned C headers (/usr/include/bullshit)
- unversioned static version of the same library (/usr/lib/libbullshit.a)
- a bunch of symlinks (/usr/lib/libbullshit.so -> libbullshit.so.2)
So in the end, you can't have multiple versions side-by-side, so if you want to install a package that needs a newer version of this library, you also have to upgrade its dependents you installed earlier.
[Part 1]
- usualy cflags for library are obtained through pkg-config, which includes headers search location, so headers can be located anywhere and be versioned. As long as config is versioned. Although usually includes(-dev packages, if talking in debianisms) are installed unversioned for "default" version
- why would you even version static libraries? They are either in binary or not.
- libbullshit.so is symlink to default version. Binaries can specify exact version.