Date: Sun, 19 Feb 2012 17:37:41 -0800 From: Doug Barton <dougb@FreeBSD.org> To: Alexey Dokuchaev <danfe@FreeBSD.org> Cc: cvs-ports@FreeBSD.org, Eitan Adler <eadler@FreeBSD.org>, cvs-all@FreeBSD.org, ports-committers@FreeBSD.org Subject: Re: cvs commit: ports/devel/adime Makefile ports/x11-wm/icewm Makefile ports/graphics/scr2png Makefile ports/x11/xbindkeys Makefile Message-ID: <4F41A3E5.6030807@FreeBSD.org> In-Reply-To: <20120220012336.GA41983@FreeBSD.org> References: <201202182356.q1INuU7V061378@repoman.freebsd.org> <20120219060053.GA45762@FreeBSD.org> <20120219150943.GA6673@magic.hamla.org> <20120219164528.GA48166@FreeBSD.org> <20120219175645.GA6833@magic.hamla.org> <20120219191106.GA71541@FreeBSD.org> <20120219203937.GA6943@magic.hamla.org> <20120220012336.GA41983@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 02/19/2012 17:23, Alexey Dokuchaev wrote: > "Wine argument" I think you meant "Whine" :) > does not sound too technical to me. I asked a question, how > can one guarantee if some arbitrary port is ABI dependent or not. I have > not heard the answer so far. I myself do not see it either. Thus, the > whole point that specifying exact ABI version might not be required is moot. > Thus, it's safer to always specify it. At least it allows to catch versions > inconsistencies earlier. I think my arguments were clear, and technically oriented. To sum up: 1. The vast majority of the time dependent ports work with any version of the library. Therefore over-specifying the version numbers creates useless churn in the CVS repo, and can cause users to needlessly recompile things that are already working just fine. 2. In those cases where we know that a thing needs at least a certain version of a lib, it should be specified with >=, and then left alone. Your argument seems to boil down to, "Since we can't be sure, always specify, and always bump." My counterargument is that doing what you suggest defeats the whole purpose of shared libs in the first place. Imagine the following scenario: 1. User instals a system, including various ports, including libfoo.so.1 2. User does not upgrade system for $N $time_periods. 3. libfoo is updated and the current version of the shared lib is libfoo.so.2 3. User wants shiny new port binbar. binbar works just fine with either version of libfoo, so after updating the ports tree the user now attempts to install binbar. What should happen? IMO if the libfoo dependency is properly specified the user should be able to make/install binbar without having to upgrade libfoo (barring security issues of course). On workstation systems where we tend to just always update everything, this is not much of an issue. But on servers and other long-lived systems gratuitously updating libfoo can cause other things to break. I don't think we should be doing that to our users unless we are certain that it's necessary. Now, is that technical enough for you? :) Doug -- It's always a long day; 86400 doesn't fit into a short. Breadth of IT experience, and depth of knowledge in the DNS. Yours for the right price. :) http://SupersetSolutions.com/
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4F41A3E5.6030807>