diff --git a/tigervnc.changes b/tigervnc.changes index a19639b..41537d6 100644 --- a/tigervnc.changes +++ b/tigervnc.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Thu Mar 22 14:27:28 UTC 2018 - msrb@suse.com + +- Enable xvnc.socket if upgraded from previous installation that + had VNC enabled in xinetd configuration. (bnc#1085974) +- Subpackage xorg-x11-Xvnc must also obsolete tightvnc. + ------------------------------------------------------------------- Wed Feb 28 12:19:52 UTC 2018 - msrb@suse.com diff --git a/tigervnc.spec b/tigervnc.spec index 8ba7fca..30b66c6 100644 --- a/tigervnc.spec +++ b/tigervnc.spec @@ -151,6 +151,8 @@ TigerVNC also provides extensions for advanced authentication methods and TLS en %package -n xorg-x11-Xvnc Requires(post): /usr/sbin/useradd Requires(post): /usr/sbin/groupadd +Requires(post): /bin/awk +Requires(post): systemd # Needed to generate certificates Requires: openssl Requires: windowmanager @@ -162,7 +164,9 @@ Requires: xorg-x11-fonts-core # For the with-vnc-key.sh script Requires: /bin/hostname %{?systemd_requires} +Provides: tightvnc = 1.3.9 Provides: xorg-x11-Xvnc:/usr/lib/vnc/with-vnc-key.sh +Obsoletes: tightvnc < 1.3.9 Summary: TigerVNC implementation of Xvnc Group: System/X11/Servers/XF86_4 @@ -360,6 +364,20 @@ usermod -G shadow -a %{vncuser} || : %post -n xorg-x11-Xvnc %service_add_post xvnc.socket +# If there is old xinetd configuration file and VNC service was enabled, enable the systemd service too. +# Once we are done, RPM will rename the file to /etc/xinetd.d/vnc.rpmsave, so this won't happen +# during future updates. +if [ -e /etc/xinetd.d/vnc ] && awk ' + BEGIN { in_vnc1_section = 0 } + /service.*vnc1/ { in_vnc1_section = 1 } + in_vnc1_section && /disable\s*=\s*yes/ { exit 1 } + in_vnc1_section && /}/ { exit 0 } + ' /etc/xinetd.d/vnc; +then + echo "Found old xinetd configuration with enabled VNC service. Enabling xvnc.socket." + systemctl enable xvnc.socket +fi + %preun -n xorg-x11-Xvnc %service_del_preun xvnc.socket