Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 17 Jan 2015 15:54:26 +0100
From:      Baptiste Daroussin <bapt@freebsd.org>
To:        Waitman Gobble <gobble.wa@gmail.com>
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:  <20150117145425.GR98528@ivaldir.etoilebsd.net>
In-Reply-To: <CAFuo_fxw051u=9gvNF4itUCFvy-ZnJZMztD%2B9_bN3Q=koUREmg@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>

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

--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 <bapt@freebsd.org> wr=
ote:
> > 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.o=
rg> 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--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20150117145425.GR98528>