From owner-freebsd-ports@FreeBSD.ORG Sat Jan 17 14:54:31 2015 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 2AE003F4; Sat, 17 Jan 2015 14:54:31 +0000 (UTC) Received: from mail-wi0-x22d.google.com (mail-wi0-x22d.google.com [IPv6:2a00:1450:400c:c05::22d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id A7411BD; Sat, 17 Jan 2015 14:54:30 +0000 (UTC) Received: by mail-wi0-f173.google.com with SMTP id r20so7653081wiv.0; Sat, 17 Jan 2015 06:54:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; bh=kLaVl3bwtzENCxB3rFuaBn/XJWEFskhrCae4PzLLtsk=; b=oN446L7OsBsigQS/ew0CL7ZTPR7QqW5qIPhBQivWKW9Yhxh+U8JMqEkZkHA3eN09yw SBroaOKogiAdc+FcyER9utjqpPFjGxbpxwNvQMt8P7AsjL8tfvL1i+9wpTx+tfkPRzOL Q+TNFla38R2F/arYdnJPERU6thCiSIjyJrHpp0+fBqmXEavdsBeqLE0iOCmh1tkRAEIe AuvAly14Vue2CaeSx6Wv3aQIaVwHNw8vbcAq+npK4x6AcEE2VY+xBKiUsd86qhM1rCOK g7mdJoGthq+x/s1P0/Allz2aTLMjrJSFc+gP0pSws42fvxPNa5ql83DUebtTML/FDCIs orgQ== X-Received: by 10.194.143.12 with SMTP id sa12mr40265503wjb.101.1421506469068; Sat, 17 Jan 2015 06:54:29 -0800 (PST) Received: from ivaldir.etoilebsd.net ([2001:41d0:8:db4c::1]) by mx.google.com with ESMTPSA id ej10sm6997810wib.2.2015.01.17.06.54.27 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 17 Jan 2015 06:54:28 -0800 (PST) Sender: Baptiste Daroussin Date: Sat, 17 Jan 2015 15:54:26 +0100 From: Baptiste Daroussin To: Waitman Gobble Subject: Re: postgresql93 port and libedit Message-ID: <20150117145425.GR98528@ivaldir.etoilebsd.net> References: <20150115160113.GE98528@ivaldir.etoilebsd.net> <20150117004151.GO98528@ivaldir.etoilebsd.net> <171ED59D-E445-4605-B72C-E9ED8A74CA28@pingpong.net> <20150117140935.GQ98528@ivaldir.etoilebsd.net> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="uLzYCuFow5JXEQYy" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) Cc: "freebsd-ports@freebsd.org" , Palle Girgensohn , "pgsql@FreeBSD.org" X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 17 Jan 2015 14:54:31 -0000 --uLzYCuFow5JXEQYy Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sat, Jan 17, 2015 at 06:38:10AM -0800, Waitman Gobble wrote: > On Sat, Jan 17, 2015 at 6:09 AM, Baptiste Daroussin wr= ote: > > On Sat, Jan 17, 2015 at 10:37:49AM +0100, Palle Girgensohn wrote: > >> > >> > >> 17 jan 2015 kl. 01:41 skrev Baptiste Daroussin : > >> > >> > On Thu, Jan 15, 2015 at 08:02:22PM -0800, Waitman Gobble wrote: > >> >> On Thu, Jan 15, 2015 at 8:01 AM, Baptiste Daroussin wrote: > >> >>> On Wed, Jan 14, 2015 at 10:27:14PM -0800, Waitman Gobble wrote: > >> >>>> Hi, > >> >>>> > >> >>>> I noticed that postgresql93-client port pulls in readline, which = is GPLv3. > >> >>>> When I get rid of readline in Makefile 'USES' and also change the > >> >>>> bottom of the Makefile in postgresql93-server, > >> >>>> > >> >>>> ... > >> >>>> .include "${.CURDIR}/../postgresql92-server/Makefile" > >> >>>> > >> >>>> CONFIGURE_ARGS+=3D--with-libedit-preferred > >> >>>> > >> >>>> > >> >>>> It builds without readline and links against libedit in base: > >> >>>> > >> >>> except that libedit is not really an alternative as it does not su= pprot unicode > >> >>> (except in head) one solution would be to try linking against the = editline port > >> >>> which contains the same fixes as libedit in head and see if it wor= ks. > >> >>> > >> >>> Best regards, > >> >>> Bapt > >> >> > >> >> Thanks so much for the feedback. I've considered the options regard= ing > >> >> my project and I think it's more work to handle end-user devices wi= th > >> >> a pkg repository if I indeed must manage custom ports built using > >> >> customized sources. Distributing the initial appliance isn't the > >> >> problem, i'm working out an update strategy for down the road. > >> >> > >> > > >> > https://people.freebsd.org/~bapt/pglibedit.diff > >> > > >> > This patch works for me and accepts perfectly unicode. > >> > > >> > Can anyone from the postgresql team test, generalize to other posteg= resql > >> > versions? (please keep it using the port version of libedit). > >> > > >> > Best regards, > >> > Bapt > >> > >> Hi, > >> > >> Looks like a reasonable patch. I have a hard time finding the differen= ces between readine and ilbedit. It aims at 100% API compatibility. How goo= d is libedit? If it degrades functionality compared to readline it should r= eally be an option, but I agree, lesser options are preferred. > >> > >> Palle > > It is not 100% compatible but I think it implements all pgsql requireme= nts, only > > the version in ports and he head handle correctly unicode. > > > > Some of the default settings are a bit different most ^W but that can b= e changed > > via .editrc > > > > mysql has tips about the differences: > > https://docs.oracle.com/cd/E17952_01/refman-5.6-en/mysql-tips.html > > > > From what I can read in the code psql only uses compatible interfaces. > > > > As the one who have done the latet updates on libedit both base and por= ts, I > > would recommand to only use the version from ports on all version of Fr= eeBSD as > > I can add quick fixes if needed. > > > > Once I'm sure the libedit in base is good enough everywhere we would be= able to > > switch on the base version if people prefers to avoid an external dep. > > > > Best regards, > > Bapt >=20 > Looks great. The patch looks fine, however there is an issue that the > configure script in postgresql93 src still needs readline. If readline > is already on the machine then it builds fine, however if it is not > then the build fails. adding 'readline' back into USES will fix that > problem, and the resulting client is still linked to libedit and not > readline.. however the pkg will show a dependency on readline and pull > that in. The configure script is based on having readline, if you use > the --without-readline switch it won't even use libedit, however if > you use --with-libedit-preferred it will check for readline and then > switch the library linking order from 'readline libedit' to 'libedit > readline'. >=20 > I think the configure script for postgresql needs some rework so that > it only uses libedit, and the option would be --with-readline or > --with-libedit. >=20 > if 'readline' is removed from the Makefile (and readline is already > installed on the machine) then the package will build fine without the > dependency on readline. It's kind of a tricky predicament that it > needs it but not really. >=20 > As far as a port, I'm not sure how to 'optionally' replace the > configure script with what is in 'files' if the libedit option is > selected. I'm sure there is an example in the ports tree, just haven't > yet taken the time to check. >=20 I have no readline installed and I can see: checking for rl_completion_append_character... no checking for rl_completion_matches... yes checking for rl_filename_completion_function... yes checking for append_history... no checking for history_truncate_file... yes Which is what I was expected. With libedit-prefered it checks: READLINE_ORDER=3D"-ledit -lreadline" So from what I can see everything ok :) Bapt --uLzYCuFow5JXEQYy Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iEYEABECAAYFAlS6d6AACgkQ8kTtMUmk6EwAjwCcDQlMW/r11HPbYEA6WCLEOe5a UBcAn1hwcuChE7quYO03Fo9hhmFxY6yw =QtJI -----END PGP SIGNATURE----- --uLzYCuFow5JXEQYy--