Commit Graph

104 Commits

Author SHA1 Message Date
Christophe Fergeau
894396d6b5 ovirt: Add OvirtForeignMenu class
This class is used to implement the so-called oVirt 'foreign menu'
which is a menu populated with ISO images available on the
oVirt instance that the user can dynamically insert into the
virtual machine he is currently viewing.
2014-08-18 13:20:42 +02:00
Daniel P. Berrange
507f426a7f Bump version to 2.0 for next dev cycle 2014-07-21 15:34:13 +01:00
Christophe Fergeau
4cf0a83781 build-sys: Use automake 'subdir-objects' option
This silences an automake 1.14 warning:

src/Makefile.am:35: warning: source file 'view/autoDrawer.c' is in a
subdirectory,
src/Makefile.am:35: but option 'subdir-objects' is disabled
automake: warning: possible forward-incompatibility.
automake: At least a source file is in a subdirectory, but the
'subdir-objects'
automake: automake option hasn't been enabled.  For now, the
corresponding output
automake: object file(s) will be placed in the top-level directory.
However,
automake: this behaviour will change in future Automake versions: they
will
automake: unconditionally cause object files to be placed in the same
subdirectory
automake: of the corresponding sources.
automake: You are advised to start using 'subdir-objects' option
throughout your
automake: project, to avoid future incompatibilities.
2014-06-26 21:22:27 +02:00
Daniel P. Berrange
28a6bd6cf4 Bump version 1.0 to simplify Windows MSI versioning
The Windows MSI product version is restricted to a 3 component
version number, whose fields are a max value of 255.255.65536

Since the main virt-viewer version takes up 3 components already,
we have the munge the micro version together with the first
component of the release version. eg we have

   $VERSION[0].$VERSION[1].($VERSION[2] << 8 + $RELEASE[0])

This causes problems for RHEL which needs to have 2-component
release versions to deal with z-stream builds.  eg a RHEL
version might be virt-viewer-0.5.6-2.el6_4.3 and we've
no easy way of adding the final '.3' to the Windows product
version.

If we reduce the primary virt-viewer version to just 2 components,
then we can leave the 3rd component for exclusive use by the RPM
release number. eg so we'd make product version up using

   $VERSION[0].$VERSION[1].($RELEASE[0] << 8 + $RELEASE[1])

In course of normal development, we'd increase the $VERSION[0]
for each release. ie next release is 1.0, then 2.0, then 3.0.
This means we retain the ability to put out "stable" branch
releases for any historical version by doing 1.1, 1.2 instead
of having to re-add a 3rd component.

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
2014-06-23 16:16:01 +01:00
Marc-André Lureau
f7bbf51458 msi: move up micro version in x.x.build productversion
This allows 12 bits to form a buildid, ex in RHEVM builds:
--with-buildid=$(release << 4 + zrelease)

https://bugzilla.redhat.com/show_bug.cgi?id=1105650
2014-06-10 15:35:52 +02:00
Christophe Fergeau
3232dd743b build-sys: Always prepend '-' to build id
When using the --with-buildid configure paramater, the build id which is
substituted in the MSI wxs file is automatically prepended by a '-', but
the build id which is used in the C files does not get this '-'
automatically.

Currently, the linux and mingw spec files prepend a '-' on their own to the
--with-buildid argument, but this causes the MSI installer to show 2 '-'
during installation: "Please wait while Windows configures VirtViewer
0.6.0--1"

This commit always prepends a '-' to the buildid strings, and removes the
'-' from the spec files. This is to ensure the separator between version
number and buildid is not forgotten, which could give a confusing version
number.
2014-04-04 14:49:20 +02:00
Daniel P. Berrange
03a3ba68a5 Update for 0.6.0 release
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
2014-01-24 17:36:27 +00:00
Christophe Fergeau
71eac4bc67 spec: Get BuildRequires min versions from configure.ac
We currently duplicate the minimum requirements for the various virt-viewer
dependencies in configure.ac, virt-viewer.spec.in and mingw-virt-viewer.spec.in
This commit uses the versions set in configure.ac in the 2 .spec.in files
so that it's easier to keep them in sync

Before/after diff of the .spec files are:

--- virt-viewer.spec.or 2013-12-18 14:14:14.304285905 +0100
+++ virt-viewer.spec    2013-12-18 14:19:20.217072678 +0100
@@ -47,14 +47,14 @@
 BuildRequires: libtool
 %endif

-BuildRequires: glib2-devel >= 2.22
+BuildRequires: glib2-devel >= 2.22.0
 %if %{with_gtk3}
