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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 613337 - (show annotations) (download)
Thu Apr 10 20:04:08 2014 UTC (10 years ago) by luigiwalser
File size: 7570 byte(s)
add patch to fix heap-based buffer overflow (CVE-2014-0011, mga#13082)
1 #snapshotver is year-month-day-svnrevision, generated by "make dist"
2 %define snapshot 0
3 %define snapshotversion 201106280527
4 %define version 1.1.0
5 %define rel 3
6 %define subrel 2
7 Name: tigervnc
8 Version: %{version}
9 %if %{snapshot}
10 Release: %mkrel 0.%{snapshotversion}.%{rel}
11 %else
12 Release: %mkrel %{rel}
13 %endif
14
15 License: GPLv2+
16 URL: http://www.tigervnc.com/
17
18 Source0: %{name}-%{version}.tar.gz
19 Source6: vncviewer.desktop
20 Source7: xserver110-fdr.patch
21 Patch0: tigervnc-102434.patch
22 Patch4: tigervnc-cookie.patch
23 Patch8: tigervnc-viewer-reparent.patch
24 Patch10: tigervnc11-ldnow.patch
25 Patch11: tigervnc11-gethomedir.patch
26 Patch13: tigervnc11-rh692048.patch
27 Patch16: tigervnc11-fdr-xorg111.patch
28 Patch17: tigervnc11-fdr-xorg112.patch
29 Patch18: tigervnc11-fdr-java7.patch
30 Patch19: tigervnc11-fdr-xorg113.patch
31 Patch20: tigervnc-fdr-CVE-2014-0011.patch
32 BuildRequires: x11-server-source
33 BuildRequires: gettext-devel
34 BuildRequires: pkgconfig(x11)
35 BuildRequires: libxext-devel
36 BuildRequires: x11-font-util
37 BuildRequires: x11-util-macros
38 BuildRequires: x11-xtrans-devel
39 BuildRequires: mesagl-devel
40 BuildRequires: libxkbfile-devel
41 BuildRequires: libxfont-devel
42 BuildRequires: pixman-devel
43 BuildRequires: openssl-devel
44 BuildRequires: libpciaccess-devel
45 BuildRequires: libpam-devel
46 BuildRequires: libxtst-devel
47 BuildRequires: gnutls-devel
48 BuildRequires: imagemagick
49 BuildRequires: nasm
50 BuildRequires: java-devel
51 BuildRequires: desktop-file-utils
52 BuildRequires: jpackage-utils
53 BuildRequires: java-rpmbuild
54 #------------------------------------------------------------------------------
55
56 # package tigervnc
57
58 Summary: Viewer for the VNC remote display system
59 Group: Networking/Remote access
60
61 %description
62 Virtual Network Computing (VNC) is a remote display system which
63 allows you to view a computing 'desktop' environment not only on the
64 machine where it is running, but from anywhere on the Internet and
65 from a wide variety of machine architectures. This package contains a
66 client which will allow you to connect to other desktops running a VNC
67 server.
68
69 %files -f %{name}.lang
70 %{_bindir}/vncviewer
71 %{_iconsdir}/*
72 %{_datadir}/applications/*
73 %{_mandir}/man1/vncviewer.1*
74
75
76 #------------------------------------------------------------------------------
77
78 %package server
79
80 Summary: Server for the VNC remote display system
81 Group: Networking/Remote access
82
83 Requires: vnc-server-common
84
85 %description server
86 The VNC system allows you to access the same desktop from a wide
87 variety of platforms. This package is a TigerVNC server, allowing
88 others to access the desktop on your machine.
89
90 %files server
91 %{_bindir}/vncconfig
92 %{_bindir}/vncpasswd
93 %{_bindir}/x0vncserver
94 %{_bindir}/Xvnc
95 %{_bindir}/vncserver
96 %{_mandir}/man1/Xvnc.1*
97 %{_mandir}/man1/vncpasswd.1*
98 %{_mandir}/man1/vncconfig.1*
99 %{_mandir}/man1/vncserver.1*
100 %{_mandir}/man1/x0vncserver.1*
101
102 #------------------------------------------------------------------------------
103
104 %package server-module
105
106 Summary: Xorg module for the VNC remote display system
107 Group: Networking/Remote access
108
109 Requires: x11-server-xorg
110
111 %description server-module
112 This package contains libvnc.so module to X server, allowing others
113 to access the desktop on your machine.
114
115 %files server-module
116 %{_libdir}/xorg/modules/extensions/libvnc.so
117
118 #------------------------------------------------------------------------------
119
120 %package java
121
122 Summary: Java viewer for the VNC remote display system
123 Group: Networking/Remote access
124
125
126 # "TightVNC-specific" is not a typo, see the README file located inside the
127 # java source tree
128 %description java
129 This distribution is based on the standard VNC source and includes new
130 TightVNC-specific features and fixes, such as additional low-bandwidth
131 optimizations, major GUI improvements, and more.
132
133 There are three basic ways to use TigerVNC Java viewer:
134 1. Running applet as part of TigerVNC server installation.
135 2. Running applet hosted on a standalone Web server.
136 3. Running the viewer as a standalone application.
137
138 %files java
139 %{_javadir}/*.jar
140 %{_datadir}/vnc
141
142 #------------------------------------------------------------------------------
143
144 %prep
145 %setup -q -n %{name}-%{version}
146
147 %patch0 -p1 -b .102434
148 %patch4 -p1 -b .cookie
149 %patch8 -p1 -b .viewer-reparent
150 %patch10 -p1 -b .ldnow
151 %patch11 -p1 -b .gethomedir
152 %patch13 -p1 -b .rh692048
153
154 cp -r /usr/share/x11-server-source/* unix/xserver
155 %patch16 -p1 -b .xorg111
156 pushd unix/xserver
157 for all in `find . -type f -perm -001`; do
158 chmod -x "$all"
159 done
160 patch -p1 -b --suffix .vnc < %{SOURCE7}
161 %patch17 -p1 -b .xorg112
162 %patch19 -p1 -b .xorg113
163 popd
164
165 %patch18 -p1 -b .java7
166
167 %patch20 -p1 -b .CVE-2014-0011
168
169
170 # Use newer gettext
171 sed -i 's/AM_GNU_GETTEXT_VERSION.*/AM_GNU_GETTEXT_VERSION([0.18.1])/' \
172 configure.ac
173
174 %build
175 # Temporary build with -fno-omit-frame-pointer, it causes problems
176 export CFLAGS="$RPM_OPT_FLAGS -fno-omit-frame-pointer"
177 export CXXFLAGS="$CFLAGS"
178
179 autoreconf -fiv
180 %configure2_5x --disable-static --with-system-jpeg
181 %make
182
183 # XXX: I'm not sure this define is actually needed
184 # Need this for shared objects that reference X Server, or other modules symbols
185 %define _disable_ld_no_undefined 1
186 # Search for modules in extra_module_dir before the default path.
187 # This will allow fglrx to install its modified modules in more cleaner way.
188 %define extra_module_dir %{_libdir}/xorg/extra-modules
189
190 pushd unix/xserver
191 chmod +x configure
192 autoreconf -fiv
193
194 # After the "--disable-config-hal", most options are just a paste from
195 # Mandriva's x11-server. We need to check what we can clean here (without
196 # reducing features)
197 %configure2_5x --disable-xorg \
198 --disable-xwin \
199 --disable-xvfb \
200 --disable-xnest \
201 --disable-dmx \
202 --disable-xfbdev \
203 --disable-xephyr \
204 --disable-kdrive \
205 --disable-config-dbus \
206 --disable-config-hal \
207 --with-log-dir=%{_logdir} \
208 --with-os-vendor="%distribution" \
209 --with-os-name="$(uname -s -r | sed -e s'/ /_/g')" \
210 --with-vendor-web="http://bugs.mageia.org" \
211 --with-extra-module-dir=%{extra_module_dir} \
212 --enable-xwrapper \
213 --enable-pam \
214 --without-dtrace --disable-unit-tests \
215 --disable-devel-docs --disable-docs \
216 --with-default-font-path="catalogue:%{_sysconfdir}/X11/fontpath.d"
217
218 make
219 popd
220
221 # Build icons
222 pushd media
223 %make
224 popd
225
226 # Build java
227 pushd java/src/com/tigervnc/vncviewer
228 %make all
229 popd
230
231 %install
232 rm -rf %{buildroot}
233 %makeinstall_std
234
235 pushd unix/xserver/hw/vnc
236 %makeinstall_std
237 popd
238
239 # Install desktop stuff
240 mkdir -p %{buildroot}/%{_datadir}/icons/hicolor/{16x16,24x24,48x48}/apps
241
242 pushd media/icons
243 for s in 16 24 48; do
244 install -m644 tigervnc_$s.png %{buildroot}/%{_datadir}/icons/hicolor/${s}x$s/apps/tigervnc.png
245 done
246 popd
247
248 mkdir %{buildroot}/%{_datadir}/applications
249 desktop-file-install \
250 --dir %{buildroot}%{_datadir}/applications \
251 %{SOURCE6}
252
253 %find_lang %{name} %{name}.lang
254
255 # remove unwanted files
256 rm -f %{buildroot}/%{_libdir}/xorg/modules/extensions/libvnc.la
257
258
259 # java
260 install -d -m 755 %{buildroot}%{_javadir}
261 install -d -m 755 %{buildroot}%{_datadir}/vnc/classes
262
263 pushd java/src/com/tigervnc/vncviewer
264 make install INSTALL_DIR=%{buildroot}%{_datadir}/vnc/classes \
265 ARCHIVE=vncviewer-%{version}.jar
266 popd
267 pushd %{buildroot}%{_datadir}/vnc/classes
268 mv vncviewer-%{version}.jar %{buildroot}%{_javadir}
269 ln -s %{_javadir}/vncviewer-%{version}.jar VncViewer.jar
270 popd
271 pushd %{buildroot}%{_javadir}
272 ln -s vncviewer-%{version}.jar vncviewer.jar
273 ln -s vncviewer-%{version}.jar VncViewer.jar
274 popd

  ViewVC Help
Powered by ViewVC 1.1.30