SHA256
1
0
forked from pool/tigervnc

Accepting request 235827 from X11:XOrg

- n_tigervnc-date-time.patch package republishes everyday
 and gets on my nerves, this is because the binaries contain
 hardcoded timestamps, avoid that.
- export CXXFLAGS and CFLAGS before building ttigervnc otherwise
  it gets built without optimization.
- Make build verbose so it rpmlint catches errors like the above ones. (forwarded request 235723 from elvigia)

OBS-URL: https://build.opensuse.org/request/show/235827
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/tigervnc?expand=0&rev=8
This commit is contained in:
Stephan Kulow 2014-06-02 05:04:30 +00:00 committed by Git OBS Bridge
commit 757e29d408
4 changed files with 115 additions and 7 deletions

View File

@ -0,0 +1,40 @@
--- tigervnc-1.3.1.orig/unix/xserver/hw/vnc/buildtime.c
+++ tigervnc-1.3.1/unix/xserver/hw/vnc/buildtime.c
@@ -15,4 +15,4 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
* USA.
*/
-char buildtime[] = __DATE__ " " __TIME__;
+char buildtime[] = "??? ?? ???? ??:??:??";
--- tigervnc-1.3.1.orig/unix/vncconfig/buildtime.c
+++ tigervnc-1.3.1/unix/vncconfig/buildtime.c
@@ -15,4 +15,4 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
* USA.
*/
-char buildtime[] = __DATE__ " " __TIME__;
+char buildtime[] = "??? ?? ???? ??:??:??";
--- tigervnc-1.3.1.orig/unix/x0vncserver/buildtime.c
+++ tigervnc-1.3.1/unix/x0vncserver/buildtime.c
@@ -15,4 +15,4 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
* USA.
*/
-char buildtime[] = __DATE__ " " __TIME__;
+char buildtime[] = "??? ?? ???? ??:??:??";
--- tigervnc-1.3.1.orig/vncviewer/buildTime.cxx
+++ tigervnc-1.3.1/vncviewer/buildTime.cxx
@@ -15,4 +15,4 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
* USA.
*/
-const char* buildTime = "Built on " __DATE__ " at " __TIME__;
+const char* buildTime = "Built on ??? ?? ???? at ??:??:??";
--- tigervnc-1.3.1.orig/win/winvnc/buildTime.cxx
+++ tigervnc-1.3.1/win/winvnc/buildTime.cxx
@@ -15,4 +15,4 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
* USA.
*/
-const char* buildTime = "Built on " __DATE__ " at " __TIME__;
+const char* buildTime = "Built on ??? ?? ???? at ??:??:??";

View File

