From owner-freebsd-ports@FreeBSD.ORG Thu Nov 6 07:52:06 2003 Return-Path: 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 9B19A16A4CE for ; Thu, 6 Nov 2003 07:52:06 -0800 (PST) Received: from mail.dt.e-technik.uni-dortmund.de (krusty.dt.e-technik.Uni-Dortmund.DE [129.217.163.1]) by mx1.FreeBSD.org (Postfix) with ESMTP id A52B843FFD for ; Thu, 6 Nov 2003 07:52:02 -0800 (PST) (envelope-from ma@dt.e-technik.uni-dortmund.de) Received: from m2a2.dyndns.org (krusty.dt.e-technik.uni-dortmund.de [129.217.163.1])A971913D65 for ; Thu, 6 Nov 2003 16:52:01 +0100 (CET) Received: by merlin.emma.line.org (Postfix, from userid 500) id BABD39D1B3; Thu, 6 Nov 2003 16:51:59 +0100 (CET) To: freebsd-ports@freebsd.org In-Reply-To: <20031106153142.GA829@chetwood.ru> (Sergei Kolobov's message of "Thu, 6 Nov 2003 18:31:42 +0300") References: <3FAA3B77.7090002@fillmore-labs.com> <20031106141924.GA11241@merlin.emma.line.org> <20031106153142.GA829@chetwood.ru> From: Matthias Andree Date: Thu, 06 Nov 2003 16:51:59 +0100 Message-ID: User-Agent: Gnus/5.1003 (Gnus v5.10.3) Emacs/21.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Subject: Re: RFC: FreeBSD DB Port Reform X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Nov 2003 15:52:06 -0000 Sergei Kolobov writes: > How about this instead,: > > CPPFLAGS+= -I${LOCALBASE}/include/db${BDB_VER} > LDFLAGS+= -L${LOCALBASE}/lib/db{BDB_VER} > CONFIGURE_ENV+= CPPFLAGS="${CPPFLAGS}" LDFLAGS="${LDFLAGS}" > > That way, third-party apps will link against -ldb, > and no patching will be required. That will still require patches to a lot of ports (or their configure scripts, respectively), many have magic to derive the library path from the include path or assume they can get $COMMON_BERKELEYDB_LOCATION/bin and $COMMON_BERKELEYDB_LOCATION/lib with the same prefix, --with-db= is common. These assumptions are met by existing Linux systems or manual BerkeleyDB installs (that use the taunted /usr/local/BerkeleyDB.MAJOR.MINOR layout), but we'll still break them with a lib/db*/libdb* layout. We can't hope to simplify ports if we continue to break their build-time assumptions, and I'd prefer to make such intrusive changes (that require ports to be updated) in one single round and not today (to meet hier(7)) If hier(7) is so off-limits/intangible that we cannot leave a /usr/local/$PORTNAME in addition to the usual stuff, we'll have to continue patching the ports. One way to avoid the BerkeleyDB.N.M directories altogether would be either linking the then-current version, 4.1 at this time, to the libdb-4.so and libdb.so files, and require that ports that use older versions be patched, but I suspect we'll see a lot of trouble then from people who assume that libdb-4 is libdb-4.0 rather than libdb-4.1. If the path codes the version, this is less likely. -- Matthias Andree Encrypt your mail: my GnuPG key ID is 0x052E7D95