Subject: Bug#1427: Update Tumbleweed packages for Perl 5.30

From: Tristan Miller <[email-masked]>
Date: Wed, 11 Dec 2019 22:02:38 +0100

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.

---

From: Tristan Miller <[email-masked]>
Date: Mon, 16 Dec 2019 13:38:40 +0100

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.

---

From: Tristan Miller <[email-masked]>
Date: Tue, 17 Dec 2019 11:57:41 +0100

On Mon, 16 Dec 2019 13:38:40 +0100, Tristan Miller
<[email-masked]> 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.)

---

From: Tristan Miller <[email-masked]>
Date: Thu, 30 Jul 2020 10:09:46 +0200

This problem is no longer reproducible; the Tumbleweed packages
from the "heuler" nightly repository install and run just fine.  This
bug can be closed.

---

From: Tristan Miller <[email-masked]>
Date: Tue, 28 Sep 2021 09:51:23 +0200

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.