From owner-freebsd-ports@FreeBSD.ORG Sun Apr 2 20:21:34 2006 Return-Path: X-Original-To: freebsd-ports@freebsd.org Delivered-To: freebsd-ports@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1B42F16A424; Sun, 2 Apr 2006 20:21:34 +0000 (UTC) (envelope-from tmclaugh@sdf.lonestar.org) Received: from straycat.dhs.org (c-24-63-86-11.hsd1.ma.comcast.net [24.63.86.11]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3A7AB43D70; Sun, 2 Apr 2006 20:21:33 +0000 (GMT) (envelope-from tmclaugh@sdf.lonestar.org) Received: from bofh.straycat.dhs.org (bofh.straycat.dhs.org [192.168.1.56]) by straycat.dhs.org (8.13.4/8.13.4) with ESMTP id k32KLVMj010116; Sun, 2 Apr 2006 16:21:32 -0400 (EDT) From: Tom McLaughlin To: Thomas-Martin Seck In-Reply-To: <200604021324.k32DOU5E077448@hardy.tmseck.homedns.org> References: <200604021324.k32DOU5E077448@hardy.tmseck.homedns.org> Content-Type: text/plain; charset=ISO-8859-1 Date: Sun, 02 Apr 2006 16:21:31 -0400 Message-Id: <1144009291.1978.105.camel@bofh> Mime-Version: 1.0 X-Mailer: Evolution 2.6.0 FreeBSD GNOME Team Port Content-Transfer-Encoding: 8bit Cc: pav@freebsd.org, freebsd-ports@freebsd.org Subject: Re: Pare Down Dependencies from Gnome X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2006 20:21:34 -0000 On Sun, 2006-04-02 at 15:24 +0200, Thomas-Martin Seck wrote: > * Pav Lucistnik [gmane.os.freebsd.devel.ports]: > > > [-- text/plain, encoding quoted-printable, charset: ISO-8859-2, 22 lines --] > > > > Thomas-Martin Seck pí?e v ne 02. 04. 2006 v 14:28 +0200: > > > >> > Here we go, gnomevfs2 has this: > >> > > >> > .if exists(${LOCALBASE}/lib/libkrb5.so) > >> > LIB_DEPENDS+= krb5:${PORTSDIR}/security/heimdal > >> > .endif > >> > >> Ack, this is most evil. Could portlint(1) be extended to mark these > >> constructs as fatal? Hidden auto-dependencies that cannot be disabled > >> are really nasty. > > > > What if it's hidden auto-dependency in vendor configure script? > > > > The port merely records the state of reality. Don't blame it for it. > > In my opinion, a port should always be explicit about it's dependencies. > The ported software itself should be, too and if not, it's a bug IMO. > Most problems with implicit dependencies in a vendor's configure script > are often cured by adding "--disable-foo" to CONFIGURE_ARGS unless the > option is explicitly enabled via an appropriate port option. If there is > no --disable-foo, then "foo" needs to be an explicit dependency. > Auto-dependencies that cannot be overridden are - IMO - a big no-no. There is no --disable-krb5 or --disable-gssapi available in gnomevfs2. In the case of kerberos you have a weird situation. Heimdal is a part of the base and in the majority of installs that version will be used. The port politely checks to see if the system has a version of Kerberos installed from ports and if it does, then it assumes that the version from ports is the prefered version. You could patch the port to determine which kerberos port is being used to quiet pkgdb. (You can still run into a situation where it is possible that gnomevfs2 will think security/heimdal or security/krb5 is a dependency but the port is linked again the base version if the user has not followed all the instructions about using versions of kerberos from ports.) Heimdal or MIT Kerberos cannot be an explicit dependency of gnomevfs2 because you run the risk of installing two versions of kerberos on the same box. The base version and a ports version. If the user is not prepared for that they inevitably end up with weird crashes because of the conflicting versions. Nor is the use of the ports version of Heimdal or MIT necessary in most cases. Some ports out there do explicitly require the ports version of Heimdal which is bad such as postgresql. Heimdal from base should be patched to alleviate the need for these situations. Right now I just patch ports to work with the base version as a workaround when I run into them. (If someone is looking for something to do, trying working out an easy way to handle all three versions of Kerberos in a uniform way within the ports tree and avoids the hassles people often run into when using versions from the ports tree.) Tom -- | tmclaugh at sdf.lonestar.org tmclaugh at FreeBSD.org | | FreeBSD http://www.FreeBSD.org | | BSD# http://www.mono-project.com/Mono:FreeBSD |