-BuildRequires: gtk3-devel >= 3.0.0
+BuildRequires: gtk3-devel >= 3.0
 %else
-BuildRequires: gtk2-devel >= 2.12.0
+BuildRequires: gtk2-devel >= 2.18.0
 %endif
-BuildRequires: libvirt-devel >= 0.9.7
-BuildRequires: libxml2-devel
+BuildRequires: libvirt-devel >= 0.10.0
+BuildRequires: libxml2-devel >= 2.6.0
 %if %{with_gtk3}
 BuildRequires: gtk-vnc2-devel >= 0.4.0
 %else

--- mingw-virt-viewer.spec.or   2013-12-18 14:14:23.656401693 +0100
+++ mingw-virt-viewer.spec      2013-12-18 14:20:57.007270507 +0100
@@ -12,22 +12,22 @@

 BuildRequires:  mingw32-filesystem >= 23
 BuildRequires:  mingw64-filesystem >= 23
-BuildRequires:  mingw32-glib2 >= 2.22
-BuildRequires:  mingw64-glib2 >= 2.22
+BuildRequires:  mingw32-glib2 >= 2.22.0
+BuildRequires:  mingw64-glib2 >= 2.22.0
 BuildRequires:  mingw32-gstreamer-plugins-bad-free
 BuildRequires:  mingw64-gstreamer-plugins-bad-free
 BuildRequires:  mingw32-gstreamer-plugins-good
 BuildRequires:  mingw64-gstreamer-plugins-good
-BuildRequires:  mingw32-gtk2
-BuildRequires:  mingw64-gtk2
+BuildRequires:  mingw32-gtk2 >= 2.18.0
+BuildRequires:  mingw64-gtk2 >= 2.18.0
 BuildRequires:  mingw32-libusbx
 BuildRequires:  mingw64-libusbx
-BuildRequires:  mingw32-libvirt >= 0.9.7
-BuildRequires:  mingw64-libvirt >= 0.9.7
-BuildRequires:  mingw32-libxml2
-BuildRequires:  mingw64-libxml2
-BuildRequires:  mingw32-gtk-vnc >= 0.4.3
-BuildRequires:  mingw64-gtk-vnc >= 0.4.3
+BuildRequires:  mingw32-libvirt >= 0.10.0
+BuildRequires:  mingw64-libvirt >= 0.10.0
+BuildRequires:  mingw32-libxml2 >= 2.6.0
+BuildRequires:  mingw64-libxml2 >= 2.6.0
+BuildRequires:  mingw32-gtk-vnc >= 0.3.8
+BuildRequires:  mingw64-gtk-vnc >= 0.3.8
 BuildRequires:  mingw32-readline
 BuildRequires:  mingw64-readline
 BuildRequires:  mingw32-spice-glib
2013-12-18 15:42:24 +01:00
Christophe Fergeau
abf13d38b3 Update shared mime database on install/uninstall
remomte-viewer installs a file to $datadir/share/mime to register a
mime-type for its .vv files. However, after installing this file,
update-mime-database must be run in order to update the shared mime
database. This commit (inspired by what Nautilus/planner are doing) adds
what is needed for that.
If the mime type is not correctly registered, gvfs-info console.vv will not
return the correct mime type, and xdg-open console.vv will fail to start
remote-viewer, and will fall back to running gedit as the .vv file is a
text file.

https://bugzilla.redhat.com/show_bug.cgi?id=1044209
2013-12-18 14:20:39 +01:00
Marc-André Lureau
d1c2bc17fa build-sys: require spice-gtk >= 0.22
Require 0.22 fro spice_uuid_to_string()
2013-12-16 18:10:39 +01:00
Christophe Fergeau
24877bc546 build-sys: Use gtk+ 3.0 by default
virt-viewer currenty builds with gtk+ 2.0 by default. Nowadays, gtk+ 2.0 is
legacy, and this default is inconsistent with spice-gtk which defaults to
gtk+ 3.0. This commit switches the default to gtk+ 3.0
2013-11-13 11:15:46 +01:00
Christophe Fergeau
8df64ae4ec ovirt: Remove use of deprecated APIs
ovirt_proxy_fetch_vms/ovirt_proxy_lookup_vm have been deprecated
in govirt 0.3.0
2013-10-30 10:52:53 +01:00
Daniel P. Berrange
533342db14 Update min spice-gtk dep to 0.20
The spice_smartcard_manager_get_readers method was only added
in spice-gtk 0.20.

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
2013-07-31 11:54:33 +01:00
Marc-André Lureau
c8e5b8e3b0 msi: use ProductVersion compatible with Windows Installer
Windows Installer expects version of form major.minor.build in order to
perform updates.

