Bug 7778 - Upgrade TigerVNC dependencies
Summary: Upgrade TigerVNC dependencies
Status: CLOSED FIXED
Alias: None
Product: ThinLinc
Classification: Unclassified
Component: Build system (show other bugs)
Version: trunk
Hardware: PC Unknown
: P2 Normal
Target Milestone: 4.14.0
Assignee: Linn
URL:
Keywords: prosaic, samuel_tester
Depends on: 4951 7773 7777 7789
Blocks: 7785
  Show dependency treegraph
 
Reported: 2021-10-20 14:31 CEST by Linn
Modified: 2021-11-10 14:18 CET (History)
1 user (show)

See Also:
Acceptance Criteria:


Attachments

Description Linn cendio 2021-10-20 14:31:17 CEST
Make sure our dependecies in cenbuild for TigerVNC are up to date.
Comment 1 Linn cendio 2021-10-21 10:20:22 CEST
The packages that remains to be upgraded after bug 7773 and bug 7777 are done are:

* libintl
* pixman
* pam
* autoconf
* automake
* libtool
* libdrm
Comment 2 Linn cendio 2021-10-26 14:12:01 CEST
PAM is currently version 1.1.0 and will not be upgraded. The parts of TigerVNC that ThinLinc uses does not use PAM, so an upgrade for this is not important. I did however try to upgrade to two newer versions of PAM, where neither version worked out-of-box.

PAM 1.5.2: PAM has a new dependency on prctl since 1.5.0, where prctl belongs to glibc. I think it was added in glibc 2.32 (link below). Our current glibc version is 2.12, so it is not compatible.
* Commit glibc: https://github.com/bminor/glibc/commit/ff026950e280bc3e9487b41b460fb31bc5b57721
* Commit PAM: https://github.com/linux-pam/linux-pam/commit/dd9cf929e7ec79e5341a44119e00d70ec7dd5f51


PAM 1.4.0: Function 'quotactl' is defined both in sys/quota.h from glibc and in linux/quota.h from kernel headers. File pam_setquota.c includes both these files, which causes issues since the functions do not use the same types. Our versions of the packages are glibc 2.12 and kernel headers 2.6.34.
Comment 6 Linn cendio 2021-11-01 13:19:52 CET
Upgraded and tested libintl, pixman and libdrm with a client on Fedora 33.

libintl
=======
Used for translations and in PulseAudio. Tested the following:
  * French translations
  * Russian translations
  * Sound redirection

pixman
======
Used by cairo. Tested by running cairo-clock.

libdrm
======
Used together with mesa. Tested by running glxgears.
Comment 8 Linn cendio 2021-11-02 08:46:19 CET
Command autoreconf of package autoconf has more dependencies than listed in the spec-file for the package. This was found when gtkdocize was removed via bug 4951 and I was unable to build the 64-bit rpm client locally.

autoreconf for autoconf 2.71 have these dependencies (found in /opt/cendio-build/arch/<arch>/usr/bin/autoreconf):

* autoconf
* autoheader
* autom4te
* automake
* aclocal
* libtoolize
* intltoolize
* gtkdocize
* autopoint
* make
Comment 12 Linn cendio 2021-11-02 10:46:55 CET
Packages libtool, autoconf and automake was tested by building the 64-bit rpm client locally. No issues found.

Will also add some dependencies in cenbuild's meta packages before this bug is done.
Comment 14 Linn cendio 2021-11-02 16:46:08 CET
In bug 4951, comment 91 we found a missing dependency on gtk-doc through autoreconf used in poppler. To not miss that dependency in the future, I have added gtk-doc as a dependency for poppler in meta/clientdeps.spec. 

I also looked for other packages that were missing gtk-doc in the spec-file, by looking at packages that directly or indirectly required gtk-doc, but I didn't find any other packages to be missing it.


Once the build system finish building this will be ready for testing.
Comment 16 Pierre Ossman cendio 2021-11-05 12:25:00 CET
The new version of autoconf fails to build when the entire build system is built from scratch. This has turned out to be a bug in perl, not in autoconf, which we are handling on bug 7789. Once that is fixed and we see that cenbuild can be rebuilt then everything should be done for this bug.
Comment 17 Samuel Mannehed cendio 2021-11-10 14:18:09 CET
Using a fully upgraded cenbuild environment I was still able to successfully build both a server bundle and a client bundle.

Using a nightly build of the ThinLinc server (build 2330) running on CentOS 7 I also verified that the server works:

 * XFCE and the applications xterm, firefox, thunar and glxgears render correctly
 * the games KMines, Lugaru HD, and Tremulous render correctly

Using ThinLinc client build 2250 running on Fedora 34 I could also verify that it works well:

 * keyboard/mouse input
 * sound input/output

I also looked through the commits and did not find any issues.

Note You need to log in before you can comment on or make changes to this bug.