Bug 1618698

Summary: [modularity] drop postgresql-libs - create libpq.spec and libecpg.spec instead
Product: [Fedora] Fedora Reporter: Pavel Raiskup <praiskup>
Component: postgresqlAssignee: Pavel Raiskup <praiskup>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: anon.amish, devrim, hhorak, jmlich83, jstanek, pkajaba, pkubat, praiskup, tgl
Target Milestone: ---Keywords: FutureFeature, Tracking
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-01-14 11:50:14 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1623764, 1623766, 1625651    
Bug Blocks:    

Description Pavel Raiskup 2018-08-17 11:18:09 UTC
Fedora (28+) already provides multiple versions of PostgreSQL packages, the
default version AND the modular version (even though DB team has not started
maintaining the modular PG stack, it's done by modularity people - available
for testing in /etc/yum.repos.d/fedora-modular.repo).

The ongoing plan is to support the modular PostgreSQL server, too, and make
that server interchangeable with system-default version (note that this is
not about parallel install-ability/SCL!).

The new layout should be 100% compatible with what we have provided so far,
so regular user shouldn't really observe big differences.  I.e. each Fedora
version should still (by default) provide/install the latest PostgreSQL
major server version which was available at the time of Fedora branching
(from Fedora Rawhide).

So the change is that, in module repository (in module streams), we'll
provide different versions of set of PostgreSQL server packages
(postgresql-server, postgresql-contrib, postgresql-pl*, etc., + third party
modules built against that server).

The major change in 'postgresql.spec' is that we'll drop shared libraries
from there - the postgresql-libs subpackage.  Newly the contents of
postgresql-libs subpackage will be provided in 'libpq' and 'libecpg'
packages (with *-devel counterparts).  The benefit of this layout is that,
even though servers will be distributed in multiple versions, the _client_
library can be built and maintained only once per system.

We expect to provide older PG stack version usually in modules, but it _is_
expected (we at least wish) that we could even start shipping newer version of
PostgreSQL server module in the middle of Fedora stable release.  For this
purpose, we might need to have libpq updated to newer major version (if the
newly provided server version will require a newer libpq, e.g. because there
are newer symbols).  So to automatically guard against server/client-lib
mis-installation, we'll start with small downstream change -- with versioned
ABI of the libpq library.

This approach (single version of libpq and ABI versioning) has been
discussed upstream and the result is that:

  - Debian packagers do something similar (slightly differently because
    they maintain several libpq.so.5 versions in parallel, but only
    the latest required libpq is installed)

  - upstream is not ATM very much interested in ABI versioning support

If upstream decided to implement ABI versioning one day, we'd migrate to
that scheme in the next branched distro version.

[1] https://www.postgresql.org/message-id/5261375.z5KIV9Ssac%40nb.usersys.redhat.com

This bug is meant to serve the tracking purpose.

Comment 1 Fedora Update System 2018-08-27 14:07:33 UTC
postgresql-10.5-3.fc28 has been submitted as an update to Fedora 28. https://bodhi.fedoraproject.org/updates/FEDORA-2018-8870ed56fa

Comment 2 Fedora Update System 2018-08-27 14:07:58 UTC
postgresql-9.6.10-3.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2018-36b0b4efc9

Comment 3 Fedora Update System 2018-08-28 10:51:03 UTC
postgresql-10.5-3.fc28 has been pushed to the Fedora 28 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-8870ed56fa

Comment 4 Fedora Update System 2018-08-28 11:39:09 UTC
postgresql-9.6.10-3.fc27 has been pushed to the Fedora 27 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-36b0b4efc9

Comment 6 Fedora Update System 2018-08-31 21:16:43 UTC
postgresql-10.5-3.fc28 has been pushed to the Fedora 28 stable repository. If problems still persist, please make note of it in this bug report.

Comment 7 Pavel Raiskup 2018-09-05 06:05:35 UTC
postgresql.spec pull request for review:
https://src.fedoraproject.org/rpms/postgresql/pull-request/3

Comment 8 Fedora Update System 2018-09-13 17:06:07 UTC
postgresql-9.6.10-3.fc27 has been pushed to the Fedora 27 stable repository. If problems still persist, please make note of it in this bug report.

Comment 9 Pavel Raiskup 2019-01-14 11:50:14 UTC
This is now in F30+.  Feel free to re-open if there are any problems.