We want to upgrade dependencies for TigerVNC in preparation for the upcoming sync with upstream.
I went through all dependencies (recursively) listed in tigervncdeps.spec and found that the following packages can be upgraded: cmake 3.28.2 -> 3.31.5 curl 8.10.1 -> 8.12.1 openssl 3.3.1 -> 3.4.1 expat 2.6.3 -> 2.6.4 libarchive 3.7.6 -> 3.7.7 libxml2 2.9.12 -> 2.13.5 libuv 1.42.0 -> 1.50.0 librhash 1.4.2 -> 1.4.5 gettext 0.22.5 -> 0.23.1 libiconv 1.14 -> 1.18 pixman 0.43.4 -> 0.44.2 meson 1.5.2 -> 1.7.0 importlib-metadata 4.8.1 -> 8.6.1 typing-extensions 3.10.0.2 -> 4.12.2 zipp 3.6.0 -> 3.21 setuptools 56.2.0 -> 75.8.0 gnutls 3.8.7 -> 3.8.9 libtasn1 4.19.0 -> 4.20.0 pam 1.1.0 -> 1.7.0 flex 2.5.35 -> 2.6.4 autoconf 2.7.1 -> 2.7.2 * This was ignored when doing bug 8402 due to causing an issue with building GTK2 [1]. libtool 2.5.3 -> 2.5.4 nettle 3.10 -> 3.10.1 mesa 18.1.8 -> 24.3.4 (25.0.0-rc3 just released) elfutils 0.173 -> 0.192 Note that we cannot upgrade mesa currently, as explained in bug 8504 comment #15. Same goes for PAM, which will be upgraded together with glibc with bug 8368. [1] https://git.cendio.se/thinlinc/cenbuild/-/merge_requests/19#note_1272
(In reply to Adam Halim from comment #1) Correction: we are interested in upgrading dependencies listed for TigerVNC in clientdeps.spec, which narrows down the list: cmake 3.28.2 -> 3.31.5 curl 8.10.1 -> 8.12.1 openssl 3.3.1 -> 3.4.1 expat 2.6.3 -> 2.6.4 libarchive 3.7.6 -> 3.7.7 libxml2 2.9.12 -> 2.13.5 libuv 1.42.0 -> 1.50.0 librhash 1.4.2 -> 1.4.5 gettext 0.22.5 -> 0.23.1 libiconv 1.14 -> 1.18 pixman 0.43.4 -> 0.44.2 meson 1.5.2 -> 1.7.0 importlib-metadata 4.8.1 -> 8.6.1 typing-extensions 3.10.0.2 -> 4.12.2 zipp 3.6.0 -> 3.21 setuptools 56.2.0 -> 75.8.0 pam 1.1.0 -> 1.7.0 flex 2.5.35 -> 2.6.4
Looking at the TigerVNC dependencies in serverdeps.spec (excluding mesa), only one package needs to be updated (the rest are the same as in comment #2): rsync 3.3.0 -> 3.4.1
Work on upgrading OpenSSL has been moved to bug 8525.
Work on upgrading CMake and its deps has been moved to bug 8526 (including sub bug 8525).
Leaving PAM out of this bug. It will be upgraded as a part of bug 8368 (upgrade of glibc).
Regarding Flex, we already have some special treatment in the spec-file since we don't have regex.h in the windows target arch in cenbuild. It looks like this has gotten a bit more complicated. The new version has a few hard requirements on files and function that we do not have in the windows arch Flex's configure.ac: > AC_CHECK_HEADERS([regex.h strings.h sys/stat.h sys/wait.h unistd.h], [], > [AC_MSG_ERROR(required header not found on your system)]) It looks like we are missing regex.h and sys/wait.h via MinGW. > AC_CHECK_FUNCS([dup2 dnl > memset dnl > regcomp dnl <---- regcomp is missing as a consequense of no regex.h > strcasecmp dnl > strchr dnl > strdup dnl > strtol dnl > ], [], [AC_MSG_ERROR(required library function not found on your system)])
Work on upgrading Pixman and its deps has been moved to bug 8531.
Looking at Gettext and deps, we aren't taking as big of a leap when upgrading this time as we did last time in bug 8402. There are two things that stand out as something to look at when upgrading: * We had to change how Tre, which depends on Gettext, was built. Is this still the case. * Last upgrade fixed a bug on macOS, bug 7167. Is this still fixed after upgrading again?
(In reply to Alexander Zeijlon from comment #10) > * We had to change how Tre, which depends on Gettext, was built. Is this > still the case. It looks like we can stop calling autoreconf when building Tre now, after upgrading Gettext, we can then also remove the dependency on autotools from the Tre package. > * Last upgrade fixed a bug on macOS, bug 7167. Is this still fixed after > upgrading again? I have verified that there is no regression when upgrading to gettext 0.24.
Turns out we could change our configuration for unfs3 such that it doesn't link with libfl which is a part of the flex package. This means that we no longer require cross-compiled versions of flex in cenbuild, and this makes the flex upgrade simpler. Previously, we had custom handling for when building flex for windows due to missing header files. All this can now be removed since we are only building native packages for each cenbuild arch.
> MUST: > * Dependencies for TigerVNC should be updated to their latest versions. The packages Flex, Rsync, Gettext and libiconv have been upgraded to their latest versions. I have verified that ThinLinc server and clients build and work post upgrade. All other packages, mentioned in comment 2 are handled in breakout bugs: * Pixman and deps in bug 8531. * Cmake and deps in bug 8526. * OpenSSL in bug 8525. * Pam and deps in bug 8368
Tested local drives (for flex) on bug 7232, and translations (for gettext) on bug 7271.