Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 03 Aug 2005 20:54:39 -0500
From:      "Jeremy Messenger" <mezz7@cox.net>
To:        "Mikhail Teterin" <mi+mx@aldan.algebra.com>
Cc:        gnome@freebsd.org, ports@freebsd.org
Subject:   Re: leaner and meaner www/firefox
Message-ID:  <op.suynldn79aq2h7@mezz.mezzweb.com>
In-Reply-To: <op.sux8xhuk9aq2h7@mezz.mezzweb.com>
References:  <200508030501.j7351CWK009605@corbulon.video-collage.com> <op.sux55tk79aq2h7@mezz.mezzweb.com> <op.sux7nnd29aq2h7@mezz.mezzweb.com> <200508031627.03336.mi%2Bmx@aldan.algebra.com> <op.sux8xhuk9aq2h7@mezz.mezzweb.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 03 Aug 2005 15:37:55 -0500, Jeremy Messenger <mezz7@cox.net> wrote:

> On Wed, 03 Aug 2005 15:27:03 -0500, Mikhail Teterin  
> <mi+mx@aldan.algebra.com> wrote:
>
>>> It's what I was trying to explain. If library doesn't need to be bump  
>>> [...]
>>
>> I'll wait for a real life example of failure stemming from my  
>> insistence on
>> not using major library number, when not need.
>>
>> The easiest for you is, probably, to try removing nspr's major version  
>> from
>> nss' Makefile and compare the two packages.
>
> Well, it's not just remove nspr's major version. Need a real library  
> version difference. Example, have new library installed and removing  
> nspr's major version then build package. Downgrade one of library that  
> has difference library shared version like foobar.so.5 -> foobar.so.4  
> and install that nspr package with no major version. I think I will try  
> to test MarcusCom CVS stuff in my jail.

I tested it and surprised me that package doesn't check library version at  
all. With or without major version in Makefile gave the same result. I  
know, my bad for not learn on package very well.

Without major version:
============================================
# grep glib20_LIB_DEPENDS /usr/ports/Mk/bsd.gnome.mk
glib20_LIB_DEPENDS=     glib-2.0:${PORTSDIR}/devel/glib20

# cd /usr/ports/editors/leafpad
# make depends | grep glib
===>   leafpad-0.8.2 depends on shared library: glib-2.0 - found

# make package
=> leafpad-0.8.2.tar.gz doesn't seem to exist in /usr/ports/distfiles/.

[...]

===>   leafpad-0.8.2 depends on shared library: glib-2.0 - found

[...]

===>  Building package for leafpad-0.8.2
============================================

With major version:
============================================
# grep glib20_LIB_DEPENDS /usr/ports/Mk/bsd.gnome.mk
glib20_LIB_DEPENDS=     glib-2.0.701:${PORTSDIR}/devel/glib20

# cd /usr/ports/editors/leafpad
# make depends | grep glib
===>   leafpad-0.8.2 depends on shared library: glib-2.0.701 - found

# make package
=> leafpad-0.8.2.tar.gz doesn't seem to exist in /usr/ports/distfiles/.

[...]

===>   leafpad-0.8.2 depends on shared library: glib-2.0.701 - found

[...]

===>  Building package for leafpad-0.8.2
============================================

Both has same result:
============================================
# pkg_add ./leafpad-0.8.2.tbz
pkg_add: warning: package 'leafpad-0.8.2' requires 'glib-2.7.4', but  
'glib-2.7.5' is installed

# leafpad
/libexec/ld-elf.so.1: Shared object "libgobject-2.0.so.701" not found,  
required by "leafpad"

# ldconfig -r | grep glib-2
         198:-lglib-2.0.0 => /usr/local/lib/libglib-2.0.so.0
============================================

Okay, it gave the warning about what leafpad needs package for the best  
result, but why did it still installed this package? It shouldn't be  
install package at all if the library shared version has changed. I think  
it's mistake for not check library shared version.

Since, package doesn't work as I thought, then I guess my two reasons left  
of prefer to have major version in Makefile is that force users (keep in  
mind, read my later paragraph below for bump when it need) to update their  
dependencies (if they use ports tree) and easier to search in Makefile for  
bump. Before you say that you can just search for foo/bar, but it doesn't  
give a good result as search for foobar.0 to bump those. You said that in  
another email (AbiWord thread):

"I am sorry, I can not parse the above statement. My point -- as you seem  
to have missed it -- is that a user, who already has libpng.so.4  
installed, should NOT be forced by the abiword build to upgrade his png  
port."

I believe that if the library that shouldn't bump, but it did then we have  
to hack it to make it to not bump and keep the major library in Makefile  
is a better solution. Same as how we did with gettext, pango and etc. The  
major library is there for reason. It's what my team (FreeBSD GNOME) is  
working on this change with bump when it need.

Cheers,
Mezz

> Cheers,
> Mezz
>
>> 	-mi


-- 
mezz7@cox.net  -  mezz@FreeBSD.org
FreeBSD GNOME Team
http://www.FreeBSD.org/gnome/  -  gnome@FreeBSD.org



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?op.suynldn79aq2h7>