[Clam-devel] 1.3 release?

David García Garzón dgarcia at iua.upf.edu
Fri Aug 1 09:35:43 PDT 2008


I just bumped the version in CHANGES to 1.3, and also changed the way of 
computing the library soname in linux so it takes also the minor version.
Libname: libclamcore.1.3.0.so libclamcore.13.0.so
Soname: libclamcore.1.so libclamcore.13.so
Linkername: libclamcore.so libclamcore.so (same)

Notice that this have produced some problems before with development 
sandboxes. Just to be sure, remove all the generated libraries 
(.so, .dylib, .dll or .lib) on scons/libs/*/ and in the installation folder


Extra culture on linux libs follows

==================

(to disambiguate 'link': fs-link is a filesytem link, an alias, while link is 
the build step)

Libname is the actual library file generated, it includes the full version 
numbering in the name. Having versioned names on the libraries allows having 
programs that run with different versions of the library in the same system.

Linker name is the name you provide to the compiler to build the binary. It is 
a fs-link pointing to the current version libname. Having a linker name 
allows you to decouple your build system from the actual library version you 
are linking to.

Soname is the name that executables uses to look for the library on run-time. 
That name is embeded in the libraries when they are created and the linker 
looks for it and stores it on the executable in order to look for it in 
run-time using a fs-link pointing to the actual libname. Why a soname 
different than the libname? The idea is that if you have to do bugfixes that 
doesn't change the ABI of the library we can do a 1.3.1 version, fs-link 
libclamcore.13.so to libclamcore.13.1.so and all previously compiled binaries 
will work with the fixed version without recompiling them because they look 
for the soname.

So, you build a binary specifying the linkername of the library to link with. 
The linker looks for the library which is a fs-link to the actual libraryname 
and stores the soname in the new binary for later use. When running the 
binary, the runtime library loader looks for the soname

Thus, in most linux distros, binary dependencies and conflicts are set among 
sonames, not versions because same soname is meant to be compatible. Build 
dependencies are set usually to linkernames unless you have to restrict it to 
allow the same package to be rebuilt with a newer version of the library 
without any change.


El Friday 01 August 2008 13:35:04 David García Garzón va escriure:
> I was thinking on proposing it. Those changes you mention are very likely
> to introduce new bugs or turning the framework unstable for a while and,
> yes is worth to do a release before that. I think i can get it done next
> week with some little help of the GSoC students, Hernan and the scripts.
>
> Let me this weekend to propose a release plan. i would like to ask GSoC
> students just to have their work in a minimum release status, so please
> send it current status and release goals, answering this thread. Some
> concrete comments:
> - Pawel: I think Turnaround is not functional at this point so we won't
> release it unless you surprise me with a mega commit
> - Francisco: I think commited changes on TypedPorts are not intrusive, so
> just review the migration guide. Any other consideration, or think needing
> documentation regarding your work?
> - Yushen/Greg: I don't know about Yushen synthetizer being in release state
> or not and whether it affects to the realeaseability of Greg's one. Please
> report on this thread.
> - Natanael, is faust releasable? are the flags to include them or not the
> proper ones? Could you do some wiki walk through on network editor features
> we could link for the release announcement? It would be nice if you
> concentrate on stabilizing current features.
> - Jun, we should stabilize current features and document how to do an
> aggregation extractor on it's current form. I will also help you to update
> the packaging as we have now some dependencies on python we didn't have and
> new files to install.
> - To all: We should update the CHANGES files of the packages we modified.
> Feel free to edit them. Keep in mind that, as opposite to commit logs which
> are addressed to CLAM developers, the CHANGES files are addressed to users.
> Users of CLAM lib are developers using CLAM. But users of the applications
> (NetworkEditor...) are just final users. So write down the changes that are
> relevant to each audience.
> - David: I should disable some unfinished features such as the Jack tab and
> polish the new ones (LADSPA).
> - Hernan, what about the python bindings? are they release ready? Could we
> add a PyQT frontend to the application template scripts?
>
> Please, answer to this thread with you comments.
>
> David.
>
> El Friday 01 August 2008 12:07:42 Pau Arumí va escriure:
> > What do you think?
> >
> > Many new features are ready. And maybe releasing before the heavy
> > changes on hierarchical-networks and typed-controls, is better.
> > Unfortunately I don't have much time to offer before September...
> >
> > P
> >
> >
> > _______________________________________________
> > Clam-devel mailing list
> > Clam-devel at llistes.projectes.lafarga.org
> > https://llistes.projectes.lafarga.org/cgi-bin/mailman/listinfo/clam-devel






More information about the clam-devel mailing list