Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 7 May 2016 01:35:12 +0200
From:      Baptiste Daroussin <bapt@FreeBSD.org>
To:        pgsql@FreeBSD.org, girgen@FreeBSD.org, ports@FreeBSD.org
Subject:   coinstallable version of pgsql (POC)
Message-ID:  <20160506233512.GC84309@ivaldir.etoilebsd.net>

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

--JgQwtEuHJzHdouWu
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Hi all,

Apparently noone had time to work on making all the version of pgsql
coinstallable since we last talked about it

Here is a proof of concept done on pg95 which makes it coinstallable:
https://people.freebsd.org/~bapt/pgsql95.diff

It is unfinished given I have not enough time for that.

Basically it keeps the package split as it is now (PoC done on clients, server,
contrib and plperl) for server what remains is renaming the rc.d script

all binaries are now installed under lib/postgresql95/bin and a symlink in
regular bin suffixed by the version number.

the rpath from the default built is disabled and replaced with a new one which
ensure the order of the rpath is correct (the default one is not in the right
order) which ensure the libpq version found in priority is the the right
version. using rpath is good here to avoid adding a ldconfig file which would
make other programs accidentally find the non default libpq

In order to keep the manpages, in category 1 the manpages have been renamed to
match the name of the symlinks in the PATH

In the 7 category thet have been suffixed with postgresql${version} so one can
really have all the manpages for all clients available and clearly state which
one correspond to which version

the man3 and pkgconfig has been removed as they belong to the libpq package

What is missing: create a new postgresql-libq based on latest pg version which
is installed in the default lib directory

What I forgot here is to add a BUNDLE_LIBS=yes for the solver never to take in
accoung libpq.so.5 from those clients

Last thing would be to cleanup Mk/Uses/pgsql.mk to allow parallel installation

I really hope you like that approach and that someone will be able to finish it
soon.

That would be really helpful for users to be able to decide which version of pg
they want without having to build their own packages.

It will also simplify upgrading as at one point one have tools from all version
of postgresql available at once.

Best regards,
Bapt

--JgQwtEuHJzHdouWu
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQIcBAEBCAAGBQJXLSowAAoJEGOJi9zxtz5aN+UQAIwfSVpGDPlLLPlwRnQwjIoy
kJ8ADfzqWAw8A4Y0fMJVfPKqPsZkeFO/pIQ09Nm+YtQhOAwrUkZX03ogY+cFAxJb
9uReQUCB9z2NO8nWFaAJFqEFlCnUOLEzHRY8Vlr5TJ2JVJ/3QlE/uQOSwE3/FnIc
Y0S8A9qrLx0zDCLwYZr3kpxm/YXq5WEe5dfvqpNx8Gj6vGiaMPkUxxuYb5oMkQ4w
nW9Qpzxs6DGtNKNklxu41iKrzYUHjA+69fYSpqOXzXUeowtpzS08el1dAcMyYYEX
3uszUGGSvqNUMLwJPpuX7gUuxuE66XlCqLKLEYm6/0oL3ecy1ATLnkz/y3t2T15T
aaqy5FXAvCdg/4pKkvT8qo++Mu4WnBHk+tUIC6fzwvcDluxynm9ytqfSjHCGR02/
Qol+U9U47gZhrC8O4raxO9a94WcqqngOisvw7UYYNwuwEUzyJ90sIgeIu5mKMGUI
835y7YSRa6F6r6DbYgJg2y75z7wD/wI87kNjj8ROFai/7DcICiYdPXDq+RhvjXBD
lmFUvX6IS/5fbJj9l1k6bUrcGLx3CrM7HrgVMGETKmZL8jbuTmEFlSexw5jSaqCz
kuTcLygxPYAxZLn9A4U66dzZoF/bIfg+sNqK7yYDoM81MpyF5s+mKXctNgOz5JPV
95IPD14YZ3NzNXshjqOa
=M/IX
-----END PGP SIGNATURE-----

--JgQwtEuHJzHdouWu--



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