1 |
Name: tigervnc |
2 |
Version: 1.11.0 |
3 |
Release: %mkrel 3 |
4 |
Summary: Viewer for the VNC remote display system |
5 |
Group: Networking/Remote access |
6 |
License: GPLv2+ |
7 |
URL: http://www.tigervnc.com/ |
8 |
Source0: https://github.com/TigerVNC/tigervnc/archive/v%{version}/%{name}-%{version}.tar.gz |
9 |
Source1: xvnc.service |
10 |
Source2: xvnc.socket |
11 |
Source4: HOWTO.md |
12 |
|
13 |
Patch8: tigervnc-getmaster.patch |
14 |
# initially from openmdv |
15 |
Patch12: tigervnc-1.8.90-mga-buildir.patch |
16 |
#Patches from fedora |
17 |
|
18 |
# copied from debian |
19 |
Patch30: tigervnc-1.8.0-CVE-2014-8240.patch |
20 |
|
21 |
# This is tigervnc-%%{version}/unix/xserver120.patch rebased on the latest xorg |
22 |
Patch100: tigervnc-xserver120.patch |
23 |
|
24 |
BuildRequires: x11-server-source |
25 |
BuildRequires: gettext-devel |
26 |
BuildRequires: pkgconfig(x11) |
27 |
BuildRequires: libxext-devel |
28 |
BuildRequires: x11-font-util |
29 |
BuildRequires: x11-util-macros |
30 |
BuildRequires: x11-xtrans-devel |
31 |
BuildRequires: mesagl-devel |
32 |
BuildRequires: libxkbfile-devel |
33 |
BuildRequires: libxfont2-devel |
34 |
BuildRequires: pixman-devel |
35 |
BuildRequires: openssl-devel |
36 |
BuildRequires: libpciaccess-devel |
37 |
BuildRequires: libpam-devel |
38 |
BuildRequires: libxtst-devel |
39 |
BuildRequires: gnutls-devel |
40 |
BuildRequires: imagemagick |
41 |
BuildRequires: nasm |
42 |
BuildRequires: java-devel |
43 |
BuildRequires: desktop-file-utils |
44 |
BuildRequires: jpackage-utils |
45 |
BuildRequires: fltk-devel |
46 |
BuildRequires: libtool |
47 |
BuildRequires: autoconf |
48 |
BuildRequires: libxi-devel |
49 |
BuildRequires: libxinerama-devel |
50 |
BuildRequires: freetype-devel |
51 |
BuildRequires: libxdmcp-devel |
52 |
BuildRequires: pam-devel |
53 |
BuildRequires: libjpeg-devel |
54 |
BuildRequires: cmake |
55 |
BuildRequires: libxrandr-devel |
56 |
|
57 |
%description |
58 |
Virtual Network Computing (VNC) is a remote display system which |
59 |
allows you to view a computing 'desktop' environment not only on the |
60 |
machine where it is running, but from anywhere on the Internet and |
61 |
from a wide variety of machine architectures. This package contains a |
62 |
client which will allow you to connect to other desktops running a VNC |
63 |
server. |
64 |
|
65 |
#------------------------------------------------------------------------------ |
66 |
|
67 |
%package server |
68 |
|
69 |
Summary: Server for the VNC remote display system |
70 |
Group: Networking/Remote access |
71 |
|
72 |
Requires: vnc-server-common |
73 |
|
74 |
%description server |
75 |
The VNC system allows you to access the same desktop from a wide |
76 |
variety of platforms. This package is a TigerVNC server, allowing |
77 |
others to access the desktop on your machine. |
78 |
|
79 |
#------------------------------------------------------------------------------ |
80 |
|
81 |
%package server-module |
82 |
|
83 |
Summary: Xorg module for the VNC remote display system |
84 |
Group: Networking/Remote access |
85 |
|
86 |
Requires: x11-server-xorg |
87 |
|
88 |
%description server-module |
89 |
This package contains libvnc.so module to X server, allowing others |
90 |
to access the desktop on your machine. |
91 |
|
92 |
#------------------------------------------------------------------------------ |
93 |
|
94 |
%package java |
95 |
|
96 |
Summary: Java viewer for the VNC remote display system |
97 |
Group: Networking/Remote access |
98 |
|
99 |
|
100 |
# "TightVNC-specific" is not a typo, see the README file located inside the |
101 |
# java source tree |
102 |
%description java |
103 |
This distribution is based on the standard VNC source and includes new |
104 |
TightVNC-specific features and fixes, such as additional low-bandwidth |
105 |
optimizations, major GUI improvements, and more. |
106 |
|
107 |
There are three basic ways to use TigerVNC Java viewer: |
108 |
1. Running applet as part of TigerVNC server installation. |
109 |
2. Running applet hosted on a standalone Web server. |
110 |
3. Running the viewer as a standalone application. |
111 |
|
112 |
#------------------------------------------------------------------------------ |
113 |
|
114 |
%prep |
115 |
%setup -q |
116 |
|
117 |
%patch12 -p1 -b .builddir |
118 |
|
119 |
cp -r /usr/share/x11-server-source/* unix/xserver |
120 |
pushd unix/xserver |
121 |
for all in `find . -type f -perm -001`; do |
122 |
chmod -x "$all" |
123 |
done |
124 |
%patch100 -p1 -b .xserver120-rebased |
125 |
popd |
126 |
|
127 |
# libvnc.so: don't use unexported GetMaster function (bug #744881 again). |
128 |
%patch8 -p1 -b .getmaster |
129 |
|
130 |
%patch30 -p1 -b .CVE-2014-8240 |
131 |
|
132 |
%build |
133 |
|
134 |
%cmake |
135 |
|
136 |
%cmake_build |
137 |
|
138 |
pushd unix/xserver |
139 |
rm -f configure |
140 |
autoreconf -fiv |
141 |
%configure \ |
142 |
--disable-xorg --disable-xnest --disable-xvfb --disable-dmx \ |
143 |
--disable-xwin --disable-xephyr --disable-kdrive --disable-xwayland \ |
144 |
--with-pic --disable-static \ |
145 |
--with-default-font-path="catalogue:%{_sysconfdir}/X11/fontpath.d,built-ins" \ |
146 |
--with-fontrootdir=%{_datadir}/X11/fonts \ |
147 |
--with-xkb-output=%{_localstatedir}/lib/xkb \ |
148 |
--enable-glx --disable-dri --enable-dri2 --disable-dri3 \ |
149 |
--disable-unit-tests \ |
150 |
--disable-config-hal \ |
151 |
--disable-config-udev \ |
152 |
--without-dtrace \ |
153 |
--disable-devel-docs \ |
154 |
--disable-selective-werror |
155 |
|
156 |
%make_build |
157 |
popd |
158 |
|
159 |
|
160 |
# Build icons |
161 |
pushd media |
162 |
%cmake |
163 |
%cmake_build |
164 |
popd |
165 |
|
166 |
# Build Java applet |
167 |
pushd java |
168 |
%cmake |
169 |
JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF8" \ |
170 |
%cmake_build |
171 |
popd |
172 |
|
173 |
%install |
174 |
%cmake_install |
175 |
|
176 |
%make_install -C unix/xserver/hw/vnc |
177 |
|
178 |
# Install systemd unit file |
179 |
install -m644 %{SOURCE1} %{buildroot}%{_unitdir}/xvnc@.service |
180 |
install -m644 %{SOURCE2} %{buildroot}%{_unitdir}/xvnc.socket |
181 |
|
182 |
# Install desktop stuff |
183 |
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/{16x16,24x24,48x48}/apps |
184 |
|
185 |
pushd media/icons |
186 |
for s in 16 24 48; do |
187 |
install -m644 tigervnc_$s.png %{buildroot}%{_datadir}/icons/hicolor/${s}x$s/apps/tigervnc.png |
188 |
done |
189 |
popd |
190 |
|
191 |
# Install a replacement for /usr/bin/vncserver which will tell the user to read the |
192 |
# HOWTO.md file |
193 |
cat <<EOF > %{buildroot}/%{_bindir}/vncserver |
194 |
#!/bin/bash |
195 |
echo "vncserver has been replaced by a systemd unit." |
196 |
echo "Please read /usr/share/doc/tigervnc/HOWTO.md for more information." |
197 |
EOF |
198 |
chmod +x %{buildroot}/%{_bindir}/vncserver |
199 |
|
200 |
install -m 644 %{SOURCE4} . |
201 |
|
202 |
%find_lang %{name} %{name}.lang |
203 |
|
204 |
# remove unwanted files |
205 |
rm -f %{buildroot}%{_libdir}/xorg/modules/extensions/libvnc.la |
206 |
|
207 |
# Install Java applet |
208 |
|
209 |
install -d -m 755 %{buildroot}%{_javadir} |
210 |
install -d -m 755 %{buildroot}%{_datadir}/vnc/classes |
211 |
pushd java/build |
212 |
|
213 |
install -m 755 VncViewer.jar %{buildroot}%{_datadir}/vnc/classes/vncviewer-%{version}.jar |
214 |
popd |
215 |
|
216 |
pushd %{buildroot}%{_datadir}/vnc/classes |
217 |
mv vncviewer-%{version}.jar %{buildroot}%{_javadir} |
218 |
ln -s %{_javadir}/vncviewer-%{version}.jar VncViewer.jar |
219 |
popd |
220 |
|
221 |
pushd %{buildroot}%{_javadir} |
222 |
ln -s vncviewer-%{version}.jar vncviewer.jar |
223 |
ln -s vncviewer-%{version}.jar VncViewer.jar |
224 |
popd |
225 |
|
226 |
%post server |
227 |
%systemd_post xvnc.service |
228 |
%systemd_post xvnc.socket |
229 |
|
230 |
%preun server |
231 |
%systemd_preun xvnc.service |
232 |
%systemd_preun xvnc.socket |
233 |
|
234 |
%postun server |
235 |
%systemd_postun xvnc.service |
236 |
%systemd_postun xvnc.socket |
237 |
|
238 |
%files -f %{name}.lang |
239 |
%doc README.rst |
240 |
%_defaultdocdir/%{name}/ |
241 |
%{_bindir}/vncviewer |
242 |
%{_iconsdir}/* |
243 |
%{_datadir}/applications/* |
244 |
%{_mandir}/man1/vncviewer.1* |
245 |
|
246 |
|
247 |
%files server |
248 |
%doc HOWTO.md |
249 |
%config(noreplace) %{_sysconfdir}/pam.d/tigervnc |
250 |
%config(noreplace) %{_sysconfdir}/tigervnc/vncserver-config-defaults |
251 |
%config(noreplace) %{_sysconfdir}/tigervnc/vncserver-config-mandatory |
252 |
%config(noreplace) %{_sysconfdir}/tigervnc/vncserver.users |
253 |
%{_unitdir}/vncserver@.service |
254 |
%{_unitdir}/xvnc@.service |
255 |
%{_unitdir}/xvnc.socket |
256 |
%{_bindir}/vncconfig |
257 |
%{_bindir}/vncpasswd |
258 |
%{_bindir}/Xvnc |
259 |
%{_bindir}/vncserver |
260 |
%{_bindir}/x0vncserver |
261 |
%{_sbindir}/vncsession |
262 |
%{_libexecdir}/vncserver |
263 |
%{_libexecdir}/vncsession-start |
264 |
%{_mandir}/man1/Xvnc.1* |
265 |
%{_mandir}/man1/vncpasswd.1* |
266 |
%{_mandir}/man1/vncconfig.1* |
267 |
%{_mandir}/man1/x0vncserver.1* |
268 |
%{_mandir}/man8/vncserver.8* |
269 |
%{_mandir}/man8/vncsession.8* |
270 |
|
271 |
%files server-module |
272 |
%{_libdir}/xorg/modules/extensions/libvnc.so |
273 |
|
274 |
%files java |
275 |
%{_javadir}/*.jar |
276 |
%{_datadir}/vnc |
277 |
|