diff --git a/0001-libvncserver-Add-API-to-add-custom-I-O-entry-points.patch b/0001-libvncserver-Add-API-to-add-custom-I-O-entry-points.patch index 853ea28..0a8cea8 100644 --- a/0001-libvncserver-Add-API-to-add-custom-I-O-entry-points.patch +++ b/0001-libvncserver-Add-API-to-add-custom-I-O-entry-points.patch @@ -150,7 +150,7 @@ diff --git a/rfb/rfb.h b/rfb/rfb.h index f982b40..ba9e898 100644 --- a/rfb/rfb.h +++ b/rfb/rfb.h -@@ -415,6 +415,14 @@ typedef struct sraRegion* sraRegionPtr; +@@ -413,6 +413,14 @@ typedef struct sraRegion* sraRegionPtr; typedef void (*ClientGoneHookPtr)(struct _rfbClientRec* cl); @@ -165,9 +165,9 @@ index f982b40..ba9e898 100644 typedef struct _rfbFileTransferData { int fd; int compressionEnabled; -@@ -696,6 +704,11 @@ typedef struct _rfbClientRec { - wsCtx *wsctx; - char *wspath; /* Requests path component */ +@@ -694,6 +702,11 @@ typedef struct _rfbClientRec { + #ifdef LIBVNCSERVER_HAVE_LIBPTHREAD + int pipe_notify_client_thread[2]; #endif + + ClientReadFromSocket readFromSocket; /* Read data from socket */ @@ -177,7 +177,7 @@ index f982b40..ba9e898 100644 } rfbClientRec, *rfbClientPtr; /** -@@ -748,8 +761,12 @@ extern void rfbDisconnectUDPSock(rfbScreenInfoPtr rfbScreen); +@@ -746,8 +759,12 @@ extern void rfbDisconnectUDPSock(rfbScre extern void rfbCloseClient(rfbClientPtr cl); extern int rfbReadExact(rfbClientPtr cl, char *buf, int len); extern int rfbReadExactTimeout(rfbClientPtr cl, char *buf, int len,int timeout); @@ -190,6 +190,3 @@ index f982b40..ba9e898 100644 extern int rfbCheckFds(rfbScreenInfoPtr rfbScreen,long usec); extern int rfbConnect(rfbScreenInfoPtr rfbScreen, char* host, int port); extern int rfbConnectToTcpAddr(char* host, int port); --- -2.17.1 - diff --git a/0040-Ensure-compatibility-with-gtk-vnc-0.7.0.patch b/0040-Ensure-compatibility-with-gtk-vnc-0.7.0.patch deleted file mode 100644 index a814328..0000000 --- a/0040-Ensure-compatibility-with-gtk-vnc-0.7.0.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 75f04c14e49e084e41bdd5491edad8823773a08c Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Micha=C5=82=20K=C4=99pie=C5=84?= -Date: Tue, 14 Feb 2017 12:42:04 +0100 -Subject: [PATCH 40/98] Ensure compatibility with gtk-vnc 0.7.0+ - ---- - libvncserver/websockets.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/libvncserver/websockets.c b/libvncserver/websockets.c -index 72396c2..0b2d46f 100644 ---- a/libvncserver/websockets.c -+++ b/libvncserver/websockets.c -@@ -245,7 +245,10 @@ webSocketsCheck (rfbClientPtr cl) - return FALSE; - } - -- if (strncmp(bbuf, "<", 1) == 0) { -+ if (strncmp(bbuf, "RFB ", 4) == 0) { -+ rfbLog("Normal socket connection\n"); -+ return TRUE; -+ } else if (strncmp(bbuf, "<", 1) == 0) { - rfbLog("Got Flash policy request, sending response\n"); - if (rfbWriteExact(cl, FLASH_POLICY_RESPONSE, - SZ_FLASH_POLICY_RESPONSE) < 0) { --- -2.9.4 - diff --git a/CMakeLists.txt.patch b/CMakeLists.txt.patch new file mode 100644 index 0000000..f0ebe0b --- /dev/null +++ b/CMakeLists.txt.patch @@ -0,0 +1,22 @@ +--- ./CMakeLists.txt.orig 2020-02-10 05:29:48.921993426 +0000 ++++ ./CMakeLists.txt 2020-02-10 19:27:27.762744228 +0000 +@@ -666,8 +666,8 @@ get_link_libraries(PRIVATE_LIBS vncclien + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libvncclient.pc.cmakein ${CMAKE_CURRENT_BINARY_DIR}/libvncclient.pc @ONLY) + + +-install_targets(/lib vncserver) +-install_targets(/lib vncclient) ++install_targets(/lib64 vncserver) ++install_targets(/lib64 vncclient) + install_files(/include/rfb FILES + rfb/keysym.h + rfb/rfb.h +@@ -677,7 +677,7 @@ install_files(/include/rfb FILES + rfb/rfbregion.h + ) + +-install_files(/lib/pkgconfig FILES ++install_files(/lib64/pkgconfig FILES + libvncserver.pc + libvncclient.pc + ) diff --git a/libvncserver.spec b/libvncserver.spec index bf8a7c4..0394b4a 100644 --- a/libvncserver.spec +++ b/libvncserver.spec @@ -1,15 +1,14 @@ Summary: Library to make writing a VNC server easy Name: libvncserver -Version: 0.9.11 -Release: 11%{?dist} +Version: 0.9.12 +Release: 1%{?dist} # NOTE: --with-filetransfer => GPLv2 License: GPLv2+ URL: http://libvnc.github.io/ Source0: https://github.com/LibVNC/libvncserver/archive/LibVNCServer-%{version}.tar.gz -## upstream patches -Patch4: 0040-Ensure-compatibility-with-gtk-vnc-0.7.0.patch +Patch1: CMakeLists.txt.patch ## TLS security type enablement patches # https://github.com/LibVNC/libvncserver/pull/234 @@ -27,16 +26,30 @@ Patch104: libvncserver-0.9.11-Validate-client-cut-text-length.patch # 2/2 Fix CVE-2018-7225, bug #1546860 Patch105: libvncserver-0.9.11-Limit-client-cut-text-length-to-1-MB.patch -BuildRequires: autoconf -BuildRequires: automake +BuildRequires: cmake +BuildRequires: pkgconfig(gnutls) +BuildRequires: pkgconfig(sdl2) +BuildRequires: pkgconfig(libsystemd) +BuildRequires: pkgconfig(x11) +BuildRequires: pkgconfig(xdamage) +BuildRequires: pkgconfig(xext) +BuildRequires: pkgconfig(xrandr) +BuildRequires: pkgconfig(xtst) +BuildRequires: pkgconfig(xinerama) +BuildRequires: pkgconfig(xfixes) +BuildRequires: pkgconfig(openssl) +BuildRequires: pkgconfig(zlib) +BuildRequires: pkgconfig(libjpeg) +BuildRequires: pkgconfig(libpng) +#BuildRequires: pkgconfig(lzo2) +#BuildRequires: ffmpeg-devel +BuildRequires: gettext-devel BuildRequires: libgcrypt-devel -BuildRequires: libjpeg-devel -BuildRequires: libtool + + BuildRequires: lzo-devel BuildRequires: lzo-minilzo -BuildRequires: pkgconfig(gnutls) BuildRequires: pkgconfig(libcrypto) -BuildRequires: pkgconfig(libpng) BuildRequires: pkgconfig(libssl) # Additional deps for --with-x11vnc, see https://bugzilla.redhat.com/show_bug.cgi?id=864947 BuildRequires: pkgconfig(avahi-client) @@ -75,25 +88,20 @@ developing applications that use %{name}. %prep %setup -q -n %{name}-LibVNCServer-%{version} -%patch4 -p1 -b .0004 +%patch1 -p1 +#patch4 -p1 -b .0004 %patch10 -p1 %patch11 -p1 -%patch100 -p1 -b .system_minilzo +#patch100 -p1 -b .system_minilzo # Nuke bundled minilzo -#rm -fv common/lzodefs.h common/lzoconf.h commmon/minilzo.h common/minilzo.c +rm -fv common/lzodefs.h common/lzoconf.h commmon/minilzo.h common/minilzo.c -%patch101 -p1 -b .multilib +#patch101 -p1 -b .multilib %patch102 -p1 -%if 0%{?fedora} < 26 -%patch103 -p1 -b .soname -%global soname 0 -%else -%global soname 1 -%endif -%patch104 -p1 -%patch105 -p1 +#patch104 -p1 +#patch105 -p1 # Fix encoding for file in ChangeLog ; do @@ -102,48 +110,27 @@ for file in ChangeLog ; do touch --reference ${file}.OLD $file done -# Needed by patch 1 (and to nuke rpath's) -autoreconf -vif - %build -%configure \ - --disable-silent-rules \ - --disable-static \ - --without-filetransfer \ - --with-gcrypt \ - --with-png \ - --with-x11vnc - -# Hack to omit unused-direct-shlib-dependencies -sed -i -e 's! -shared ! -Wl,--as-needed\0!g' libtool - -make %{?_smp_mflags} - +mkdir -p %{_target_platform} +pushd %{_target_platform} +%cmake .. +popd +%make_build -C %{_target_platform} %install -%make_install - -# Unpackaged files -rm -fv %{buildroot}%{_bindir}/linuxvnc -rm -fv %{buildroot}%{_libdir}/lib*.a -rm -fv %{buildroot}%{_libdir}/lib*.la - - -%check -make -C test test ||: - +%make_install -C %{_target_platform} %ldconfig_scriptlets %files %license COPYING -%doc AUTHORS ChangeLog NEWS README TODO -%{_libdir}/libvncclient.so.%{soname}* -%{_libdir}/libvncserver.so.%{soname}* +%doc AUTHORS ChangeLog NEWS README.md TODO +%{_libdir}/libvncclient.so.* +%{_libdir}/libvncserver.so.* %files devel -%{_bindir}/libvncserver-config +#{_bindir}/libvncserver-config %{_includedir}/rfb/ %{_libdir}/libvncclient.so %{_libdir}/libvncserver.so @@ -152,6 +139,9 @@ make -C test test ||: %changelog +* Tue Feb 11 2020 Sérgio Basto - 0.9.12-1 +- Update to 0.9.12 + * Wed Jan 29 2020 Fedora Release Engineering - 0.9.11-11 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild