/[packages]/updates/8/tigervnc/current/SPECS/tigervnc.spec
ViewVC logotype

Contents of /updates/8/tigervnc/current/SPECS/tigervnc.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1932108 - (show annotations) (download)
Tue Jan 10 14:33:25 2023 UTC (15 months, 2 weeks ago) by ns80
File size: 7542 byte(s)
- rebuild for recent x11-server security update (mga#31386)

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

  ViewVC Help
Powered by ViewVC 1.1.30