TurboVNC / turbovnc

Main TurboVNC repository
https://TurboVNC.org
GNU General Public License v2.0
773 stars 139 forks source link

opensuse tumbleweed rpm fails to install #319

Closed alinelena closed 1 year ago

alinelena commented 2 years ago

Since opensuse tumbleweed moved away from chkconfig

Problem: nothing provides '/sbin/chkconfig' needed by the to be installed turbovnc-2.2.90-20211222.x86_64
 Solution 1: do not install turbovnc-2.2.90-20211222.x86_64
 Solution 2: break turbovnc-2.2.90-20211222.x86_64 by ignoring some of its dependencies

in theory one can move to systemd

dcommander commented 2 years ago

The TurboVNC Server init.d script is more or less a legacy method of starting the server that we inherited from TightVNC. The preferred method of starting the server is through the TurboVNC Session Manager. For now, you should be able to force-install the RPM and make it work without the init.d script. Leaving this issue open to document the need to support systemd-only systems.

alinelena commented 2 years ago

thank you for your answer! So maybe the require shall become recommend in the rpm as a short time solution.

just to note: while installing manual this is not really an issue. building docker images for example it is an issue since there is no automatic way to tell zypper(I did nto check dnf) to choose a resolution.

dcommander commented 2 years ago

Couldn’t you just use rpm —force for the TurboVNC RPM? It wouldn’t be an issue for DNF, because all machines that use DNF provide chkconfig at the moment. That may change, though.

dcommander commented 1 year ago

The problem with removing the /sbin/chkconfig dependency or making it a soft dependency is that the post-install and pre-uninstall scripts invoke /sbin/chkconfig, so in the case of openSUSE Tumbleweed, removing/softening the dependency would just replace a dependency error with a script error. We don't officially support Tumbleweed (https://turbovnc.org/Documentation/OSSupport), so the inability to install our official binaries on that distribution isn't technically a bug. However, I have added a new CMake option (TVNC_BUILDINITSCRIPT) that allows the init script to be excluded from the build and packages, thus eliminating the dependencies and scripts that would cause problems for systemd-only releases. That at least allows for easily generating an RPM that works properly with Tumbleweed and other systemd-only releases. Eventually I will be forced to change the init script to a systemd script, but that won't happen until an officially-supported O/S requires it.