Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 17 Jan 2015 06:38:10 -0800
From:      Waitman Gobble <gobble.wa@gmail.com>
To:        Baptiste Daroussin <bapt@freebsd.org>
Cc:        "freebsd-ports@freebsd.org" <freebsd-ports@freebsd.org>, Palle Girgensohn <girgen@pingpong.net>, "pgsql@FreeBSD.org" <pgsql@freebsd.org>
Subject:   Re: postgresql93 port and libedit
Message-ID:  <CAFuo_fxw051u=9gvNF4itUCFvy-ZnJZMztD%2B9_bN3Q=koUREmg@mail.gmail.com>
In-Reply-To: <20150117140935.GQ98528@ivaldir.etoilebsd.net>
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>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Jan 17, 2015 at 6:09 AM, Baptiste Daroussin <bapt@freebsd.org> wrot=
e:
> On Sat, Jan 17, 2015 at 10:37:49AM +0100, Palle Girgensohn wrote:
>>
>>
>> 17 jan 2015 kl. 01:41 skrev Baptiste Daroussin <bapt@freebsd.org>:
>>
>> > 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,
>> >>>>
>> >>>> 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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAFuo_fxw051u=9gvNF4itUCFvy-ZnJZMztD%2B9_bN3Q=koUREmg>