Make sure our dependecies in cenbuild for TigerVNC are up to date.
The packages that remains to be upgraded after bug 7773 and bug 7777 are done are: * libintl * pixman * pam * autoconf * automake * libtool * libdrm
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.
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.
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
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.
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.
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.
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.