-# TODO:
-# - tigervnc.init
-
-%define xversion 1.12.0
+%define xversion 1.16.0
Summary: A TigerVNC remote display system
Summary(pl.UTF-8): System zdalnego dostępu TigerVNC
Name: tigervnc
-Version: 1.2.0
-Release: 1
+Version: 1.7.1
+Release: 2
License: GPL v2
Group: X11/Applications/Networking
-Source0: http://dl.sourceforge.net/tigervnc/1.2.0/%{name}-%{version}.tar.gz
-# Source0-md5: 3a5755b4ed600a81c3a17976c6f8420d
+Source0: https://github.com/TigerVNC/tigervnc/archive/v%{version}.tar.gz?/%{name}-%{version}.tar.gz
+# Source0-md5: 82dbb9d178b8e313b51f1651e0398dfe
Source1: %{name}.desktop
-Patch0: %{name}-cookie.patch
-Patch1: %{name}-ldnow.patch
-Patch2: %{name}-rh102434.patch
-Patch3: %{name}-viewer-reparent.patch
-Patch4: %{name}-as-needed.patch
-Patch5: %{name}-ipv6.patch
-Patch6: %{name}-xorg111.patch
-Patch7: %{name}-rh692048.patch
-Patch8: gnutls3.patch
-Patch9: no-bashizm.patch
-Patch10: xorg112.patch
-Patch11: cmake-mandir.patch
+Source2: vncserver.init
+Source3: vncserver.sysconfig
+Source4: vncserver.target
+Source5: vncserver-service-generator
+Patch0: %{name}-xserver.patch
+Patch1: %{name}-libvnc-os.patch
+Patch2: %{name}-getmaster.patch
+Patch3: %{name}-utilize-system-crypto-policies.patch
+Patch4: %{name}-xstartup.patch
+Patch100: xserver.patch
URL: http://www.tigervnc.com/
BuildRequires: ImageMagick
BuildRequires: ImageMagick-coder-png
BuildRequires: ImageMagick-coder-svg
BuildRequires: Mesa-libGL-devel >= 7.8.1
BuildRequires: cpp
+BuildRequires: fltk-devel
BuildRequires: gnutls-devel
BuildRequires: libjpeg-turbo-devel
BuildRequires: xorg-xserver-server-source >= %{xversion}
BuildRequires: perl-base
BuildRequires: pixman-devel >= 0.16.0
BuildRequires: pkgconfig >= 1:0.19
+BuildRequires: rpmbuild(macros) >= 1.647
BuildRequires: xorg-app-mkfontscale
BuildRequires: xorg-font-font-util >= 1.1
BuildRequires: xorg-lib-libX11-devel
BuildRequires: xorg-lib-libpciaccess-devel >= 0.13
BuildRequires: xorg-lib-libxkbfile-devel
BuildRequires: xorg-lib-libxkbui-devel >= 1.0.2
+BuildRequires: xorg-lib-libxshmfence-devel >= 1.1
BuildRequires: xorg-lib-xtrans-devel >= 1.2.2
BuildRequires: xorg-proto-bigreqsproto-devel >= 1.1.0
BuildRequires: xorg-proto-damageproto-devel >= 1.1
+BuildRequires: xorg-proto-dri3proto-devel >= 1.0
BuildRequires: xorg-proto-fixesproto-devel >= 4.1
BuildRequires: xorg-proto-fontcacheproto-devel
BuildRequires: xorg-proto-fontsproto-devel
BuildRequires: xorg-proto-glproto-devel >= 1.4.10
BuildRequires: xorg-proto-inputproto-devel >= 1.9.99.902
BuildRequires: xorg-proto-kbproto-devel >= 1.0.3
+BuildRequires: xorg-proto-presentproto-devel >= 1.0
BuildRequires: xorg-proto-printproto-devel
BuildRequires: xorg-proto-randrproto-devel >= 1.3
BuildRequires: xorg-proto-recordproto-devel
was based on the (never released) VNC 4 branch of TightVNC.
%description -l pl.UTF-8
-TigerVNC to zestaw serwerów i klientów VNC, które koncentrują się
-na wydajności i funkcjonalności zdalnego wyświetlania. Pierwotnie
-oprogramowanie oparte było na (nigdy nie wydanej)
-gałęzi VNC 4 TightVNC.
+TigerVNC to zestaw serwerów i klientów VNC, które koncentrują się na
+wydajności i funkcjonalności zdalnego wyświetlania. Pierwotnie
+oprogramowanie oparte było na (nigdy nie wydanej) gałęzi VNC 4
+TightVNC.
%package server
Summary: VNC X server - TigerVNC version
Summary(pl.UTF-8): X serwer VNC - wersja TigerVNC
Group: X11/Applications/Networking
+Requires(post,preun): /sbin/chkconfig
+Requires(post,preun,postun): systemd-units >= 38
Requires: xorg-app-rgb
# for vncpasswd tool
Requires: %{name}-utils = %{version}-%{release}
# for mcookie
-Requires: util-linux
Requires: libjpeg-turbo
+Requires: systemd-units >= 38
+Requires: util-linux
+Requires: xkeyboard-config
Requires: xorg-app-xauth
+Requires: xorg-app-xkbcomp
Obsoletes: vnc-server
%description server
%description utils -l pl.UTF-8
Ten pakiet zawiera dodatkowe narzędzia do tightvnc: vncconfig i
vncpasswd. vncconfig służy do konfigurowania i kontroli działającej
-instancji Xvnc lub innego serwera X z rozszerzeniem VNC.
-vncpasswd służy to tworzenia pliku z hasłem (zarówno po
-stronie serwera, jak i przeglądarki).
+instancji Xvnc lub innego serwera X z rozszerzeniem VNC. vncpasswd
+służy to tworzenia pliku z hasłem (zarówno po stronie serwera, jak i
+przeglądarki).
%package -n xorg-xserver-libvnc
Summary: TigerVNC module for X.org server
Summary(pl.UTF-8): Moduł TigerVNC dla servera X.org
Group: X11/Servers
-%requires_eq_to xorg-xserver-server xorg-xserver-server-source
+%requires_eq_to xorg-xserver-server xorg-xserver-server-source
Provides: xorg-xserver-module(vnc)
%description -n xorg-xserver-libvnc
-This package contains libvnc.so module for X.org server,
-allowing others to access the desktop on your machine.
+This package contains libvnc.so module for X.org server, allowing
+others to access the desktop on your machine.
%description -n xorg-xserver-libvnc -l pl.UTF-8
-Ten pakiet zawiera moduł libvnc.so dla serwera X.org,
-pozwalający na zdalny dostęp do pulpitu.
+Ten pakiet zawiera moduł libvnc.so dla serwera X.org, pozwalający na
+zdalny dostęp do pulpitu.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
-#patch3 -p1
+%patch3 -p1
%patch4 -p1
-%patch5 -p0
-%patch7 -p1
-%patch8 -p1
-%patch9 -p1
-%patch11 -p1
cp -a %{_usrsrc}/xorg-xserver-server-%{_xserverver}/* unix/xserver
cd unix/xserver
-patch -p1 <../xserver110.patch
-cd -
-%patch6 -p1
-%patch10 -p1
+%patch100 -p1
%build
%cmake .
-%{__make}
+%{__make} -j1
cd unix/xserver
%{__aclocal} -I m4
--disable-xfbdev \
--disable-dri \
--enable-dri2 \
+ --enable-dri3 \
--with-pic \
--disable-static \
--disable-xinerama \
--disable-composite \
+ --disable-wayland \
+ --disable-xwayland \
--enable-glx \
--enable-glx-tls \
--enable-aiglx \
--with-xkb-output=/var/lib/xkb \
--disable-unit-tests
-%{__make}
+%{__make} -j1
cd -
cd media
-%{__make}
+%{__make} -j1
%install
rm -rf $RPM_BUILD_ROOT
DESTDIR=$RPM_BUILD_ROOT
cd -
-install %{SOURCE1} $RPM_BUILD_ROOT%{_desktopdir}
+cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_desktopdir}
-install media/icons/tigervnc_16.png $RPM_BUILD_ROOT%{_iconsdir}/hicolor/16x16/apps/tigervnc.png
-install media/icons/tigervnc_22.png $RPM_BUILD_ROOT%{_iconsdir}/hicolor/22x22/apps/tigervnc.png
-install media/icons/tigervnc_24.png $RPM_BUILD_ROOT%{_iconsdir}/hicolor/24x24/apps/tigervnc.png
-install media/icons/tigervnc_32.png $RPM_BUILD_ROOT%{_iconsdir}/hicolor/32x32/apps/tigervnc.png
-install media/icons/tigervnc_48.png $RPM_BUILD_ROOT%{_iconsdir}/hicolor/48x48/apps/tigervnc.png
-install media/icons/tigervnc.svg $RPM_BUILD_ROOT%{_iconsdir}/hicolor/scalable/apps/tigervnc.svg
+cp -p media/icons/tigervnc_16.png $RPM_BUILD_ROOT%{_iconsdir}/hicolor/16x16/apps/tigervnc.png
+cp -p media/icons/tigervnc_22.png $RPM_BUILD_ROOT%{_iconsdir}/hicolor/22x22/apps/tigervnc.png
+cp -p media/icons/tigervnc_24.png $RPM_BUILD_ROOT%{_iconsdir}/hicolor/24x24/apps/tigervnc.png
+cp -p media/icons/tigervnc_32.png $RPM_BUILD_ROOT%{_iconsdir}/hicolor/32x32/apps/tigervnc.png
+cp -p media/icons/tigervnc_48.png $RPM_BUILD_ROOT%{_iconsdir}/hicolor/48x48/apps/tigervnc.png
+cp -p media/icons/tigervnc.svg $RPM_BUILD_ROOT%{_iconsdir}/hicolor/scalable/apps/tigervnc.svg
+
+install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig}
+cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/vncserver
+cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/vncserver
+
+install -d $RPM_BUILD_ROOT{%{systemdunitdir},%{systemdunitdir}-generators}
+install -p %{SOURCE4} $RPM_BUILD_ROOT%{systemdunitdir}/vncserver.target
+install -p %{SOURCE5} $RPM_BUILD_ROOT%{systemdunitdir}-generators/vncserver-service-generator
+ln -s /dev/null $RPM_BUILD_ROOT%{systemdunitdir}/vncserver.service
+
+%{__rm} -r $RPM_BUILD_ROOT%{_docdir}
%find_lang %{name}
rm -rf $RPM_BUILD_ROOT
%post
-[ ! -x /usr/bin/update-desktop-database ] || %update_desktop_database_post
+[ ! -x %{_bindir}/update-desktop-database ] || %update_desktop_database_post
%update_icon_cache hicolor
%postun
-[ ! -x /usr/bin/update-desktop-database ] || %update_desktop_database_postun
+[ ! -x %{_bindir}/update-desktop-database ] || %update_desktop_database_postun
%update_icon_cache hicolor
+%post server
+/sbin/chkconfig --add vncserver
+%service vncserver restart "VNC server"
+NORESTART=1
+%systemd_post vncserver.target
+
+%preun server
+if [ "$1" = "0" ]; then
+ %service vncserver stop
+ /sbin/chkconfig --del vncserver
+fi
+%systemd_preun vncserver.target
+
+%postun server
+%systemd_reload
+
+%triggerpostun server -- tigervnc-server < 1.3.0-5
+[ -f /etc/sysconfig/rpm ] && . /etc/sysconfig/rpm
+[ ${RPM_ENABLE_SYSTEMD_SERVICE:-yes} = no ] && return 1
+export SYSTEMD_LOG_LEVEL=warning SYSTEMD_LOG_TARGET=syslog
+if [ "$(echo /etc/rc.d/rc[0-6].d/S[0-9][0-9]vncserver)" != "/etc/rc.d/rc[0-6].d/S[0-9][0-9]vncserver" ]; then
+ /bin/systemctl --quiet enable vncserver.target || :
+fi
+
%files -f %{name}.lang
%defattr(644,root,root,755)
-%doc doc/*
+%doc README.txt doc/*
%attr(755,root,root) %{_bindir}/vncviewer
%{_mandir}/man1/vncviewer.1*
%{_desktopdir}/tigervnc.desktop
%attr(755,root,root) %{_bindir}/Xvnc
%attr(755,root,root) %{_bindir}/vncserver
%attr(755,root,root) %{_bindir}/x0vncserver
+%attr(754,root,root) /etc/rc.d/init.d/vncserver
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vncserver
+%attr(755,root,root) %{systemdunitdir}-generators/vncserver-service-generator
+%{systemdunitdir}/vncserver.target
+%{systemdunitdir}/vncserver.service
%{_mandir}/man1/Xvnc.1*
%{_mandir}/man1/vncserver.1*
%{_mandir}/man1/x0vncserver.1*