The postgresql-upgrade RPM requires both Python 2 and Python 3.
$ dnf repoquery --repo=rawhide --requires postgresql-upgrade | grep python
Except in very special circumstances, there is no need for one package
to drag in both Python stacks. Is this intended for this package or can it be fixed by splitting the package, or removing the stray dependencies?
It's ok to do this in Rawhide only, however, it would be greatly
appreciated if you could push it to Fedora 28 as well.
If anything is unclear, or if you need any kind of assistance, you can
ask on IRC (#fedora-python on Freenode), or reply here. We'll be happy
to help investigating or fixing this issue!
(In reply to Iryna Shcherbina from comment #0)
> Except in very special circumstances, there is no need for one package
> to drag in both Python stacks. Is this intended for this package or can it
> be fixed by splitting the package, or removing the stray dependencies?
The plpython2.so file has been packaged recently in bug 1557490. It's
intentional to have the plugin packaged plpython2.so also in
postgresql-upgrade (not only in postgresql-plpython2).
As long as (some) Python 2 will be in Fedora, I see no immediate need to
drop python 2 support in plypython.
Pavel, could you please provide more information? I've read the linked bug and links in it, yet it says nothing about python and I lack context to understand this.
Could you please explain to me why a dependency on multiple Pythons is desired here? I.e.:
What happens if it only depends on Python 3? What user actions stop working?
What happens if it only depends on Python 2? What user actions stop working?
We normally provide plpython2.so (postgresql-plpython2) and plpython3.so
(in postgresql-plpython3). Those modules are both built against different
To make the pg_upgrade (postgresql-setup --upgrade) work on Fedora 28
(when user upgraded from F26 and F27) it is best to have the same set
of server modules in postgresql-upgrade package as were available in
all subpackages on the previous server versions.
Anyways, as I said -- there's no reason not to drop python2 support in
Fedora's PostgreSQL package ... I have no problem to take care of that.
And we really need to first discuss with PostgreSQL upstream future steps
Shouldn't then postgresql-upgrade require postgresql-plpython2 and postgresql-plpython3 instead of shipping the so files? (Just curious.)
I'll block postgresql-upgrade from taskotron-python-versions required Python version check, ok?
(In reply to Miro Hrončok from comment #4)
> Shouldn't then postgresql-upgrade require postgresql-plpython2 and
> postgresql-plpython3 instead of shipping the so files? (Just curious.)
No; that would suck in the modules for the *current* server version, whereas what the upgrade package needs to contain is the modules for the *previous* version.
(In reply to Tom Lane from comment #5)
> No; that would suck in the modules for the *current* server version, whereas
> what the upgrade package needs to contain is the modules for the *previous*
Understood. Pavel, Tom, thank you both.