On Wed, Dec 07, 2016 at 02:41:14PM -0500, Whilom Chime wrote: > > We do not use _rcN there, it's X.Y release number, during -rc time > > it's unstable and modifiable. > > Could you just help me understand how lib??.sym works? If I have 2.29 > source and I add UUID_2.30 {...}... does that mean that the symbol > would be added in my local 2.29 build for testing, but once my > hypothetical patch was accepted the "world" would not see my new APIs > in any version less than 2.30? Or does the package maintainer have to > manually maintain all kinds of lib??.sym files as revisions happen... The .sym is used to generate symbol names for the library. The ELF format supports symbols versioning, see for example: $ readelf -a /lib/libuuid.so.1 we have for example uuid_compare@@UUID_1.0 uuid_generate_time_safe@@UUID_2.20 the symbols and versions are evaluated when you execute an application linked with the library. This allows to mix applications and libs without recompilation until the library provides necessary symbols. For more details see "3 Maintaining APIs and ABIs" from https://software.intel.com/sites/default/files/m/a/1/e/dsohowto.pdf It's independent on package version, it's possible to use arbitrary strings as a version in the .sym files. Karel -- Karel Zak <kzak@xxxxxxxxxx> http://karelzak.blogspot.com -- To unsubscribe from this list: send the line "unsubscribe util-linux" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html