Following Daniel Berrange suggestion, compute a ProductVersion
compatible with this scheme by shifting virt-viewer "micro" release
number and adding the extra "buildid".
2013-07-30 21:08:26 +02:00
Christophe Fergeau
7c0967fc8c ovirt: Set host subject if needed
For some VMs, setting host subject on SpiceSession is needed to
be able to connect to it using SPICE/SSL. Until recently, this
was not exposed in oVirt REST API/libgovirt. Since
oVirt 3.2/libgovirt 0.1.0, the host subject is available, this
patch makes use of it.
This should fix connection to oVirt VMs that were migrated to a
different host than the one they were started on.
2013-06-11 15:54:37 +02:00
Daniel P. Berrange
d3de53aa5e Post release version bump 2013-05-01 17:15:02 +01:00
Marc-André Lureau
29f7ee33ca msi: build correct 64-bit msi 2013-04-15 16:46:48 +02:00
Christophe Fergeau
0fd9a6185b build-sys: Simplify setting of optional CFLAGS/LDFLAGS
They don't need to be wrapped inside if HAVE_XXX blocks in Makefile.am
as when XXX is not available, XXX_CFLAGS and XXX_LIBS will expand to
the empty string, and thus we can carry them unconditionally in
our app_CFLAGS/app_LDFLAGS variables.
2013-04-12 21:21:15 +02:00
Christophe Fergeau
67c8c3790f Add oVirt support
This commit adds support for ovirt:// URIs. It does so by using
libgovirt to get the spice/vnc connection information through
oVirt xmlrpc API.
2013-04-12 19:45:38 +02:00
Daniel P. Berrange
9d69e5a629 Delete browser plugin entirely
The browser plugin code has been effectively unmaintained since
the day it was merged. There has always been a caveat that the
code has not been properly audited to ensure it is secure, and
being unmaintained doesn't give a warm secure feeling. These
days there are better solutions for the browser which are pure
HTML5 code, noVNC and SPICE-HTML5.

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
2013-03-13 11:47:42 +00:00
Daniel P. Berrange
ea6340eb2b Post release version bump 2013-02-13 16:39:21 +00:00
Daniel P. Berrange
f3c2e2d268 Update for 0.5.5 release 2013-02-13 16:16:55 +00:00
Marc-André Lureau
db19b2ec99 win: add virt-viewer.msi build rule
In order to build the MSI, you will need msitools:
http://ftp.gnome.org/pub/GNOME/sources/msitools/

The MANUFACTURER environment variable is mandatory and should be set
to the manufacturer/author of the MSI build.
2013-02-13 13:20:37 +01:00
Marc-André Lureau
a52b5ea88c build-sys: add --with-buildid to details build version
Add a configure argument to append build version details, similar to
what Daniel Berrange proposed in the "use finer package version in
mingw-virt-viewer" thread on the ML.
2013-02-12 18:56:33 +01:00
Michal Privoznik
0c212ee8ca configure: Update with autoupdate 2013-02-04 15:15:44 +01:00
Martin Kletzander
1648363b85 Make compilation work with automake 1.13
Just one thing needs to be changed for virt-viewer to build with
automake 1.13, AM_CONFIG_HEADER is deprecated and should be
AC_CONFIG_HEADERS.
2013-02-04 14:53:31 +01:00
Marc-André Lureau
7d9e442ffb remote-viewer: controller sets spice session proxy
Trivial change since spice-gtk now has proxy session property and
controller message, just forward it.
2013-01-31 16:59:02 +01:00
Marc-André Lureau
2798fd2d60 spice: add proxy configuration to connection file 2013-01-29 14:40:24 +01:00
Marc-André Lureau
03c3e4d08e Add virt-viewer-debug.exe NSIS installer
This installer will provide with the tools and configuration needed to
debug virt-viewer & remote-viewer. It will install itself by default in
virt-viewer directory.
2012-11-23 16:05:57 +01:00
Marc-André Lureau
a4805a3bb8 build-sys: add min libvirt version requirement check 2012-11-16 18:19:16 +01:00
Christophe Fergeau
6d35a443da Fix spice-gtk check in configure.ac
The check that at least one of spice-gtk and gtk-vnc is present
uses a wrong variable name to check for spice-gtk presence, which
causes the check to think it's never present. This would make
gtk-vnc presence mandatory. This commit fixes the name of the
spice-gtk variable ($have_gtk_spice -> $have_spice_gtk).
2012-11-15 10:21:03 +01:00
Michal Privoznik
fa39c5335c Reconnect to libvirtd after connection breaks
Currently, if user wants to reconnect to a domain he can use
'-r' cmd line argument. This makes virt-viewer listen to
domain events. However, if connection to libvirtd breaks
somehow, we will receive no longer any event. Hence we must
reconnect to the libvirt.
2012-11-13 15:23:51 +01:00
Guido Günther
7083a07a92 Fail if neither vnc nor spice is detected
Since the viewer makes little sense otherwise.
2012-10-25 12:14:33 +02:00
Daniel P. Berrange
c36c848904 Update for 0.5.4 releae 2012-09-17 11:53:12 +01:00
Daniel P. Berrange
c8e0550a82 Convert to use Mingw64 toolchain for Windows biulds 2012-09-14 17:34:53 +01:00
Marc-André Lureau
c8d20b35bd Bump glib > 2.22, add compat file
We use API from 2.22, and some from further version. Add
virt-glib-compat.h fallback file for those.
2012-07-23 16:27:33 +02:00
Marc-André Lureau
7cf00ea8d2 build: generate enums type boilerplate 2012-07-23 16:27:32 +02:00
Marc-André Lureau
4648dc16e8 spice: improve fullscreen=auto-conf
Do keep client monitor position, do not align monitors automatically.
The align property is only available since v0.12.101.
2012-07-23 16:27:28 +02:00
Marc-André Lureau
ceb38d1c20 Release v0.5.3 2012-05-15 02:45:34 +02:00
Marc-André Lureau
8e1a8b3242 dist: ship .ico in tarball
Some distros (a 4-letters) don't have icotool.
Let's ship the .ico in the tarball.

