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>
