From owner-freebsd-ports@FreeBSD.ORG Sun Apr 28 14:37:50 2013 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 7D4B56A; Sun, 28 Apr 2013 14:37:50 +0000 (UTC) (envelope-from utisoft@gmail.com) Received: from mail-ie0-x22e.google.com (mail-ie0-x22e.google.com [IPv6:2607:f8b0:4001:c03::22e]) by mx1.freebsd.org (Postfix) with ESMTP id 444EC17D3; Sun, 28 Apr 2013 14:37:50 +0000 (UTC) Received: by mail-ie0-f174.google.com with SMTP id 10so6329671ied.19 for ; Sun, 28 Apr 2013 07:37:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:cc:content-type :content-transfer-encoding; bh=+jAKSMbyq46wyHLVrM+19N0pB4fAqHLsz0OZ/mQbRyI=; b=dIAsmw70TixK9kYhm9zLUZmLZ9zFcJd+BqfxY0pGKKp7WT6a4E+jElWl0bql70xBfZ ZVmnTC65p9GgRJh2ywuYKnghuLNoxojH2Pb65Yrq3lOAtYnqKe0Ku3CA/767V2QW10LF 6voElP1eCWYeV4LT3NQGJYS3a4xJFfUK3b64bGbP44GHZlPDE3pvyS15USxz5dQIkuaJ 5EtgwpJXI5pobO7hbQCt0LI3N+BbOiX+8zLnhjpMNhLCFjXSFdM465sMvhOYCmuUpkZQ eyhAG+e9hPFLjrV2+Cia/TJBmfctH/RSMum9+Fv4G3l5IP4fhKmvrt4JvBy8/mV9qy0Y Q/Yw== X-Received: by 10.50.114.3 with SMTP id jc3mr3264070igb.75.1367159869980; Sun, 28 Apr 2013 07:37:49 -0700 (PDT) MIME-Version: 1.0 Sender: utisoft@gmail.com Received: by 10.64.58.52 with HTTP; Sun, 28 Apr 2013 07:37:19 -0700 (PDT) In-Reply-To: References: <517C1DCE.2050603@peterschmitt.fr> <517C3F8F.2080602@FreeBSD.org> <517C43E6.4080907@peterschmitt.fr> From: Chris Rees Date: Sun, 28 Apr 2013 15:37:19 +0100 X-Google-Sender-Auth: h8QtdPGDAZ3uvSntqIrAn3jaeDc Message-ID: Subject: Re: poudriere - postgresql90-client, LDAP, requires ldap.h To: Scot Hetzel Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: "pgsql@freebsd.org" , FreeBSD Ports , Palle Girgensohn , Florent Peterschmitt X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Apr 2013 14:37:50 -0000 On 28 April 2013 15:36, Scot Hetzel wrote: > On Sun, Apr 28, 2013 at 9:16 AM, Chris Rees wrote: >> >> On 28 April 2013 15:07, Scot Hetzel wrote: >> > On Sun, Apr 28, 2013 at 6:25 AM, Palle Girgensohn >> > wrote: >> >> 28 apr 2013 kl. 10:37 skrev Chris Rees : >> >> >> >> > Please CC maintainers when you're asking about specific ports! >> >> > On 28 April 2013 07:05, Scot Hetzel wrote: >> >> >> On Sat, Apr 27, 2013 at 4:32 PM, Florent Peterschmitt < >> >> >> florent@peterschmitt.fr> wrote: >> >> >> >> >> >>> Le 27/04/2013 23:13, Matthew Seaman a =E9crit : >> >> >>>> On 27/04/2013 19:49, Florent Peterschmitt wrote: >> >> >>>>> Hello, >> >> >>>>> >> >> >>>>> I use the latest poudriere-devel to make my own pkg repository, >> >> >>>>> and >> >> >>>>> would like to build postgresql with LDAP support. >> >> >>>>> >> >> >>>>> Since it's in a virgin jail, and because the log said =AB hey I >> >> >>>>> need >> >> >>>>> ldap.h =BB, I understand that openldap should be installed but,= is >> >> >>>>> it >> >> >>>>> the >> >> >>>>> good way to do ? For each package requirement, it is needed to >> >> >>>>> install >> >> >>>>> it by hand ? (or with previously built packages :) ) >> >> >>>>> >> >> >>>> >> >> >>>> You should use the 'poudriere options' command to enable LDAP >> >> >>>> support >> >> >>>> in >> >> >>>> the postgresql server. >> >> >>> >> >> >>> Yep, I did that. Sorry, I missed to say I already have done this. >> >> >>> The >> >> >>> problem is that when building the package, the configure step fai= l >> >> >>> saying ldap.h is missing. >> >> >>> >> >> >>>> Now, when you use poudriere to build the postgresql package, it >> >> >>>> will >> >> >>>> have LDAP client added as a requirement -- so poudriere will als= o >> >> >>>> build >> >> >>>> you an LDAP package -- and when you go to install postgresql, ld= ap >> >> >>>> will >> >> >>>> be installed as well as a dependency. >> >> >>>> >> >> >>>> Cheers, >> >> >>>> >> >> >>>> Matthew >> >> >>>> >> >> >>> Yep. But how does work poudriere ? Because I have built postfix a= nd >> >> >>> dovecot2 with LDAP support and there was no problem. I think it's= a >> >> >>> problem from the port itself and not from poudriere, I should try >> >> >>> in a >> >> >>> new system (perhaps, a jail, without poudriere). >> >> >>> >> >> >> >> >> >> The problem seems to be caused by the following from >> >> >> databases/postgresql91-server/Makefile: >> >> >> >> >> >> 66 .if !defined(CLIENT_ONLY) && !defined(SLAVE_ONLY) >> >> >> 67 SERVER_ONLY=3D yes >> >> >> 68 USE_RC_SUBR=3D postgresql >> >> >> 69 USE_PGSQL=3D yes >> >> >> 70 WANT_PGSQL_VER=3D >> >> >> ${DISTVERSION:C/([0-9][0-9]*)\.([0-9][0-9]*).*/\1\2/g} >> >> >> 71 USERS=3D ${PG_USER} >> >> >> 72 GROUPS=3D ${PG_GROUP} >> >> >> 73 SUB_FILES+=3D 502.pgsql >> >> >> 74 .endif >> >> >> >> >> >> 81 .if !defined(SLAVE_ONLY) >> >> >> 82 OPTIONS_DEFINE+=3D NLS DTRACE PAM LDAP GSSAPI OPTIMIZED_CFL= AGS >> >> >> XML >> >> >> TZDATA DEBUG KRB5 >> >> >> 83 OPTIONS_SINGLE=3D KRB5 >> >> >> 84 OPTIONS_SINGLE_KRB5=3D MIT_KRB5 HEIMDAL_KRB5 >> >> >> : >> >> >> 112 OPTIONS_DEFAULT=3D NLS XML TZDATA INTDATE SSL >> >> >> 113 .endif # !SLAVE_ONLY >> >> >> >> >> >> 159 . if ${PORT_OPTIONS:MLDAP} >> >> >> 160 CONFIGURE_ARGS+=3D--with-ldap >> >> >> 161 . if defined (SERVER_ONLY) >> >> >> 162 USE_OPENLDAP=3D yes >> >> >> 163 . endif >> >> >> 164 . endif >> >> >> >> >> >> NOTE: postgresql90-client/Makefile includes >> >> >> postgresql90-server/Makefile >> >> >> which then includes postgresql91-server/Makefile >> >> >> >> >> >> Unfortunately, you can't set USE_OPENLDAP as a build depends. Try >> >> >> commenting out lines 161 and 163 in the >> >> >> postgresql91-server/Makefile. >> >> >> This >> >> >> will add OpenLDAP as a LIB_DEPENDS to the postgresql*-client ports= . >> >> >> >> >> > >> >> > Actually, >> >> > >> >> > [crees@medusa]~% psql >> >> > Shared object "libldap_r-2.4.so.8" not found, required by >> >> > "libpq.so.5" >> >> > [crees@medusa]~% >> >> > >> >> > LDAP is indeed a LIB_DEPENDS. >> >> > >> >> > Palle, Jason, if you don't object I'm going to add || defined >> >> > (CLIENT_ONLY) to line 161 above. >> >> > >> >> > Chris >> >> >> >> It seems strange to me that psql should require libldap? That seems >> >> like a >> >> bug, or am I missing something? Why would the client side of the >> >> connection >> >> need to use ldap? >> > >> > >> > Since the postgresql*-client ports install the below files: >> > >> > bin/clusterdb >> > bin/createdb >> > bin/createlang >> > bin/createuser >> > bin/dropdb >> > bin/droplang >> > bin/dropuser >> > bin/ecpg >> > bin/pg_config >> > bin/pg_dump >> > bin/pg_dumpall >> > bin/pg_restore >> > bin/psql >> > bin/reindexdb >> > bin/vacuumdb >> > lib/libecpg.so.6 >> > lib/libecpg_compat.so.3 >> > lib/libpgtypes.so.3 >> > lib/libpq.so.5 >> > >> > We'll need someone to check with ldd to see if they require any of the >> > ldap >> > libraries after commenting out lines 161 and 163. If they don't requir= e >> > LDAP, then we just need to remove LDAP from line 82, and add the below >> > between line 82 and 83: >> > >> > .if defined (SERVER_ONLY) >> > OPTIONS_DEFINE+=3D LDAP >> > .endif >> > >> > Then move line 161 to before line 159. >> >> Ohononono, you can't just set different OPTIONS for each port, that >> makes them stomp over the saved ones for each variant-- I got bitten >> by that before. The simpler solution would be to ignore the setting >> for LDAP for anything !server. >> > It shouldn't be a problem unless both the postgresql*-server and > postgresql*-client are using the same OPTIONSFILE. > > What does make -V OPTIONSFILE display in databases/postgresql*-client and > databases/postgresql*-server? It does use the same OPTIONSFILE. Chris