From owner-freebsd-gnome@FreeBSD.ORG Thu Jul 8 07:54:36 2010 Return-Path: Delivered-To: gnome@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9D057106564A for ; Thu, 8 Jul 2010 07:54:36 +0000 (UTC) (envelope-from truckman@FreeBSD.org) Received: from gw.catspoiler.org (adsl-75-1-14-242.dsl.scrm01.sbcglobal.net [75.1.14.242]) by mx1.freebsd.org (Postfix) with ESMTP id 50F9F8FC15 for ; Thu, 8 Jul 2010 07:54:36 +0000 (UTC) Received: from FreeBSD.org (mousie.catspoiler.org [192.168.101.2]) by gw.catspoiler.org (8.13.3/8.13.3) with ESMTP id o687sQrN003308; Thu, 8 Jul 2010 00:54:30 -0700 (PDT) (envelope-from truckman@FreeBSD.org) Message-Id: <201007080754.o687sQrN003308@gw.catspoiler.org> Date: Thu, 8 Jul 2010 00:54:26 -0700 (PDT) From: Don Lewis To: mezz7@cox.net In-Reply-To: MIME-Version: 1.0 Content-Type: TEXT/plain; charset=us-ascii Cc: gnome@FreeBSD.org Subject: Re: ports/148101: x11/startup-notification Makefile missing library dependencies [patch] X-BeenThere: freebsd-gnome@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: GNOME for FreeBSD -- porting and maintaining List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jul 2010 07:54:36 -0000 On 24 Jun, Jeremy Messenger wrote: > On Thu, 24 Jun 2010 17:14:57 -0500, Don Lewis wrote: >> Also, I thought it was the policy that when a port directly links >> against a library that it should be explicitly be specified as a >> dependency rather than to rely on other dependencies to implicitly bring >> it in. > > No, it's not the policy that I recall unless recently the rule has > changed. I don't mind with this, but the problem is that > startup-notification does not require libSM, libICE and etc. I am not > surpised if I add ltasneededhack in the USE_GNOME and those won't be > linked in the library files. But it will require test with some > applications before I can put ltasneededhack in it. You can check and see > the difference. I interpret this statement in section 6.1 of the FreeBSD Porter's Handbook as requiring all of the libraries to be listed as dependencies because that is the only way that the dependent ports can be easily found in order to bump their PORTVERSION bumped: When the major library version number increments in the update to the new port version, all other ports that link to the affected library should have their PORTREVISION incremented, to force recompilation with the new library version. On the other hand, this note in ports/UPDATING admits that this isn't always the case: There are new versions of libogg (1.2.0) and libao (1.0.0) and the shlib versions have been bumped (ogg.6 to ogg.7, ao.3 to ao.4). All ports that have an identifiable direct dependency on these libraries have had their PORTREVISIONs bumped. However, some ports that pull in the libraries indirectly may continue to look for the old versions. To ensure that all are updated, perform this step: If you use portupgrade: portupgrade -rf libogg libao If you use portmaster: portmaster -r libogg libao Using port* -r has the disadvantage of rebuilding ports that don't really need it in this case, for example x11/gnome2. In any case, here's a much less intrusive patch to keep startup-notification from linking against libSM and libICE: Index: Makefile =================================================================== RCS file: /home/ncvs/ports/x11/startup-notification/Makefile,v retrieving revision 1.28 diff -u -r1.28 Makefile --- Makefile 2 Aug 2009 19:36:11 -0000 1.28 +++ Makefile 8 Jul 2010 07:32:35 -0000 @@ -24,5 +24,6 @@ USE_LDCONFIG= yes CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \ LDFLAGS="-L${LOCALBASE}/lib" +CONFIGURE_ARGS+= ac_cv_lib_ICE_IceConnectionNumber=no .include