Package: x2goserver Version: 4.1.0.4 Tags: rpm-packages
Various openSUSE Tumbleweed packages for the X2Go server are built in such a way that they require Perl 5.28.1. However, Tumbleweed no longer distributes that version of Perl; it now distributes only Perl 5.30.1. This means that it is impossible to install these X2Go server packages on the most recent release of Tumbleweed, and for Tumbleweed systems where those X2Go server packages were already installed, it is impossible to upgrade Tumbleweed without removing the X2Go server:
$ sudo zypper dup [sudo] password for root: Loading repository data... Reading installed packages... Warning: You are about to do a distribution upgrade with all enabled repositories. Make sure these repositories are compatible before you continue. See 'man zypper' for more information about this command. Computing distribution upgrade... 9 Problems: Problem: x2goserver-common-4.1.0.4-0.0x2go1.0.git20191106.1811.heuler.x86_64 requires perl(:MODULE_COMPAT_5.28.1), but this requirement cannot be provided Problem: perl-5.28.1-3.4.x86_64 requires perl-base = 5.28.1, but this requirement cannot be provided Problem: perl-X2Go-Server-DB-4.1.0.4-0.0x2go1.0.git20191106.1811.heuler.x86_64 requires perl(:MODULE_COMPAT_5.28.1), but this requirement cannot be provided Problem: perl-X2Go-Server-4.1.0.4-0.0x2go1.0.git20191106.1811.heuler.x86_64 requires perl(:MODULE_COMPAT_5.28.1), but this requirement cannot be provided Problem: perl-X2Go-Log-4.1.0.4-0.0x2go1.0.git20191106.1811.heuler.x86_64 requires perl(:MODULE_COMPAT_5.28.1), but this requirement cannot be provided Problem: x2goserver-4.1.0.4-0.0x2go1.0.git20191106.1811.heuler.x86_64 requires perl(:MODULE_COMPAT_5.28.1), but this requirement cannot be provided
Simply telling zypper to keep the obsolete packages doesn't work as this ends up in a rabbit-hole of seemingly irresolvable dependency issues.
After further investigation, I believe the problem is that the official nightly packages were built on an outdated version of openSUSE Tumbleweed (from 2019-11-06) that uses Perl 5.28.1, and the dependency on this version of Perl is essentially hard-coded (or more precisely, it is automatically set at build time). Tumbleweed has since moved to Perl 5.30.1, and so the existing X2Go RPMs cannot be installed on the current Tumbleweed release.
The solution is to upgrade whatever system was used to produce the official X2Go nightly packages to the latest version of Tumbleweed and then rebuild the X2Go RPMs. Or alternatively, use the openSUSE Build Service (OBS) to build the packages; this will take care of automatically rebuilding the packages according to the latest version of Tumbleweed.
Until the X2Go developers implement one of these two solutions, I have implemented the second solution myself. I have created an OBS project for x2goclient, x2goclient, and pinentry-x2go, and contributed packages using the latest SCM commits: <https://build.opensuse.org/project/show/home:psych0naut:x2go>
Note that I do not have any sort of automated system in place for keeping these builds in sync with the latest commits to X2Go. I consider my builds to be a stopgap measure until the X2Go developers fix their own nightly build system.
On Mon, 16 Dec 2019 13:38:40 +0100, Tristan Miller <psychonaut@nothingisreal.com> wrote:
I have created an OBS project for x2goclient, x2goclient, and pinentry-x2go
Sorry, that should read "x2goclient, x2goserver, and pinentry-x2go". (There are also packages for nx-libs.)
This problem is no longer reproducible; the Tumbleweed packages from the "heuler" nightly repository install and run just fine. This bug can be closed.
OpenSUSE Tumbleweed has upgraded its Perl distribution (from 5.32 to 5.34) and as a consequence this problem is once again reproducible. The official openSUSE RPMs in <http://packages.x2go.org/opensuse/tumbleweed/> need to be rebuilt such that they depend on Perl 5.34.