%global _hardened_build 1 Name: tigervnc Version: 1.9.0 Release: 7 Summary: A TigerVNC remote display system License: GPLv2+ URL: http://www.tigervnc.com Source0: %{name}-%{version}.tar.gz Source1: vncserver.service Source2: vncserver.sysconfig Source3: 10-libvnc.conf Source4: xvnc.service Source5: xvnc.socket Patch1: tigervnc-manpages.patch Patch2: tigervnc-getmaster.patch Patch3: tigervnc-shebang.patch Patch4: tigervnc-xstartup.patch Patch5: tigervnc-utilize-system-crypto-policies.patch Patch6: tigervnc-ignore-buttons-in-mouse-leave-event.patch Patch7: tigervnc-passwd-crash-with-malloc-checks.patch Patch100: tigervnc-xserver120.patch BuildRequires: gcc-c++ systemd cmake automake autoconf gettext gettext-autopoint pixman-devel fltk-devel >= 1.3.3 BuildRequires: libX11-devel libtool libxkbfile-devel libpciaccess-devel libXinerama-devel libXfont2-devel BuildRequires: libXext-devel xorg-x11-server-source libXi-devel libXdmcp-devel libxshmfence-devel BuildRequires: xorg-x11-xtrans-devel xorg-x11-util-macros xorg-x11-server-devel libXtst-devel libdrm-devel libXt-devel BuildRequires: openssl-devel mesa-libGL-devel freetype-devel desktop-file-utils java-devel jpackage-utils pam-devel gnutls-devel libjpeg-turbo-devel Requires(post): coreutils Requires(postun):coreutils Requires: hicolor-icon-theme Provides: %{name}-license = %{name}-%{release} %{name}-icons = %{name}-%{release} Obsoletes: %{name}-license < %{name}-%{release} %{name}-icons < %{name}-%{release} %description This package provides client for Virtual Network Computing (VNC), with which you can access any other desktops running a VNC server. %package server Summary: A TigerVNC server Requires: perl-interpreter tigervnc-server-minimal xorg-x11-xauth xorg-x11-xinit Requires(post): systemd Requires(preun): systemd Requires(postun): systemd Requires(post): systemd %description server This package provides full installaion of TigerCNC and utilities that make access more convenient. For example, you can export your active X session. %package server-minimal Summary: A minimal installation of TigerVNC server Requires(post): systemd Requires(preun): systemd Requires(postun): systemd Requires(post): systemd Requires: mesa-dri-drivers, xkeyboard-config, xorg-x11-xkb-utils %{name} %description server-minimal This package provides minimal installation of TigerVNC, with which other people can access your desktop on your machine. %package server-module Summary: TigerVNC module to Xorg Requires: xorg-x11-server-Xorg %(xserver-sdk-abi-requires ansic) %(xserver-sdk-abi-requires videodrv) %{name} %description server-module This package contains libvnc.so module to X server, allowing others to access the desktop on your machine. %package server-applet Summary: Java TigerVNC viewer applet for TigerVNC server Requires: tigervnc-server, java, jpackage-utils BuildArch: noarch %description server-applet If you want to use web browser in clients, please install this package. %package_help %prep %setup -q cp -r /usr/share/xorg-x11-server-source/* unix/xserver pushd unix/xserver for all in `find . -type f -perm -001`; do chmod -x "$all" done popd %patch100 -p1 -b .xserver120-rebased # Synchronise manpages and --help output (bug #980870). %patch1 -p1 -b .manpages # libvnc.so: don't use unexported GetMaster function (bug #744881 again). %patch2 -p1 -b .getmaster # Don't use shebang in vncserver script. %patch3 -p1 -b .shebang # Clearer xstartup file (bug #923655). %patch4 -p1 -b .xstartup # Utilize system-wide crypto policies %patch5 -p1 -b .utilize-system-crypto-policies %patch6 -p1 -b .ignore-buttons-in-mouse-leave-event %patch7 -p1 -b .tigervnc-passwd-crash-with-malloc-checks %build export CFLAGS="$RPM_OPT_FLAGS -fpic" export CXXFLAGS="$CFLAGS" %{cmake} . make %{?_smp_mflags} pushd unix/xserver autoreconf -fiv %configure \ --disable-xorg --disable-xnest --disable-xvfb --disable-dmx --disable-xwin --disable-xephyr --disable-kdrive --disable-xwayland \ --with-pic --disable-static --with-default-font-path="catalogue:%{_sysconfdir}/X11/fontpath.d,built-ins" \ --with-fontdir=%{_datadir}/X11/fonts --with-xkb-output=%{_localstatedir}/lib/xkb --enable-install-libxf86config \ --enable-glx --disable-dri --enable-dri2 --disable-dri3 --disable-unit-tests --disable-config-hal --disable-config-udev \ --with-dri-driver-path=%{_libdir}/dri --without-dtrace --disable-devel-docs --disable-selective-werror make %{?_smp_mflags} popd # Build icons pushd media make popd # Build Java applet pushd java %{cmake} . JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF8" make popd %install %make_install rm -f %{buildroot}%{_docdir}/%{name}-%{version}/{README.rst,LICENCE.TXT} pushd unix/xserver/hw/vnc make install DESTDIR=%{buildroot} popd # Install systemd unit file mkdir -p %{buildroot}%{_unitdir} install -m644 %{SOURCE1} %{buildroot}%{_unitdir}/vncserver@.service install -m644 %{SOURCE4} %{buildroot}%{_unitdir}/xvnc@.service install -m644 %{SOURCE5} %{buildroot}%{_unitdir}/xvnc.socket rm -rf %{buildroot}%{_initrddir} mkdir -p %{buildroot}%{_sysconfdir}/sysconfig install -m644 %{SOURCE2} %{buildroot}%{_sysconfdir}/sysconfig/vncservers # Install desktop stuff mkdir -p %{buildroot}%{_datadir}/icons/hicolor/{16x16,24x24,48x48}/apps pushd media/icons for s in 16 24 48; do install -m644 tigervnc_$s.png %{buildroot}%{_datadir}/icons/hicolor/${s}x$s/apps/tigervnc.png done popd # Install Java applet pushd java mkdir -p %{buildroot}%{_datadir}/vnc/classes install -m755 VncViewer.jar %{buildroot}%{_datadir}/vnc/classes install -m644 com/tigervnc/vncviewer/index.vnc %{buildroot}%{_datadir}/vnc/classes popd %find_lang %{name} %{name}.lang # remove unwanted files rm -f %{buildroot}%{_libdir}/xorg/modules/extensions/libvnc.la mkdir -p %{buildroot}%{_sysconfdir}/X11/xorg.conf.d/ install -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/X11/xorg.conf.d/10-libvnc.conf %post server %systemd_post vncserver@.service %systemd_post xvnc@.service %systemd_post xvnc.socket %preun server %systemd_preun vncserver@.service %systemd_preun xvnc@.service %systemd_preun xvnc.socket %postun server %systemd_postun vncserver@.service %systemd_postun xvnc@.service %systemd_postun xvnc.socket %files -f %{name}.lang %defattr(-,root,root) %doc README.rst %license LICENCE.TXT %{_bindir}/vncviewer %{_datadir}/applications/* %license LICENCE.TXT %{_datadir}/icons/hicolor/*/apps/* %files server %defattr(-,root,root) %config(noreplace) %{_sysconfdir}/sysconfig/vncservers %{_bindir}/vncserver %{_bindir}/x0vncserver %{_unitdir}/vncserver@.service %{_unitdir}/xvnc@.service %{_unitdir}/xvnc.socket %files server-minimal %defattr(-,root,root) %{_bindir}/vncconfig %{_bindir}/vncpasswd %{_bindir}/Xvnc %files server-module %defattr(-,root,root) %config %{_sysconfdir}/X11/xorg.conf.d/10-libvnc.conf %{_libdir}/xorg/modules/extensions/libvnc.so %files server-applet %defattr(-,root,root) %{_datadir}/vnc/classes/* %files help %defattr(-,root,root) %doc java/com/tigervnc/vncviewer/README %{_mandir}/man1/* %changelog * Tue Dec 31 2019 openEuler Buildteam - 1.9.0-7 - Type:bugfix - ID:NA - SUG:NA - DESC:optimization the spec * Tue Dec 24 2019 openEuler Buildteam - 1.9.0-6 - Type:bugfix - ID:NA - SUG:NA - DESC:add the provides * Tue Oct 29 2019 openEuler Buildteam - 1.9.0-5 - fix missing arguments after systemd_postun * Wed Jul 18 2018 openEuler Buildteam - 1.9.0-4 - Package init