Skip to content
Commits on Source (7)
*~
build/
vroot/
[submodule "src/keycodemapdb"]
path = subprojects/keycodemapdb
url = https://gitlab.com/keycodemap/keycodemapdb.git
<dan@berrange.com> <berrange@redhat.com>
<anthony@codemonkey.ws> <anthony@rhesus>
<anthony@codemonkey.ws> <anthony@squirrel>
<marcandre.lureau@gmail.com> <marcandre.lureau@redhat.com>
<jwendell@gnome.org> <wendell@bani.com.br>
......@@ -13,107 +13,108 @@ GTK VNC is currently maintained by
Patches have been received from
A S Alam <aalam@users.sf.net>
Adam Jackson <ajax@redhat.com>
Akom Chotiphantawanon <knight2000@gmail.com>
Alban Browaeys <prahal@yahoo.com>
Alexandre Rostovtsev <tetromino@gentoo.org>
Algimantas Margevičius <gymka@mail.ru>
Andika Triwidada <andika@gmail.com>
Andre Klapper <a9016009@gmx.de>
Anthony Liguori <anthony@codemonkey.ws>
António Lima <amrlima@gmail.com>
Artem Rusanov <artem.rusanov@gmail.com>
Atsushi SAKAI <sakaia@jp.fujitsu.com>
Aurimas Černius <aurisc4@gmail.com>
Bruce Cowan <bcowan@fastmail.co.uk>
Carles Ferrando <carles.ferrando@gmail.com>
Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>
Christophe Fergeau <cfergeau@redhat.com>
Claude Paroz <claude@2xlibre.net>
Cole Robinson <crobinso@redhat.com>
Cédric Valmary <cvalmary@yahoo.fr>
Daniel Korostil <ted.korostiled@gmail.com>
Daniel Nylander <po@danielnylander.se>
Daniel P. Berrange <dan@berrange.com>
Daniel P. Berrangé <dan@berrange.com>
Doug Goldstein <cardoe@cardoe.com>
Emilio Pozuelo Monfort <pochu27@gmail.com>
Enrico Nicoletto <enriconlto@src.gnome.org>
Eric R. Schulz <eric@ers35.com>
Fabiano Fidêncio <fabiano@fidencio.org>
Fabiano Fidêncio <fidencio@redhat.com>
Fabio Tomat <f.t.public@gmail.com>
Federico Mena Quintero <federico@gnome.org>
Felix E. Klee <felix.klee@inka.de>
Fran Diéguez <fran.dieguez@glug.es>
Gabor Kelemen <kelemeng@gnome.hu>
George Stefanakis <george.stefanakis@gmail.com>
Gil Forcada <gforcada@gnome.org>
Guido Günther <agx@sigxcpu.org>
GunChleoc <fios@foramnagaidhlig.net>
Halton Huo <halton.huo@sun.com>
Henrique P. Machado <zehrique@gmail.com>
Hiroyuki Kaguchi <fj7025cf@aa.jp.fujitsu.com>
Håkon Enger <hakon.enger@gmail.com>
Inaki Larranaga <dooteo@zundan.com>
John Haxby <john.haxby@oracle.com>
Jonh Wendell <jwendell@gnome.org>
Jorge González <jorgegonz@svn.gnome.org>
Kenneth Nielsen <k.nielsen81@gmail.com>
Kjartan Maraas <kmaraas@gnome.org>
Koop Mast <kwm@rainbow-runner.nl>
Kris Thomsen <lakristho@gmail.com>
Kristjan SCHMIDT <kristjan.schmidt@googlemail.com>
Lei Li <lilei@linux.vnet.ibm.com>
Leonid Kanter <leon@asplinux.ru>
Luca Ferretti <elle.uca@libero.it>
Lucian Adrian Grijincu <lucian.grijincu@gmail.com>
Lyper Lai <lyp069@gmail.com>
Marc-André Lureau <marcandre.lureau@gmail.com>
Marek Černocký <marek@manet.cz>
Mario Blättermann <mariobl@gnome.org>
Marton Balint <cus@fazekas.hu>
Matej Urbančič <mateju@svn.gnome.org>
Michael Ramírez <radical_michael@hotmail.com>
Michal Novotny <minovotn@redhat.com>
Michal Suchanek <hramrach@centrum.cz>
Muhammet Kara <muhammet.k@gmail.com>
Nathan Follens <nathan@anche.no>
Nils-Christoph Fiedler <ncfiedler@gnome.org>
Olivier Fourdan <ofourdan@redhat.com>
Pavel Grunt <pgrunt@redhat.com>
Pavlos Tournaris <p.tournaris@gmail.com>
Pedro Albuquerque <palbuquerque73@gmail.com>
Peter Korsgaard <peter@korsgaard.com>
Philip Withnall <philip@tecnocode.co.uk>
Piotr Drąg <piotrdrag@gmail.com>
Praveen Illa <mail2ipn@gmail.com>
Rafael Fontenelle <rafaelff@gnome.org>
Richard W.M. Jones <rjones@redhat.com>
Rico Tzschichholz <ricotz@t-online.de>
Rūdolfs Mazurs <rudolfsm@src.gnome.org>
Samir Ribic <samir.ribic@etf.unsa.ba>
Saori Fukuta <fukuta.saori@jp.fujitsu.com>
Sasi Bhushan <sasi@swecha.net>
Sasi Bhushan Boddepalli <sasi@swecha.net>
Seong-ho, Cho <darkcircle.0426@gmail.com>
Shushi Kurose <md81bird@hitaki.net>
Simos Xenitellis <simos@gnome.org>
Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Stanislav Petrek <stanislav.petrek@gmail.com>
Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Steven Carr <Steven.Carr@scaa-usa.com>
Sébastien Granjoux <seb.sfo@free.fr>
Takeshi AIHANA <takeshi.aihana@gmail.com>
Victor Ibragimov <victor.ibragimov@gmail.com>
Victor Toso <me@victortoso.com>
Yaron Shahrabani <sh.yaron@gmail.com>
Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
anthony@rhesus <anthony@codemonkey.ws>
anthony@squirrel <anthony@codemonkey.ws>
gogo <trebelnik2@gmail.com>
Мирослав Николић <miroslavnikolic@rocketmail.com>
Adam Jackson <ajax@redhat.com>
Akom Chotiphantawanon <knight2000@gmail.com>
Alban Browaeys <prahal@yahoo.com>
Alexandre Rostovtsev <tetromino@gentoo.org>
Algimantas Margevičius <gymka@mail.ru>
Andika Triwidada <andika@gmail.com>
Andre Klapper <a9016009@gmx.de>
Anthony Liguori <anthony@codemonkey.ws>
anthony@rhesus <anthony@codemonkey.ws>
anthony@squirrel <anthony@codemonkey.ws>
António Lima <amrlima@gmail.com>
Artem Rusanov <artem.rusanov@gmail.com>
A S Alam <aalam@users.sf.net>
Atsushi SAKAI <sakaia@jp.fujitsu.com>
Aurimas Černius <aurisc4@gmail.com>
Bruce Cowan <bcowan@fastmail.co.uk>
Carles Ferrando <carles.ferrando@gmail.com>
Cédric Valmary <cvalmary@yahoo.fr>
Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>
Christophe Fergeau <cfergeau@redhat.com>
Claude Paroz <claude@2xlibre.net>
Cole Robinson <crobinso@redhat.com>
Daniel Korostil <ted.korostiled@gmail.com>
Daniel Nylander <po@danielnylander.se>
Daniel P. Berrange <dan@berrange.com>
Daniel P. Berrangé <dan@berrange.com>
Doug Goldstein <cardoe@cardoe.com>
Emilio Pozuelo Monfort <pochu27@gmail.com>
Enrico Nicoletto <enriconlto@src.gnome.org>
Eric R. Schulz <eric@ers35.com>
Fabiano Fidêncio <fabiano@fidencio.org>
Fabiano Fidêncio <fidencio@redhat.com>
Fabio Tomat <f.t.public@gmail.com>
Federico Mena Quintero <federico@gnome.org>
Felix E. Klee <felix.klee@inka.de>
Fran Diéguez <fran.dieguez@glug.es>
Gabor Kelemen <kelemeng@gnome.hu>
George Stefanakis <george.stefanakis@gmail.com>
Gil Forcada <gforcada@gnome.org>
gogo <trebelnik2@gmail.com>
Guido Günther <agx@sigxcpu.org>
GunChleoc <fios@foramnagaidhlig.net>
Håkon Enger <hakon.enger@gmail.com>
Halton Huo <halton.huo@sun.com>
Henrique P. Machado <zehrique@gmail.com>
Hiroyuki Kaguchi <fj7025cf@aa.jp.fujitsu.com>
Inaki Larranaga <dooteo@zundan.com>
Ján Tomko <jtomko@redhat.com>
John Haxby <john.haxby@oracle.com>
Jonh Wendell <jwendell@gnome.org>
Jorge González <jorgegonz@svn.gnome.org>
Kenneth Nielsen <k.nielsen81@gmail.com>
Kjartan Maraas <kmaraas@gnome.org>
Koop Mast <kwm@rainbow-runner.nl>
Kris Thomsen <lakristho@gmail.com>
Kristjan SCHMIDT <kristjan.schmidt@googlemail.com>
Lei Li <lilei@linux.vnet.ibm.com>
Leonid Kanter <leon@asplinux.ru>
Luca Ferretti <elle.uca@libero.it>
Lucian Adrian Grijincu <lucian.grijincu@gmail.com>
Lyper Lai <lyp069@gmail.com>
Marc-André Lureau <marcandre.lureau@gmail.com>
Marek Černocký <marek@manet.cz>
Mario Blättermann <mariobl@gnome.org>
Marton Balint <cus@fazekas.hu>
Matej Urbančič <mateju@svn.gnome.org>
Michael Ramírez <radical_michael@hotmail.com>
Michal Novotny <minovotn@redhat.com>
Michal Suchanek <hramrach@centrum.cz>
Muhammet Kara <muhammet.k@gmail.com>
Nathan Follens <nathan@anche.no>
Nils-Christoph Fiedler <ncfiedler@gnome.org>
Olivier Fourdan <ofourdan@redhat.com>
Pavel Grunt <pgrunt@redhat.com>
Pavlos Tournaris <p.tournaris@gmail.com>
Pedro Albuquerque <palbuquerque73@gmail.com>
Peter Korsgaard <peter@korsgaard.com>
Philip Withnall <philip@tecnocode.co.uk>
Piotr Drąg <piotrdrag@gmail.com>
Praveen Illa <mail2ipn@gmail.com>
Rafael Fontenelle <rafaelff@gnome.org>
Richard W.M. Jones <rjones@redhat.com>
Rico Tzschichholz <ricotz@t-online.de>
Rūdolfs Mazurs <rudolfsm@src.gnome.org>
Samir Ribic <samir.ribic@etf.unsa.ba>
Saori Fukuta <fukuta.saori@jp.fujitsu.com>
Sasi Bhushan Boddepalli <sasi@swecha.net>
Sasi Bhushan <sasi@swecha.net>
Sébastien Granjoux <seb.sfo@free.fr>
Seong-ho, Cho <darkcircle.0426@gmail.com>
Shushi Kurose <md81bird@hitaki.net>
Simos Xenitellis <simos@gnome.org>
Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Stanislav Petrek <stanislav.petrek@gmail.com>
Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Steven Carr <Steven.Carr@scaa-usa.com>
Takeshi AIHANA <takeshi.aihana@gmail.com>
Victor Ibragimov <victor.ibragimov@gmail.com>
Victor Toso <me@victortoso.com>
Yaron Shahrabani <sh.yaron@gmail.com>
Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
Мирослав Николић <miroslavnikolic@rocketmail.com>
...send patches to get your name here...
......
GTK VNC Authors
===============
GTK VNC was initially written by:
Anthony Liguori <anthony@codemonkey.ws>
Daniel Berrange <dan@berrange.com>
John Wendell <jwendell@gnome.org>
GTK VNC is currently maintained by
Daniel Berrange <dan@berrange.com>
Patches have been received from
#authorslist#
...send patches to get your name here...
-- End
2019-08-07 Daniel P. Berrangé <berrange@redhat.com>
Update NEWS for 1.0.0 release
rpm: make gtk3 sub-RPMs obsolete the gtk2 sub-RPMs
Adding Obsoletes: lines ensures the GTK2 version of gtk-vnc gets erased
during upgrade.
2019-08-06 Piotr Drąg <piotrdrag@gmail.com>
Update POTFILES.skip
2019-08-06 Daniel P. Berrangé <berrange@redhat.com>
build: drop autotools build recipes
build: switch to use meson for making releases
build: switch RPM spec builds to use meson instead of autotools
build: add initial meson build recipes
2019-08-05 Daniel P. Berrangé <berrange@redhat.com>
build: add missing vncpixelformat.c file to introspection
tests: annotate unused parameters
build: fix typo in gir package name
build: install the cairo header file
src: fix arg name consistency in gtk-doc comments
build: drop extra release tag from RPM specs
build: use #ifdef instead of #if for WITH_UCONTEXT check
build: remove checks for pwd.h and termios.h
Simply use a win32 platform check for these headers
build: rename included keycodemapdb files to have .h ext
These files are not headers, they are source that is included from other
source files.
build: remove long obsolete link-warning.h file
build: move keycodemapdb submodule
Move the submodule into the subprojects directory to match what meson
expects.
Drop support for libview in example program
The libview project is abandonware with no commit upstream since 2011
and no support for GTK3. Since we dropped GTK2 there's no reason to
keep libview support.
2019-05-03 Daniel P. Berrangé <berrange@redhat.com>
rpm: always build with vala enabled
rpm: always build with gir enabled
Delete support for GTK2
Refresh maint.mk from gnulib
Allow for writes to fail in server test
There is a race condition between the client and the server code. Once
the client has detected an error condition it might close the connection
before the server has finished writing its protocol message fully. Set a
flag to allow for some writes to fail.
Don't leak server object in tests
2019-05-02 Daniel P. Berrangé <berrange@redhat.com>
rpm: remove bogus mingw dep on iconv
rpm: switch to using autosetup macro
rpm: remove duplicate description entry
rpm: run make check during build
2019-01-12 Ján Tomko <jtomko@redhat.com>
configure: do not quote EXTRA_ARGS
Without this using ./autogen.sh --system results in a funny definition
of SYSCONFDIR:
Searching for certs in /usr --sysconfdir=/etc --localstatedir=/var --libdir=/usr/lib64/etc/pki
vnc_connection_start_tls: set tls_session to NULL after deinit
Avoid a double free in case of a failure, e.g. when vnc_connection_tls_initialize_cert_cred
fails to read the certificate:
==1154== Invalid read of size 4
==1154== at 0x60870FB: gnutls_bye (record.c:288)
==1154== by 0x4A46B73: vnc_connection_close (vncconnection.c:5120)
==1154== by 0x4A4E6CA: vnc_connection_coroutine (vncconnection.c:5650)
==1154== by 0x4A51BCE: coroutine_trampoline (coroutine_ucontext.c:55)
==1154== by 0x5BD81FF: ??? (in /usr/lib64/libc-2.28.so)
==1154== by 0x175DB277: ???
==1154== Address 0x1847fcf0 is 384 bytes inside a block of size 6,496 free'd
==1154== at 0x4839A0C: free (vg_replace_malloc.c:540)
==1154== by 0x4A4B019: vnc_connection_start_tls (vncconnection.c:4466)
==1154== by 0x4A4CBE8: vnc_connection_perform_auth_vencrypt (vncconnection.c:4708)
==1154== by 0x4A4CBE8: vnc_connection_perform_auth (vncconnection.c:4818)
==1154== by 0x4A4CBE8: vnc_connection_initialize (vncconnection.c:5415)
==1154== by 0x4A4E50F: vnc_connection_coroutine (vncconnection.c:5639)
==1154== by 0x4A51BCE: coroutine_trampoline (coroutine_ucontext.c:55)
==1154== by 0x5BD81FF: ??? (in /usr/lib64/libc-2.28.so)
==1154== by 0x175DB277: ???
==1154== Block was alloc'd at
==1154== at 0x483AB1A: calloc (vg_replace_malloc.c:762)
==1154== by 0x60B6FDE: gnutls_init (state.c:465)
==1154== by 0x4A4AB28: vnc_connection_start_tls (vncconnection.c:4434)
==1154== by 0x4A4CBE8: vnc_connection_perform_auth_vencrypt (vncconnection.c:4708)
==1154== by 0x4A4CBE8: vnc_connection_perform_auth (vncconnection.c:4818)
==1154== by 0x4A4CBE8: vnc_connection_initialize (vncconnection.c:5415)
==1154== by 0x4A4E50F: vnc_connection_coroutine (vncconnection.c:5639)
==1154== by 0x4A51BCE: coroutine_trampoline (coroutine_ucontext.c:55)
==1154== by 0x5BD81FF: ??? (in /usr/lib64/libc-2.28.so)
==1154== by 0x175DB277: ???
vnc_connection_start_tls: add deinit label
Introduce a deinit label to unify cleanup paths which call gnutls_deinit.
2019-01-12 Christophe Fergeau <cfergeau@redhat.com>
conn: Use vnc_connection_has_error() extensively
It's better to call this helper rather than directly checking for
priv->coroutine_stop.
conn: Remove redundant vnc_connection_has_error() calls
No need to call it twice in:
if (vnc_connection_has_error(conn))
return !vnc_connection_has_error(conn);
and no need to call it after calling vnc_connection_set_error() as it
will always return TRUE in this scenario.
conn: Report error if vnc_connection_perform_auth_vnc fails
At the moment, when the various crypto operations that
vnc_connection_perform_auth_vnc performs fail, no error is reported to
the client application. This commit adds the emission of a vnc-error
signal when this happens. This is not reported as an auth failure as
these errors are not something which is recoverable, they indicate
system failures.
sasl: Emit vnc-auth-failure signal on SASL auth failures
When the SASL username or password are wrong, at the moment client
application will not get any specific notification for it, they will
just know that the remote connection was closed because of an error.
This commit adds the emission of the vnc-auth-failure signal when
vnc_connection_perform_auth_sasl() fails.
https://bugzilla.redhat.com/show_bug.cgi?id=1456175
sasl: Factor common code auth failure
The new vnc_connection_auth_failure() method will be reused in the
next commit.
2018-12-14 Andre Klapper <a9016009@gmx.de>
Replace Bugzilla by Gitlab URL in DOAP file
2018-09-05 Daniel P. Berrangé <berrange@redhat.com>
Initialize gcrypt before any auth method
The gcrypt APIs are now used in multiple auth methods, so we should
initialize them early, rather than only in the TLS codepath.
2018-08-30 Guido Günther <agx@sigxcpu.org>
gvnc-1.0.pc.in: Use GLIB_REQUIRED
GOBJECT_REQUIRED is no more
2018-08-24 Daniel P. Berrangé <berrange@redhat.com>
fix crash when connection fails early
When reading the initial greeting a timer is set in the background. If
the connection fails early, we can jump to cleanup code before the timer
is disable. The timer will later fire, read a coroutine context from
freed memory, and likely jump to somewhere awful with predictably crashy
results.
https://bugzilla.redhat.com/show_bug.cgi?id=1620203
coroutine: use MAP_ANON if MAP_ANONYMOUS does not exist
MAP_ANON is the old deprecated name for MAP_ANONYMOUS, but the latter
does not exist on at least some macOS 10 versions.
Resolves: issue #4
2018-08-24 Marc-André Lureau <marcandre.lureau@redhat.com>
build-sys: update gitignore
GITIGNORE_MAINTAINERCLEANFILES_* helpers, remove plugin files.
https://bugzilla.gnome.org/show_bug.cgi?id=780651
build-sys: remove .in files from EXTRA_DIST
They are already dist'ed by autotools.
https://bugzilla.gnome.org/show_bug.cgi?id=780651
build-sys: update git.mk
https://bugzilla.gnome.org/show_bug.cgi?id=780651
2018-08-22 Marc-André Lureau <marcandre.lureau@redhat.com>
build-sys: drop gnome-common dependency
As described in:
https://wiki.gnome.org/Projects/GnomeCommon/Migration
https://bugzilla.gnome.org/show_bug.cgi?id=780651
Tweaked autogen.sh to use 'test' instead of []
2018-08-22 Daniel P. Berrangé <berrange@redhat.com>
examples: remove extra parameter from init call in javascript demo
The bindings for JS have improved such that the init() can be invoked
sensibly.
Resolves: issue #6
examples: require specific versions before importing gi libs
Resolves: issue #6
2018-08-17 Daniel P. Berrangé <berrange@redhat.com>
Update NEWS for 0.9.0 release
......
# Having a separate GNUmakefile lets me `include' the dynamically
# Having a separate GNUmakefile lets me 'include' the dynamically
# generated rules created via cfg.mk (package-local configuration)
# as well as maint.mk (generic maintainer rules).
# This makefile is used only if you run GNU Make.
# It is necessary if you want to build targets usually of interest
# only to the maintainer.
# Copyright (C) 2001, 2003, 2006-2011 Free Software Foundation, Inc.
# Copyright (C) 2001, 2003, 2006-2019 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
......@@ -18,22 +18,10 @@
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Systems where /bin/sh is not the default shell need this. The $(shell)
# command below won't work with e.g. stock DOS/Windows shells.
ifeq ($(wildcard /bin/s[h]),/bin/sh)
SHELL = /bin/sh
else
# will be used only with the next shell-test line, then overwritten
# by a configured-in value
SHELL = sh
endif
# along with this program. If not, see <https://www.gnu.org/licenses/>.
# If the user runs GNU make but has not yet run ./configure,
# give them a diagnostic.
_have-Makefile := $(shell test -f Makefile && echo yes)
ifeq ($(_have-Makefile),yes)
srcdir = .
top_srcdir = .
# Make tar archive easier to reproduce.
export TAR_OPTIONS = --owner=0 --group=0 --numeric-owner
......@@ -41,8 +29,6 @@ export TAR_OPTIONS = --owner=0 --group=0 --numeric-owner
# Allow the user to add to this in the Makefile.
ALL_RECURSIVE_TARGETS =
include Makefile
# Some projects override e.g., _autoreconf here.
-include $(srcdir)/cfg.mk
......@@ -94,25 +80,6 @@ _version:
cd $(srcdir) && rm -rf autom4te.cache .version && $(_autoreconf)
$(MAKE) $(AM_MAKEFLAGS) Makefile
else
.DEFAULT_GOAL := abort-due-to-no-makefile
srcdir = .
# The package can override .DEFAULT_GOAL to run actions like autoreconf.
-include ./cfg.mk
include ./maint.mk
ifeq ($(.DEFAULT_GOAL),abort-due-to-no-makefile)
$(MAKECMDGOALS): abort-due-to-no-makefile
endif
abort-due-to-no-makefile:
@echo There seems to be no Makefile in this directory. 1>&2
@echo "You must run ./configure before running \`make'." 1>&2
@exit 1
endif
# Tell version 3.79 and up of GNU make to not build goals in this
# directory in parallel, in case someone tries to build multiple
......
Installation Instructions
*************************
Copyright (C) 1994-1996, 1999-2002, 2004-2016 Free Software
Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved. This file is offered as-is,
without warranty of any kind.
Basic Installation
==================
Briefly, the shell command './configure && make && make install'
should configure, build, and install this package. The following
more-detailed instructions are generic; see the 'README' file for
instructions specific to this package. Some packages provide this
'INSTALL' file but do not implement all of the features documented
below. The lack of an optional feature in a given package is not
necessarily a bug. More recommendations for GNU packages can be found
in *note Makefile Conventions: (standards)Makefile Conventions.
The 'configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation. It uses
those values to create a 'Makefile' in each directory of the package.
It may also create one or more '.h' files containing system-dependent
definitions. Finally, it creates a shell script 'config.status' that
you can run in the future to recreate the current configuration, and a
file 'config.log' containing compiler output (useful mainly for
debugging 'configure').
It can also use an optional file (typically called 'config.cache' and
enabled with '--cache-file=config.cache' or simply '-C') that saves the
results of its tests to speed up reconfiguring. Caching is disabled by
default to prevent problems with accidental use of stale cache files.
If you need to do unusual things to compile the package, please try
to figure out how 'configure' could check whether to do them, and mail
diffs or instructions to the address given in the 'README' so they can
be considered for the next release. If you are using the cache, and at
some point 'config.cache' contains results you don't want to keep, you
may remove or edit it.
The file 'configure.ac' (or 'configure.in') is used to create
'configure' by a program called 'autoconf'. You need 'configure.ac' if
you want to change it or regenerate 'configure' using a newer version of
'autoconf'.
The simplest way to compile this package is:
1. 'cd' to the directory containing the package's source code and type
'./configure' to configure the package for your system.
Running 'configure' might take a while. While running, it prints
some messages telling which features it is checking for.
2. Type 'make' to compile the package.
3. Optionally, type 'make check' to run any self-tests that come with
the package, generally using the just-built uninstalled binaries.
4. Type 'make install' to install the programs and any data files and
documentation. When installing into a prefix owned by root, it is
recommended that the package be configured and built as a regular
user, and only the 'make install' phase executed with root
privileges.
5. Optionally, type 'make installcheck' to repeat any self-tests, but
this time using the binaries in their final installed location.
This target does not install anything. Running this target as a
regular user, particularly if the prior 'make install' required
root privileges, verifies that the installation completed
correctly.
6. You can remove the program binaries and object files from the
source code directory by typing 'make clean'. To also remove the
files that 'configure' created (so you can compile the package for
a different kind of computer), type 'make distclean'. There is
also a 'make maintainer-clean' target, but that is intended mainly
for the package's developers. If you use it, you may have to get
all sorts of other programs in order to regenerate files that came
with the distribution.
7. Often, you can also type 'make uninstall' to remove the installed
files again. In practice, not all packages have tested that
uninstallation works correctly, even though it is required by the
GNU Coding Standards.
8. Some packages, particularly those that use Automake, provide 'make
distcheck', which can by used by developers to test that all other
targets like 'make install' and 'make uninstall' work correctly.
This target is generally not run by end users.
Compilers and Options
=====================
Some systems require unusual options for compilation or linking that
the 'configure' script does not know about. Run './configure --help'
for details on some of the pertinent environment variables.
You can give 'configure' initial values for configuration parameters
by setting variables in the command line or in the environment. Here is
an example:
./configure CC=c99 CFLAGS=-g LIBS=-lposix
*Note Defining Variables::, for more details.
Compiling For Multiple Architectures
====================================
You can compile the package for more than one kind of computer at the
same time, by placing the object files for each architecture in their
own directory. To do this, you can use GNU 'make'. 'cd' to the
directory where you want the object files and executables to go and run
the 'configure' script. 'configure' automatically checks for the source
code in the directory that 'configure' is in and in '..'. This is known
as a "VPATH" build.
With a non-GNU 'make', it is safer to compile the package for one
architecture at a time in the source code directory. After you have
installed the package for one architecture, use 'make distclean' before
reconfiguring for another architecture.
On MacOS X 10.5 and later systems, you can create libraries and
executables that work on multiple system types--known as "fat" or
"universal" binaries--by specifying multiple '-arch' options to the
compiler but only a single '-arch' option to the preprocessor. Like
this:
./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
CPP="gcc -E" CXXCPP="g++ -E"
This is not guaranteed to produce working output in all cases, you
may have to build one architecture at a time and combine the results
using the 'lipo' tool if you have problems.
Installation Names
==================
By default, 'make install' installs the package's commands under
'/usr/local/bin', include files under '/usr/local/include', etc. You
can specify an installation prefix other than '/usr/local' by giving
'configure' the option '--prefix=PREFIX', where PREFIX must be an
absolute file name.
You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you
pass the option '--exec-prefix=PREFIX' to 'configure', the package uses
PREFIX as the prefix for installing programs and libraries.
Documentation and other data files still use the regular prefix.
In addition, if you use an unusual directory layout you can give
options like '--bindir=DIR' to specify different values for particular
kinds of files. Run 'configure --help' for a list of the directories
you can set and what kinds of files go in them. In general, the default
for these options is expressed in terms of '${prefix}', so that
specifying just '--prefix' will affect all of the other directory
specifications that were not explicitly provided.
The most portable way to affect installation locations is to pass the
correct locations to 'configure'; however, many packages provide one or
both of the following shortcuts of passing variable assignments to the
'make install' command line to change installation locations without
having to reconfigure or recompile.
The first method involves providing an override variable for each
affected directory. For example, 'make install
prefix=/alternate/directory' will choose an alternate location for all
directory configuration variables that were expressed in terms of
'${prefix}'. Any directories that were specified during 'configure',
but not in terms of '${prefix}', must each be overridden at install time
for the entire installation to be relocated. The approach of makefile
variable overrides for each directory variable is required by the GNU
Coding Standards, and ideally causes no recompilation. However, some
platforms have known limitations with the semantics of shared libraries
that end up requiring recompilation when using this method, particularly
noticeable in packages that use GNU Libtool.
The second method involves providing the 'DESTDIR' variable. For
example, 'make install DESTDIR=/alternate/directory' will prepend
'/alternate/directory' before all installation names. The approach of
'DESTDIR' overrides is not required by the GNU Coding Standards, and
does not work on platforms that have drive letters. On the other hand,
it does better at avoiding recompilation issues, and works well even
when some directory options were not specified in terms of '${prefix}'
at 'configure' time.
Optional Features
=================
If the package supports it, you can cause programs to be installed
with an extra prefix or suffix on their names by giving 'configure' the
option '--program-prefix=PREFIX' or '--program-suffix=SUFFIX'.
Some packages pay attention to '--enable-FEATURE' options to
'configure', where FEATURE indicates an optional part of the package.
They may also pay attention to '--with-PACKAGE' options, where PACKAGE
is something like 'gnu-as' or 'x' (for the X Window System). The
'README' should mention any '--enable-' and '--with-' options that the
package recognizes.
For packages that use the X Window System, 'configure' can usually
find the X include and library files automatically, but if it doesn't,
you can use the 'configure' options '--x-includes=DIR' and
'--x-libraries=DIR' to specify their locations.
Some packages offer the ability to configure how verbose the
execution of 'make' will be. For these packages, running './configure
--enable-silent-rules' sets the default to minimal output, which can be
overridden with 'make V=1'; while running './configure
--disable-silent-rules' sets the default to verbose, which can be
overridden with 'make V=0'.
Particular systems
==================
On HP-UX, the default C compiler is not ANSI C compatible. If GNU CC
is not installed, it is recommended to use the following options in
order to use an ANSI C compiler:
./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
and if that doesn't work, install pre-built binaries of GCC for HP-UX.
HP-UX 'make' updates targets which have the same time stamps as their
prerequisites, which makes it generally unusable when shipped generated
files such as 'configure' are involved. Use GNU 'make' instead.
On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
parse its '<wchar.h>' header file. The option '-nodtk' can be used as a
workaround. If GNU CC is not installed, it is therefore recommended to
try
./configure CC="cc"
and if that doesn't work, try
./configure CC="cc -nodtk"
On Solaris, don't put '/usr/ucb' early in your 'PATH'. This
directory contains several dysfunctional programs; working variants of
these programs are available in '/usr/bin'. So, if you need '/usr/ucb'
in your 'PATH', put it _after_ '/usr/bin'.
On Haiku, software installed for all users goes in '/boot/common',
not '/usr/local'. It is recommended to use the following options:
./configure --prefix=/boot/common
Specifying the System Type
==========================
There may be some features 'configure' cannot figure out
automatically, but needs to determine by the type of machine the package
will run on. Usually, assuming the package is built to be run on the
_same_ architectures, 'configure' can figure that out, but if it prints
a message saying it cannot guess the machine type, give it the
'--build=TYPE' option. TYPE can either be a short name for the system
type, such as 'sun4', or a canonical name which has the form:
CPU-COMPANY-SYSTEM
where SYSTEM can have one of these forms:
OS
KERNEL-OS
See the file 'config.sub' for the possible values of each field. If
'config.sub' isn't included in this package, then this package doesn't
need to know the machine type.
If you are _building_ compiler tools for cross-compiling, you should
use the option '--target=TYPE' to select the type of system they will
produce code for.
If you want to _use_ a cross compiler, that generates code for a
platform different from the build platform, you should specify the
"host" platform (i.e., that on which the generated programs will
eventually be run) with '--host=TYPE'.
Sharing Defaults
================
If you want to set default values for 'configure' scripts to share,
you can create a site shell script called 'config.site' that gives
default values for variables like 'CC', 'cache_file', and 'prefix'.
'configure' looks for 'PREFIX/share/config.site' if it exists, then
'PREFIX/etc/config.site' if it exists. Or, you can set the
'CONFIG_SITE' environment variable to the location of the site script.
A warning: not all 'configure' scripts look for a site script.
Defining Variables
==================
Variables not defined in a site shell script can be set in the
environment passed to 'configure'. However, some packages may run
configure again during the build, and the customized values of these
variables may be lost. In order to avoid this problem, you should set
them in the 'configure' command line, using 'VAR=value'. For example:
./configure CC=/usr/local2/bin/gcc
causes the specified 'gcc' to be used as the C compiler (unless it is
overridden in the site shell script).
Unfortunately, this technique does not work for 'CONFIG_SHELL' due to an
Autoconf limitation. Until the limitation is lifted, you can use this
workaround:
CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
'configure' Invocation
======================
'configure' recognizes the following options to control how it
operates.
'--help'
'-h'
Print a summary of all of the options to 'configure', and exit.
'--help=short'
'--help=recursive'
Print a summary of the options unique to this package's
'configure', and exit. The 'short' variant lists options used only
in the top level, while the 'recursive' variant lists options also
present in any nested packages.
'--version'
'-V'
Print the version of Autoconf used to generate the 'configure'
script, and exit.
'--cache-file=FILE'
Enable the cache: use and save the results of the tests in FILE,
traditionally 'config.cache'. FILE defaults to '/dev/null' to
disable caching.
'--config-cache'
'-C'
Alias for '--cache-file=config.cache'.
'--quiet'
'--silent'
'-q'
Do not print messages saying which checks are being made. To
suppress all normal output, redirect it to '/dev/null' (any error
messages will still be shown).
'--srcdir=DIR'
Look for the package's source code in directory DIR. Usually
'configure' can determine that directory automatically.
'--prefix=DIR'
Use DIR as the installation prefix. *note Installation Names:: for
more details, including other options available for fine-tuning the
installation locations.
'--no-create'
'-n'
Run the configure checks, but stop before creating any output
files.
'configure' also accepts some other, not widely useful, options. Run
'configure --help' for more details.
Jonh Wendell
E-mail: jwendell@gnome.org
Userid: jwendell
Daniel P. Berrange
E-mail: dan@berrange.com
Userid: dberrange
SUBDIRS = src tools examples po vapi
ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS}
pkgconfig_DATA = $(PACKAGE)-$(GTK_VNC_API_VERSION).pc gvnc-1.0.pc
pkgconfigdir = $(libdir)/pkgconfig
if HAVE_PULSEAUDIO
pkgconfig_DATA += gvncpulse-1.0.pc
endif
EXTRA_DIST = \
gvnc-1.0.pc.in \
gvncpulse-1.0.pc.in \
$(PACKAGE)-1.0.pc.in \
$(PACKAGE)-2.0.pc.in \
$(PACKAGE).spec.in \
$(PACKAGE).spec \
mingw-$(PACKAGE).spec.in \
intltool-extract.in \
intltool-merge.in \
intltool-update.in \
cfg.mk \
GNUmakefile \
maint.mk \
AUTHORS.in \
ChangeLog-old \
$(NULL)
DISTCLEANFILES = \
intltool-extract \
intltool-merge \
intltool-update
MAINTAINERCLEANFILES = \
INSTALL \
compile \
aclocal.m4 \
config.guess \
config.h.in \
config.sub \
depcomp \
gtk-doc.make \
install-sh \
ltmain.sh \
missing \
mkinstalldirs \
omf.make \
py-compile \
xmldocs.make \
m4/libtool.m4 \
m4/lt~obsolete.m4 \
m4/ltoptions.m4 \
m4/ltsugar.m4 \
m4/ltversion.m4 \
build-aux/compile \
build-aux/config.guess \
build-aux/config.sub \
build-aux/depcomp \
build-aux/install-sh \
build-aux/ltmain.sh \
build-aux/missing \
build-aux/mkinstalldirs \
`find "$(srcdir)" -type f -name Makefile.in -print`
GITIGNOREFILES = plugin/gtk-vnc-plugin.la plugin/gtk-vnc-plugin.so
gen_start_date = 2008-12-07
dist-hook: gen-ChangeLog gen-AUTHORS
.PHONY: gen-ChangeLog
gen-ChangeLog:
$(AM_V_GEN)if test -d $(srcdir)/.git; then \
$(top_srcdir)/build-aux/gitlog-to-changelog \
--since=$(gen_start_date) > $(distdir)/cl-t;\
rm -f $(distdir)/ChangeLog; \
mv $(distdir)/cl-t $(distdir)/ChangeLog; \
fi
.PHONY: gen-AUTHORS
gen-AUTHORS:
$(AM_V_GEN)if test -d $(srcdir)/.git; then \
out="`cd $(srcdir) && git log --pretty=format:'%aN <%aE>' | sort -u`" && \
perl -p -e "s/#authorslist#// and print '$$out'" \
< $(srcdir)/AUTHORS.in > $(distdir)/AUTHORS-tmp && \
mv -f $(distdir)/AUTHORS-tmp $(distdir)/AUTHORS ; \
fi
-include $(top_srcdir)/git.mk
This diff is collapsed.
GTK VNC News
============
Aug 7, 2019: Release 1.0.0
==========================
o Autotools build system replaced with meson
o Support for GTK-2 is dropped. GTK-3 is mandatory
o Support for libview is dropped in example program
o Improvements to example demos
o Use MAP_ANON if MAP_ANONYMOUS doesn't exist to help
certai macOS versions
o Fix crash when connection attempt fails early
o Initialize gcrypt early in auth process
o Emit vnc-auth-failure signal when SASL auth fals
o Emit vnc-error signal when authentication fails
o Fix double free when failing to read certificates
o Run unit tests in RPM build
o Modernize RPM spec
o Fix race condition in unit tests
o Fix install of missing header for cairo framebuffer
o Fix typo in gir package name
o Add missing VncPixelFormat file to git data
Aug 17, 2018: Release 0.9.0
===========================
......
dnl a macro to check for ability to create python extensions
dnl AM_CHECK_PYTHON_HEADERS([ACTION-IF-POSSIBLE], [ACTION-IF-NOT-POSSIBLE])
dnl function also defines PYTHON_INCLUDES
AC_DEFUN([AM_CHECK_PYTHON_HEADERS],
[AC_REQUIRE([AM_PATH_PYTHON])
AC_MSG_CHECKING(for headers required to compile python extensions)
dnl deduce PYTHON_INCLUDES
py_prefix=`$PYTHON -c "import sys; print sys.prefix"`
py_exec_prefix=`$PYTHON -c "import sys; print sys.exec_prefix"`
PYTHON_INCLUDES="-I${py_prefix}/include/python${PYTHON_VERSION}"
if test "$py_prefix" != "$py_exec_prefix"; then
PYTHON_INCLUDES="$PYTHON_INCLUDES -I${py_exec_prefix}/include/python${PYTHON_VERSION}"
fi
AC_SUBST(PYTHON_INCLUDES)
dnl check if the headers exist:
save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $PYTHON_INCLUDES"
AC_TRY_CPP([#include <Python.h>],dnl
[AC_MSG_RESULT(found)
$1],dnl
[AC_MSG_RESULT(not found)
$2])
CPPFLAGS="$save_CPPFLAGS"
])
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
eval '(exit $?0)' && eval 'exec perl -wS "$0" ${1+"$@"}'
& eval 'exec perl -wS "$0" $argv:q'
if 0;
# Convert git log output to ChangeLog format.
my $VERSION = '2009-10-30 13:46'; # UTC
# The definition above must lie within the first 8 lines in order
# for the Emacs time-stamp write hook (at end) to update it.
# If you change this file with Emacs, please let the write hook
# do its job. Otherwise, update this string manually.
# Copyright (C) 2008-2010 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Written by Jim Meyering
use strict;
use warnings;
use Getopt::Long;
use POSIX qw(strftime);
(my $ME = $0) =~ s|.*/||;
# use File::Coda; # http://meyering.net/code/Coda/
END {
defined fileno STDOUT or return;
close STDOUT and return;
warn "$ME: failed to close standard output: $!\n";
$? ||= 1;
}
sub usage ($)
{
my ($exit_code) = @_;
my $STREAM = ($exit_code == 0 ? *STDOUT : *STDERR);
if ($exit_code != 0)
{
print $STREAM "Try `$ME --help' for more information.\n";
}
else
{
print $STREAM <<EOF;
Usage: $ME [OPTIONS] [ARGS]
Convert git log output to ChangeLog format. If present, any ARGS
are passed to "git log". To avoid ARGS being parsed as options to
$ME, they may be preceded by '--'.
OPTIONS:
--since=DATE convert only the logs since DATE;
the default is to convert all log entries.
--format=FMT set format string for commit subject and body;
see 'man git-log' for the list of format metacharacters;
the default is '%s%n%b%n'
--help display this help and exit
--version output version information and exit
EXAMPLE:
$ME --since=2008-01-01 > ChangeLog
$ME -- -n 5 foo > last-5-commits-to-branch-foo
EOF
}
exit $exit_code;
}
# If the string $S is a well-behaved file name, simply return it.
# If it contains white space, quotes, etc., quote it, and return the new string.
sub shell_quote($)
{
my ($s) = @_;
if ($s =~ m![^\w+/.,-]!)
{
# Convert each single quote to '\''
$s =~ s/\'/\'\\\'\'/g;
# Then single quote the string.
$s = "'$s'";
}
return $s;
}
sub quoted_cmd(@)
{
return join (' ', map {shell_quote $_} @_);
}
{
my $since_date = '1970-01-01 UTC';
my $format_string = '%s%n%b%n';
GetOptions
(
help => sub { usage 0 },
version => sub { print "$ME version $VERSION\n"; exit },
'since=s' => \$since_date,
'format=s' => \$format_string,
) or usage 1;
my @cmd = (qw (git log --log-size), "--since=$since_date",
'--pretty=format:%ct %an <%ae>%n%n'.$format_string, @ARGV);
open PIPE, '-|', @cmd
or die ("$ME: failed to run `". quoted_cmd (@cmd) ."': $!\n"
. "(Is your Git too old? Version 1.5.1 or later is required.)\n");
my $prev_date_line = '';
while (1)
{
defined (my $in = <PIPE>)
or last;
$in =~ /^log size (\d+)$/
or die "$ME:$.: Invalid line (expected log size):\n$in";
my $log_nbytes = $1;
my $log;
my $n_read = read PIPE, $log, $log_nbytes;
$n_read == $log_nbytes
or die "$ME:$.: unexpected EOF\n";
my @line = split "\n", $log;
my $author_line = shift @line;
defined $author_line
or die "$ME:$.: unexpected EOF\n";
$author_line =~ /^(\d+) (.*>)$/
or die "$ME:$.: Invalid line "
. "(expected date/author/email):\n$author_line\n";
my $date_line = sprintf "%s $2\n", strftime ("%F", localtime ($1));
# If this line would be the same as the previous date/name/email
# line, then arrange not to print it.
if ($date_line ne $prev_date_line)
{
$prev_date_line eq ''
or print "\n";
print $date_line;
}
$prev_date_line = $date_line;
# Omit "Signed-off-by..." lines.
@line = grep !/^Signed-off-by: .*>$/, @line;
# If there were any lines
if (@line == 0)
{
warn "$ME: warning: empty commit message:\n $date_line\n";
}
else
{
# Remove leading and trailing blank lines.
while ($line[0] =~ /^\s*$/) { shift @line; }
while ($line[$#line] =~ /^\s*$/) { pop @line; }
# Prefix each non-empty line with a TAB.
@line = map { length $_ ? "\t$_" : '' } @line;
print "\n", join ("\n", @line), "\n";
}
defined ($in = <PIPE>)
or last;
$in ne "\n"
and die "$ME:$.: unexpected line:\n$in";
}
close PIPE
or die "$ME: error closing pipe from " . quoted_cmd (@cmd) . "\n";
# FIXME-someday: include $PROCESS_STATUS in the diagnostic
}
# Local Variables:
# mode: perl
# indent-tabs-mode: nil
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "my $VERSION = '"
# time-stamp-format: "%:y-%02m-%02d %02H:%02M"
# time-stamp-time-zone: "UTC"
# time-stamp-end: "'; # UTC"
# End:
This diff is collapsed.