there is a way to avoid strict libraries linking?
Dan Nelson
dnelson at allantgroup.com
Thu Apr 22 22:54:21 UTC 2010
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 at allantgroup.com
More information about the freebsd-hackers
mailing list