@ -1,3 +1,26 @@
-------------------------------------------------------------------
Thu May 29 03:37:30 UTC 2014 - crrodriguez@opensuse.org
- n_tigervnc-date-time.patch package republishes everyday
and gets on my nerves, this is because the binaries contain
hardcoded timestamps, avoid that.
- export CXXFLAGS and CFLAGS before building ttigervnc otherwise
it gets built without optimization.
- Make build verbose so it rpmlint catches errors like the above ones.
-------------------------------------------------------------------
Wed May 28 14:54:02 UTC 2014 - msrb@suse.com
- Use update-alternatives.
-------------------------------------------------------------------
Tue May 20 13:55:30 UTC 2014 - msrb@suse.com
- u_tigervnc-ignore-epipe-on-write.patch
* Do not display error message because of EPIPE on write.
(bnc#864676)
-------------------------------------------------------------------
Fri May 16 13:52:19 UTC 2014 - msrb@suse.com

View File

@ -19,7 +19,9 @@
Name: tigervnc
Version: 1.3.1
Release: 0
Conflicts: tightvnc
Provides: tightvnc = 1.3.9
Obsoletes: tightvnc < 1.3.10
Provides: vnc
BuildRequires: Mesa-devel
BuildRequires: autoconf
BuildRequires: automake
@ -79,6 +81,8 @@ BuildRequires: pkgconfig(xkbfile)
BuildRequires: pkgconfig(xorg-macros) >= 1.14
BuildRequires: pkgconfig(xproto) >= 7.0.17
BuildRequires: pkgconfig(xtrans) >= 1.2.2
Requires(post): update-alternatives
Requires(postun): update-alternatives
Url: http://sourceforge.net/apps/mediawiki/tigervnc/
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Summary: A high-performance, platform-neutral implementation of VNC
@ -102,7 +106,8 @@ Patch3: tigervnc-clean-pressed-key-on-exit.patch
Patch4: tigervnc-sf3492352.diff
Patch5: tigervnc-sf3495623.patch
Patch6: u_tigervnc-dont-send-ascii-control-characters.patch
Patch7: u_tigervnc-ignore-epipe-on-write.patch
Patch8: n_tigervnc-date-time.patch
# Xserver patches
Patch10: tigervnc-1.2.80-fix-int-to-pointer.patch
Patch11: u_aarch64-support.patch
@ -141,7 +146,8 @@ fi
%patch4 -p1
%patch5 -p1
%patch6 -p0
%patch7 -p0
%patch8 -p1
pushd unix/xserver
patch -p1 < ../xserver114.patch
%patch10 -p1
@ -152,8 +158,10 @@ patch -p1 < ../xserver114.patch
popd
%build
export CXXFLAGS="%optflags"
export CFLAGS="%optflags"
# Build all tigervnc
cmake -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} -DCMAKE_BUILD_TYPE=RelWithDebInfo
cmake -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} -DCMAKE_BUILD_TYPE=RelWithDebInfo
make %{?_smp_mflags}
# Build Xvnc server
@ -174,7 +182,7 @@ autoreconf -fi
--disable-devel-docs \
--with-fontrootdir=/usr/share/fonts \
--disable-selective-werror
make %{?_smp_mflags}
make %{?_smp_mflags} V=1
popd
# Build java client
@ -187,6 +195,9 @@ popd
%make_install
mv $RPM_BUILD_ROOT/usr/bin/vncviewer $RPM_BUILD_ROOT/usr/bin/vncviewer-tigervnc
mv $RPM_BUILD_ROOT/usr/share/man/man1/vncviewer.1 $RPM_BUILD_ROOT/usr/share/man/man1/vncviewer-tigervnc.1
pushd unix/xserver
%make_install
popd
@ -209,13 +220,22 @@ install -D -m 644 %{SOURCE10} $RPM_BUILD_ROOT%{_datadir}/vnc/classes
%find_lang '%{name}'
%post
"%_sbindir/update-alternatives" --install /usr/bin/vncviewer vncviewer /usr/bin/vncviewer-tigervnc 20
%postun
if [ "$1" = 0 ] ; then
"%_sbindir/update-alternatives" --remove vncviewer /usr/bin/vncviewer-tigervnc
fi
%files -f %{name}.lang
%defattr(-,root,root,-)
%{_bindir}/vncviewer
%{_bindir}/vncviewer-tigervnc
%exclude /usr/share/doc/tigervnc-1.3.1
%doc LICENCE.TXT
%doc README.txt
%{_mandir}/man1/vncviewer.1*
%{_mandir}/man1/vncviewer-tigervnc.1*
%ghost %_sysconfdir/alternatives/vncviewer
%files -n xorg-x11-Xvnc
%defattr(-,root,root)

View File

@ -0,0 +1,25 @@
Author: Michal Srb <msrb@suse.com>
Subject: Ignore EPIPE on write.
Patch-Mainline: To be upstreamed
References: bnc#864676
If the VNC server closes connection after our last read and before this write, we will report error message about EPIPE.
This situation is no error, however, we should quit normally same as when we find out that connection was closed during read.
Index: common/rdr/FdOutStream.cxx
===================================================================
--- common/rdr/FdOutStream.cxx (revision 5178)
+++ common/rdr/FdOutStream.cxx (working copy)
@@ -225,7 +225,12 @@
// network connections. Should in fact never ever happen...
} while (n < 0 && (errno == EWOULDBLOCK));
- if (n < 0) throw SystemException("write",errno);
+ if (n < 0) {
+ if(errno == EPIPE)
+ n = length; // Ignore EPIPE and fake successfull write, it doesn't matter that we are writing to closed socket, we will find out once we try to read from it.
+ else
+ throw SystemException("write", errno);
+ }
gettimeofday(&lastWrite, NULL);