Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 7 Feb 2015 10:33:48 +0100
From:      Palle Girgensohn <girgen@pingpong.net>
To:        Waitman Gobble <gobble.wa@gmail.com>
Cc:        Baptiste Daroussin <bapt@freebsd.org>, "pgsql@FreeBSD.org" <pgsql@freebsd.org>, "freebsd-ports@freebsd.org" <freebsd-ports@freebsd.org>
Subject:   Re: postgresql93 port and libedit
Message-ID:  <A2199E75-91BD-4DA8-9998-7996926520DB@pingpong.net>
In-Reply-To: <CAFuo_fzY3Lbh5fo9JToz%2B0HP-4PKKfK358EMqLGoKTViLYLXcA@mail.gmail.com>
References:  <CAFuo_fzX5i357NofZ2DFkz_=qDZzdNdGKdT8RfhoTN-wo=YDSA@mail.gmail.com> <20150115160113.GE98528@ivaldir.etoilebsd.net> <CAFuo_fxXu05ELWtB3GSjhC0-fk_cjEv8QN4LTgyxdsaC%2BXLXow@mail.gmail.com> <20150117004151.GO98528@ivaldir.etoilebsd.net> <171ED59D-E445-4605-B72C-E9ED8A74CA28@pingpong.net> <20150117140935.GQ98528@ivaldir.etoilebsd.net> <CAFuo_fxw051u=9gvNF4itUCFvy-ZnJZMztD%2B9_bN3Q=koUREmg@mail.gmail.com> <20150117145425.GR98528@ivaldir.etoilebsd.net> <CAFuo_fwBTE4XMNUHR10kubD85%2Bav-uj_cEqLHAw0X-aZf3UZHw@mail.gmail.com> <CAFuo_fzY3Lbh5fo9JToz%2B0HP-4PKKfK358EMqLGoKTViLYLXcA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Hello,

I switched to Libedit with the latest release, and it appears that some colo=
ur code support is missing from Libedit. Any of you know or have ideas how t=
o fix this? Is it just not implemented yet in Libedit? I cod of course add a=
n option to build with readline, but I am more inclined to just switch back r=
ather than having one more option/complication in the port. So could you ple=
ase advice, is there a way to make this user happy using Libedit?

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D197362

Palle



> 17 jan 2015 kl. 16:08 skrev Waitman Gobble <gobble.wa@gmail.com>:
>=20
>> On Sat, Jan 17, 2015 at 7:00 AM, Waitman Gobble <gobble.wa@gmail.com> wro=
te:
>>> On Sat, Jan 17, 2015 at 6:54 AM, Baptiste Daroussin <bapt@freebsd.org> w=
rote:
>>>> On Sat, Jan 17, 2015 at 06:38:10AM -0800, Waitman Gobble wrote:
>>>>> On Sat, Jan 17, 2015 at 6:09 AM, Baptiste Daroussin <bapt@freebsd.org>=
 wrote:
>>>>>> On Sat, Jan 17, 2015 at 10:37:49AM +0100, Palle Girgensohn wrote:
>>>>>>=20
>>>>>>=20
>>>>>>> 17 jan 2015 kl. 01:41 skrev Baptiste Daroussin <bapt@freebsd.org>:
>>>>>>>=20
>>>>>>>> On Thu, Jan 15, 2015 at 08:02:22PM -0800, Waitman Gobble wrote:
>>>>>>>>> On Thu, Jan 15, 2015 at 8:01 AM, Baptiste Daroussin <bapt@freebsd.=
org> wrote:
>>>>>>>>>> On Wed, Jan 14, 2015 at 10:27:14PM -0800, Waitman Gobble wrote:
>>>>>>>>>> Hi,
>>>>>>>>>>=20
>>>>>>>>>> I noticed that postgresql93-client port pulls in readline, which i=
s GPLv3.
>>>>>>>>>> When I get rid of readline in Makefile 'USES' and also change the=

>>>>>>>>>> bottom of the Makefile in postgresql93-server,
>>>>>>>>>>=20
>>>>>>>>>> ...
>>>>>>>>>> .include "${.CURDIR}/../postgresql92-server/Makefile"
>>>>>>>>>>=20
>>>>>>>>>> CONFIGURE_ARGS+=3D--with-libedit-preferred
>>>>>>>>>>=20
>>>>>>>>>>=20
>>>>>>>>>> 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 e=
ditline port
>>>>>>>>> which contains the same fixes as libedit in head and see if it wor=
ks.
>>>>>>>>>=20
>>>>>>>>> Best regards,
>>>>>>>>> Bapt
>>>>>>>>=20
>>>>>>>> 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.
>>>>>>>=20
>>>>>>> https://people.freebsd.org/~bapt/pglibedit.diff
>>>>>>>=20
>>>>>>> This patch works for me and accepts perfectly unicode.
>>>>>>>=20
>>>>>>> Can anyone from the postgresql team test, generalize to other posteg=
resql
>>>>>>> versions? (please keep it using the port version of libedit).
>>>>>>>=20
>>>>>>> Best regards,
>>>>>>> Bapt
>>>>>>=20
>>>>>> Hi,
>>>>>>=20
>>>>>> Looks like a reasonable patch. I have a hard time finding the differe=
nces between readine and ilbedit. It aims at 100% API compatibility. How goo=
d is libedit? If it degrades functionality compared to readline it should re=
ally be an option, but I agree, lesser options are preferred.
>>>>>>=20
>>>>>> Palle
>>>>> It is not 100% compatible but I think it implements all pgsql requirem=
ents, only
>>>>> the version in ports and he head handle correctly unicode.
>>>>>=20
>>>>> Some of the default settings are a bit different most ^W but that can b=
e changed
>>>>> via .editrc
>>>>>=20
>>>>> mysql has tips about the differences:
>>>>> https://docs.oracle.com/cd/E17952_01/refman-5.6-en/mysql-tips.html
>>>>>=20
>>>>> =46rom what I can read in the code psql only uses compatible interface=
s.
>>>>>=20
>>>>> As the one who have done the latet updates on libedit both base and po=
rts, I
>>>>> would recommand to only use the version from ports on all version of Fre=
eBSD as
>>>>> I can add quick fixes if needed.
>>>>>=20
>>>>> Once I'm sure the libedit in base is good enough everywhere we would b=
e able to
>>>>> switch on the base version if people prefers to avoid an external dep.=

>>>>>=20
>>>>> 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
>>>=20
>>> Which is what I was expected.
>>>=20
>>> With libedit-prefered it checks:
>>> READLINE_ORDER=3D"-ledit -lreadline"
>>>=20
>>> So from what I can see everything ok :)
>>>=20
>>> Bapt
>>=20
>>=20
>> Hmmm, I'll check again. The build was failing for me using poudriere.
>> it looks to me like the configure script checks for readline existence
>> and the with-libedit-preferred check block is inside the readline
>> check block..
>>=20
>> --
>> Waitman Gobble
>> Los Altos California USA
>> 510-830-7975
>=20
> ... I think that's why '--without-readline' option help reads 'without
> readline AND libedit'
>=20
> --=20
> Waitman Gobble
> Los Altos California USA
> 510-830-7975



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?A2199E75-91BD-4DA8-9998-7996926520DB>