From owner-freebsd-ports@FreeBSD.ORG Thu Nov 6 07:26:53 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 C01FA16A4CE for ; Thu, 6 Nov 2003 07:26:53 -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 9DCE44400D for ; Thu, 6 Nov 2003 07:26:52 -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])B66A513DBB for ; Thu, 6 Nov 2003 16:26:51 +0100 (CET) Received: by merlin.emma.line.org (Postfix, from userid 500) id 81DAF9D1AE; Thu, 6 Nov 2003 16:26:48 +0100 (CET) To: Oliver Eikemeier In-Reply-To: <3FAA5C96.4080804@fillmore-labs.com> (Oliver Eikemeier's message of "Thu, 06 Nov 2003 15:37:10 +0100") References: <3FAA3B77.7090002@fillmore-labs.com> <20031106141924.GA11241@merlin.emma.line.org> <3FAA5C96.4080804@fillmore-labs.com> From: Matthias Andree Date: Thu, 06 Nov 2003 16:26:48 +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 cc: Matthias Andree cc: freebsd-ports@freebsd.org 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:26:53 -0000 Oliver Eikemeier writes: > You still don't address the problem that PREFIX/BerkeleyDB.N.M violates > hier(7), see also: > > http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/dads-subdirs.html I don't see how I could avoid using files like these: $PREFIX/BerkeleyDB.N.M/libdb-N.so $PREFIX/BerkeleyDB.N.M/libdb.so When multiple versions (3.3, 4.0, 4.1) are installed at the same time. The important aspect is that applications that haven't been natively developed on Free/Net/Open/Dragonfly/TrustedBSD, but ported, will expect this exact layout. The actual libraries that are used at runtime are installed into the hier(7) conformant locations. I don't mind where the binaries go, unless it's libexec - the db_* applications are user-stuff and belong into bin/ somewhere. Again, we have a name clash here. Obviously, applications will expect to link against their favourite version of BDB as libdb.so - libdb.so can be 2.7, 3.3, 4.0, 4.1 whatever, we need to make sure this works. One of the problem is that FreeBSD isn't currently prepared (in terms of hier(7)) to deal with vendor tree layouts. The obvious fix would be to drop anything into /opt/sleepycat.com/BerkeleyDB.N.M, add some /usr/local/etc/profile.d/ stuff to set paths and LD_LIBRARY_PATH and be done. > And, could you name a sample port that would benefit from the changes, i.e. > post a sample patch for net/openldap22-server or whatever port you like to > demonstrate the improvements. To show the full benefit, we'd need to work out the bsd.port.mk stuff first, which has not been done yet. I'll keep you posted. AFAIR, openldap22-server needs only the LIB_DEPENDS lines changed. Ideally, that would read a WANT_BDB_VERSION from the port, which would just set WITH_BDB_VERSION?= 4.1 WANT_BDB_VERSION= ${WITH_BDB_VERSION} and the bsd.port.mk could then stuff proper -I and -L options into CPPFLAGS, LDFLAGS and return the canonical names in some variables. -- Matthias Andree Encrypt your mail: my GnuPG key ID is 0x052E7D95