ports/148101: x11/startup-notification Makefile missing library dependencies [patch]

Don Lewis truckman at FreeBSD.org
Thu Jul 8 07:54:36 UTC 2010


On 24 Jun, Jeremy Messenger wrote:
> On Thu, 24 Jun 2010 17:14:57 -0500, Don Lewis <truckman at freebsd.org> 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 <bsd.port.mk>



More information about the freebsd-gnome mailing list