The build will fail if icoutil is not installed when
building from git or when the .ico is absent. The error
should be explicit.
2012-05-14 23:27:20 +02:00
Daniel P. Berrange
521116f51b Ensure windres & icotool are present on Win32 builds
Builds are failing with an obscure error message

make[3]: Entering directory `/var/lib/builder/source-root/virt-viewer/build/icons'
  GEN    virt-viewer.ico
/bin/sh: -c: command not found
make[3]: *** [virt-viewer.ico] Error 127

This is because configure.ac does not enforce that icotool
is present on Win32.

* configure.ac: Mandate windres & icotool on Win32
2012-04-05 12:07:09 +01:00
Marc-André Lureau
81c2c3bfec build-sys: use git.mk to generate gitignore
This makefile is just fantastic, it forces you into good practices,
support various build targets (my windows builddir ignore the right
files etc..)

The more I use it, the more I like it.
2012-03-30 14:48:13 +02:00
Marc-André Lureau
902b9a71e2 win32: add a few Windows sepecific data
Add application icon and manifest
2012-03-30 14:48:13 +02:00
Marc-André Lureau
b6a7a921a3 Make sure we call g_thread_init()
GThread is needed by spice-gtk
2012-03-09 19:01:35 +01:00
Daniel P. Berrange
df404090ff Fix libvirt/SPICE min versions
We require libvirt >= 0.9.7 to get virDomainOpenGraphics

We require spice-gtk >= 0.11 to get the fix for dealing with
authentication over an SSH tunnel

We requires spice-protocol >= 0.10.1 to get a constant
required by USB redirection
2012-03-09 13:36:22 +00:00
Marc-André Lureau
810d18c956 build: fix autogen message
When running ./autogen.sh on a pristine git checkout, I got:

libtoolize: Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.ac and
libtoolize: rerunning libtoolize, to keep the correct libtool macros in-tree.
You should add the contents of '/usr/share/aclocal/intltool.m4' to 'aclocal.m4'.
2012-03-07 20:42:43 +01:00
Marc-André Lureau
1a82b225b6 Prepare for release 0.5.2 2012-03-01 16:37:23 +01:00
Marc-Andre Lureau
2c9cdb6fb9 remote-viewer: support spice foreign menu 2012-03-01 15:17:25 +01:00
Marc-André Lureau
9a322010a3 spice: fix connecting via ssh to a password-protected server
spice_session_connect() will attempt to connect directly to the
server, we need to continue calling spice_session_open_fd() for ssh
tunnel to work.
2012-03-01 15:15:02 +01:00
Marc-André Lureau
e2082caa0a remote-viewer: add smartcard controller message 2012-02-22 16:45:11 +01:00