From owner-freebsd-ports@FreeBSD.ORG Sat Jan 17 14:38:12 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 3DC08EEF; Sat, 17 Jan 2015 14:38:12 +0000 (UTC) Received: from mail-we0-x22a.google.com (mail-we0-x22a.google.com [IPv6:2a00:1450:400c:c03::22a]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id C2216EA4; Sat, 17 Jan 2015 14:38:11 +0000 (UTC) Received: by mail-we0-f170.google.com with SMTP id w61so24677608wes.1; Sat, 17 Jan 2015 06:38:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=RRhNVC7eugwfMmMQOydKuYHXoKvNqc0zNR7ZOeTqR9Y=; b=CAj8UL8zGn9bteZzqen7Iec4xH7Pnvz94Wplt5ZJFjCU4NOu3isJg6q92/xNN3bajb w3gPsdyykMAsns21Un6r84jjnaBKd+jTC0IVfbczbxPU4nkhhoG4RHNAH55Efo/KVmBJ SEGUu8VbfwYbJtjneGm5ErEg8cTllxgEx8nL5nk1qz/+P8jS7mczE1VkddWsVP/noS5V uqT4RIyNK1KKkpXQfUxjYvtyicezvF9zFRcSy5nrwohQvfApaMixT+k5ucc3ou8b+3b7 0on7Xv5CpuslQypdZnz7O34s1ggDga/gDbyzAM62OdFGYuuJxQZHQlmCVyroPKRe8nFT oqLg== MIME-Version: 1.0 X-Received: by 10.180.38.66 with SMTP id e2mr16265360wik.55.1421505490157; Sat, 17 Jan 2015 06:38:10 -0800 (PST) Received: by 10.27.212.129 with HTTP; Sat, 17 Jan 2015 06:38:10 -0800 (PST) In-Reply-To: <20150117140935.GQ98528@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> Date: Sat, 17 Jan 2015 06:38:10 -0800 Message-ID: Subject: Re: postgresql93 port and libedit From: Waitman Gobble To: Baptiste Daroussin Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable 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:38:12 -0000 On Sat, Jan 17, 2015 at 6:09 AM, Baptiste Daroussin wrot= e: > 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 supp= rot unicode >> >>> (except in head) one solution would be to try linking against the ed= itline port >> >>> which contains the same fixes as libedit in head and see if it works= . >> >>> >> >>> Best regards, >> >>> Bapt >> >> >> >> Thanks so much for the feedback. I've considered the options regardin= g >> >> my project and I think it's more work to handle end-user devices with >> >> 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 postegre= sql >> > 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 difference= s between readine and ilbedit. It aims at 100% API compatibility. How good = is libedit? If it degrades functionality compared to readline it should rea= lly be an option, but I agree, lesser options are preferred. >> >> Palle > It is not 100% compatible but I think it implements all pgsql requirement= s, 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 be = 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 ports= , I > would recommand to only use the version from ports on all version of Free= BSD as > I can add quick fixes if needed. > > Once I'm sure the libedit in base is good enough everywhere we would be a= ble to > switch on the base version if people prefers to avoid an external dep. > > Best regards, > Bapt 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'. 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. 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. 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 Waitman Gobble Los Altos California USA 510-830-7975