Date: Thu, 22 Apr 2010 17:54:17 -0500 From: Dan Nelson <dnelson@allantgroup.com> To: Steve Franks <bahamasfranks@gmail.com> Cc: freebsd-hackers@freebsd.org, Leinier Cruz Salfran <salfrancl.listas@gmail.com> Subject: Re: there is a way to avoid strict libraries linking? Message-ID: <20100422225417.GA14572@dan.emsphone.com> In-Reply-To: <g2x539c60b91004221538nc58baf36m60e2eb71a395a7f5@mail.gmail.com> References: <n2ya2585ef1004140923s2acb8b2ctf7c9b449cb66f208@mail.gmail.com> <20100414174853.GC43908@dan.emsphone.com> <g2x539c60b91004221538nc58baf36m60e2eb71a395a7f5@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
In the last episode (Apr 22), Steve Franks said: > > It's much safer to just leave the libraries alone. Just because you > > upgraded libpng doesn't mean that your old gtk binary will stop working > > (assuming you are using "portupgrade" or "portmaster -w" which preserves > > <About to get flamed, I know> Untrue. Portupgrade deletes the old > version of the port by default. The PNG upgrade was a major PITA, because > I installed one new port that thought it had to have it. I'm sure 98% of > the ports I then had to upgrade would have still worked just fine even if > rebuilt against the old libpng. Are you sure you're talking about portupgrade? From the manpage: -u --uninstall-shlibs Do not preserve old shared libraries. By default, portupgrade preserves shared libraries on uninstallation for safety. See the pkg_deinstall(1) manpage and check out the -P option for details. I've 400 MB of shared libs in /usr/local/lib/compat/pkg as proof that it does this by default, too. I should probably clean that out someday :) > I think the complaint here is that the port dependencies system > frequently gives the impression/enforces the rule that new ports will > depend on whatever the most current version of everything is in the > ports tree at the time they were built, forcing sort of a perpetual > upgrade cycle. IMHO this is probably due to naive port maintainers > (such as myself) incorrectly pointing a port at libpng.5 instead of > any libpng, or libpng >= 5. Once the ports tree is 'poisoned' in this > fashion, there's really no going back. I'd sure vote for an audit of > this behavior as a summer of code project. I don't think the porter's handbook mentions the DEPENDS_* comparison operators at all, so unless you read (and understood) the ${deptype:L}-depends target in bsd.port.mk, you might not know it existed. -- Dan Nelson dnelson@allantgroup.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100422225417.GA14572>