Contributed by todd on from the help-wanted dept.
As noted this morning by Marc Espie on ports@, OpenBSD's ports infrastructure was just modified to permit control of all shared libraries in ports, which is consistent with the way the main source tree treats shared libraries.
If you are a porter, now is the time to consider talking to 'porters' about adding manpower to effort to go through the entire ports tree making these changes.
Marc's original post, below, is very clear on why this is happening:
Various reasons (C++ mangling, mostly) have compelled us to finally implement some stuff we've wanted for some time: fine control over shared library versions.
Simply put, there are basic reasons (like C++ compiler changes) which mean that the ports tree should have control over shared library numbers.
We've also known for a long time that people in the free software world do not play it safe in general: they do not bump shared library numbers each time they should (this often comes from a misguided idea among linux people that binary compatibility is a must, so they try really hard to make things work without ever breaking binary compatibility, but sometimes they break it anyways, and they do not bump versions and they lose).
We have taken the opposite approach: we prefer to bump libraries each time we think things are not safe. The end user will see lots of shared library versions accumulate on his system. So what ? since all dependencies are now registered, he (or she) can now remove .libs-* packages that reference stuff that isn't used anywhere.
So, I just committed the basic framework that allows this to happen, and you will see in the following days most ports being converted to give us control over those libraries. There will be a few bugs, that will get solved.
Once enough examples are committed, we expect the average porter will understand what's involved.
This basic framework may need further tweaks to cope with common issues. We'll see...
Since this is a fairly open project, I apologize for not involving the general community in that discussion (too much to do, too little time), but at least, now, you know. ;-)
(Comments are closed)