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)
By Anonymous Coward (201.29.137.242) on
Comments
By Anonymous Coward (201.29.137.242) on
The "no" is guaranteed, let's fight for the "yes".
By Dominik (213.212.203.90) on
is not apt, and is not perfect, but better than nothin' :)
Comments
By Brad (216.138.195.228) brad at comstyle dot com on
By Anonymous Coward (201.29.137.242) on
Nice idea.
By Anonymous Coward (216.220.225.229) on
By phessler (69.12.168.114) on
Comments
By Anonymous Coward (198.53.128.225) on
Comments
By phessler (209.204.157.106) on
Comments
By Anonymous Coward (217.185.36.242) on
By Frank Denis (82.224.188.215) on http://www.manucure-pro.com
What I really miss in OpenBSD is source upgrade, ie. something that recompiles and updates installed ports (a la "emerge -u --deep world" in Gentoo).
Comments
By Anonymous Coward (213.118.74.206) on
Wow this is great!... I didn't know about this cool feature until now... Guess I should keep up better with the rapid development :)
(time to go and re-read some manpages!)
By Marc Espie (213.41.185.88) espie@openbsd.org on
Updating the base system will happen in due time. It's not as trivial as this project makes it look...
As far as shared library stuff goes, time for some progress report:
over 1/3 of the ports tree has been converted and is now happily using SHARED_LIBS... it's somewhat boring work, but so far, things go on at a reasonable pace.
(note that there are almost 500 ports with shared libraries... 1/3 means over 150 ports, which is not really small, all things considered)