Op vrijdag 30 november 2012 12:59:25 schreef Anne Wilson: > On 30/11/12 12:26, Frank Griffin wrote: > > On 11/30/2012 07:13 AM, Anne Wilson wrote: > >> Before doing all that, can you explain the significance of the > >> suffixes here? > >> > >> ls /usr/lib/ | grep powerdevil > >> libpowerdevilconfigcommonprivate.so.4@ > >> libpowerdevilconfigcommonprivate.so.4.10.0* > >> libpowerdevilcore.so.0@ libpowerdevilcore.so.0.1.0* > >> libpowerdevilui.so.4@ libpowerdevilui.so.4.10.0* > > > > Library naming conventions use several, actual version, e. g. > > 4.10.0, major version, e. g. 4, and a generic name, e. g. > > libxxx.so. The last two are usually symlinked to the first. > > > > The major version usually signals an ABI difference or some other > > major difference, e. g. new function, from the previous version. > > The actual version changes whenever any change is made. Developers > > use the major version if their code is dependent on that major > > version, but just use the generic name if any version will do. > > > > In this way, the majority of packages using the library just ask > > for libxxx.so, and don't have to be rebuilt or have their makefiles > > or spec modified when the library changes. A few packages, which > > are dependent on a specific version, ask for libxxx.so.N (or > > higher), and these have to be changed when the major version they > > require is released. A very very few packages are dependent on the > > actual version, and these may have to change more often. > > I assume the starred ones are actually in use - what's the > significance of '@'? I'm not sure I've really understood this.
it's just bash that adds this: * => executable @ => symlink
