Commit Graph

977 Commits

Author SHA1 Message Date
Marc-André Lureau
668c52775f wixl: use a versionized installation directory
It turned out that not only the current MSI broke the "component rule",
but also that our files are not versionized correctly. Windows Installer
applies some file versioning rules before replacing a file
http://msdn.microsoft.com/en-us/library/aa368599%28v=vs.85%29.aspx

Since msitools doesn't extract version from files and populate the Version
field of the File table, it "usually" keep the current file installed.

It's practically impossible to rely on version information from
files (from a quick look, only 5% of the files are versionized and even
less correctly, libgcrypt seems to do non-monotonic buildid for example)

So the rule that applies when files are not versionized is to check the
file hash, and the modified date. File hash was added recently in
msitools, but doesn't apply when the installed file itself has a
version.

In order to solve the above problems, it's simpler to just have a
different installation prefix. Windows Installer will see files with
different component guid, and won't be checking any file update rule.  I
have verified the upgrade is working, not leaving any file behind and
updating registry correctly with this solution. Until the files are
correctly versionized, it looks like the only sensible thing to
do. Furthermore, this make it simpler to have several versions installed
in parallel later on (when we change productid)
2015-01-12 17:04:46 +00:00
Daniel P. Berrange
29f2d8a8e8 Update LINGUAS file from translation refresh 2015-01-12 11:29:33 +00:00
Daniel P. Berrange
625677c589 Tweak autobuild.sh to facilitate release builds 2015-01-12 11:27:56 +00:00
Daniel P. Berrange
675e47f0b4 Refresh translations from transifex 2015-01-12 11:25:52 +00:00
Daniel P. Berrange
a2a38b2721 Add deps on mingw glib-networking RPMs needed by libsoup 2015-01-09 11:13:30 +00:00
Daniel P. Berrange
d7e524fa75 Update mingw RPM deps to refer to gstreamer1 2015-01-09 10:51:45 +00:00
Daniel P. Berrange
83d0ea485e Fix typo s/SPICE_GTK3_REQUIRED/SPICE_GTK_REQUIRED/
There is no separate version constant for SPICE GTK2 vs GTK3
2015-01-08 18:05:53 +00:00
Fabiano Fidêncio
a51c70771a virt-viewer: set transient parent for connection's error dialog
Commit c3d24f8b sets transient parent for the most part of the
GtkDialogs, but seems like this one was forgotten.
2015-01-08 16:13:35 +01:00
Christophe Fergeau
5a07c59e8f virt-viewer: Don't connect to localhost displays with qemu+tcp://
When connecting to a remote libvirt instance, a VM may only be listening
on localhost for SPICE/VNC connections. In such a situation, virt-viewer
then tries to connect to localhost, which is not correct as this
'localhost' referred to the remote libvirt host it connected to.
This commit adds a couple of tests on the libvirt URI used and the
<graphics> listen address to error out in this situation.

Resolves: rhbz#1108523
2015-01-06 15:38:09 -06:00
Jonathon Jongsma
c2eb85c712 Remove 'map' handler for VirtViewerDisplay
In order to solve several problems with sizing and resizing displays, a
'map' handler was added to VirtViewerDisplay. The first time the map
handler runs, its queues a resize to attempt to ensure that the window
gets created at its desired size. Subsequent map events generate a call
to _make_resizable(), which was an attempt to ensure that the window was
always 'shrinkable' on the Microsoft Windows platform. Recent testing
suggests that this _make_resizable() is not actually necessary on
Windows anymore, since it is possible to shrink the display even when
this call is removed.

In addition, the call to _queue_resize() is a bit of an indirect
solution to the problem of ensuring the proper size at startup. What we
really want is to guarantee that the very first size request negotiation
returns the desired size rather than the minimum size. In order to do
this, we've added a flag to determine whether we've ever received a size
request, and if not, we return our desired size, even if 'dirty' is not
set.
2015-01-06 09:13:50 -06:00
Fabiano Fidêncio
f05f30d7de spec: Update mingw in order to use gstreamer1 2015-01-05 23:28:26 +01:00
Victor Toso
3bbf1ded1c nsis: use gstreamer-1.0 instead of gstreamer-0.10
Spice-gtk now is able to use gstreamer-1.0 for playback and record
audio. This patch updates the installer to use the latest version.
2015-01-05 23:28:26 +01:00
Christophe Fergeau
719352e608 win: Use correct format string for intptr_t
Using %d as a format-specifier for intptr_t causes a warning with
mingw64:
virt-viewer-events.c: In function 'virt_viewer_events_add_handle':
virt-viewer-events.c:103:5: warning: format '%d' expects argument of
type 'int', but argument 5 has type 'intptr_t' [-Wformat=]
     g_debug("Converted fd %d to handle %d", fd, _get_osfhandle(fd));
2015-01-02 13:49:05 +01:00
Fabiano Fidêncio
ca1dac5ba9 spec: Update mingw in order to use ovirt 2014-12-23 00:57:44 +01:00
Fabiano Fidêncio
25a236473a spec: Update mingw in order to use gtk3 2014-12-23 00:55:58 +01:00
Fabiano Fidêncio
2cbfd08b09 nsis: use gtk-vnc conditionally
Only include gtk-vnc as dep when it's explicitly done in the configure.
2014-12-23 00:42:05 +01:00
Fabiano Fidêncio
c7cbf57efc nsis: use spice-gtk conditionally
Only include spice-gtk as dep when it's explicitly done in the configure.
2014-12-23 00:42:05 +01:00
Fabiano Fidêncio
979eab69f2 nsis: use libgovirt conditionally
Only include libgovirt as dep when it's explicitly done in the configure.
2014-12-23 00:42:02 +01:00
Fabiano Fidêncio
6baccb2b78 nsis: add missing file needed to use virsh.exe 2014-12-23 00:40:37 +01:00
Fabiano Fidêncio
5159956305 nsis: use libvirt conditionally
Only include libvirt as dep when it's explicitly done in the configure.
2014-12-23 00:40:05 +01:00
Fabiano Fidêncio
de700d09ef msi: use gtk-vnc conditionally
Only include gtk-vnc as dep when it's explicitly done in the configure.
2014-12-21 22:52:49 +01:00
Fabiano Fidêncio
57c4ebcaad msi: use spice-gtk conditionally
Only include spice-gtk as dep when it's explicitly done in the configure.
2014-12-21 22:50:06 +01:00
Fabiano Fidêncio
b8b64e67dc msi: use libgovirt conditionally
Only include libgovirt as dep when it's explicitly done in the configure.
2014-12-21 22:47:56 +01:00
Fabiano Fidêncio
befd4608e4 msi: use libvirt conditionally
Only include libvirt as dep when it's explicitly done in the configure.
2014-12-21 22:42:06 +01:00
Fabiano Fidêncio
dba01112e8 cosmetic: use $(VAR) instead of ${VAR} 2014-12-21 22:36:07 +01:00
Pavel Grunt
c3d24f8bb6 Set a transient parent for GtkDialogs
Silence the Gtk 3.14 message:
"GtkDialog mapped without a transient parent. This is discouraged."
2014-12-19 17:39:53 +01:00
Marc-André Lureau
7e4921f161 msi/nsis: fix keyboard-shortcuts icon location
The /usr/share/icons/gnome icon theme location has been replaced with
Adwaita in f21, fix the path.
2014-12-15 18:11:33 +01:00
Fabiano Fidêncio
c3179a4c69 msi: add gtk3 support
Add support to build the virt-viewer's msi using GTK3.
For the GTK3 build, in order to provide all used icons for Windows
systems we have to include manually all the icons we want to or add
adwaita-icon-theme as dependency. I've decided to go with the first
approach, what can be improved when we have "foreach" support in
msitools (https://bugzilla.gnome.org/show_bug.cgi?id=741296).
2014-12-15 17:36:10 +01:00
Fabiano Fidêncio
ee1ad5797d msi: add libgovirt as dependency
libgovirt is used to provide support to foreign menu using ovirt.
2014-12-15 17:36:10 +01:00
Fabiano Fidêncio
0fd0ccc129 nsis: add missing 24x24 icons 2014-12-15 17:36:10 +01:00
Fabiano Fidêncio
4db8e8f67f nsis: add gtk3 support
Add support to build the virt-viewer's nsis using GTK3.
2014-12-15 17:36:10 +01:00
Fabiano Fidêncio
59019cc4a3 nsis: remove $INSTDIR\etc 2014-12-15 17:36:10 +01:00
Fabiano Fidêncio
c46f42eafc nsis: remove $INSTDIR\etc\libvirt 2014-12-15 17:36:10 +01:00
Fabiano Fidêncio
6bd9b280b5 nsis: remove dup entries 2014-12-15 17:36:10 +01:00
Fabiano Fidêncio
80601c6131 nsis: add libgovirt (and its dependencies)
libgovirt is used to provide support to foreign menu using ovirt.
2014-12-15 17:36:10 +01:00
Fabiano Fidêncio
69aed2eb9f nsis: add libwinpthread-1.dll
libwinpthread-1.dll is a dependency of libvirt
2014-12-15 17:36:10 +01:00
Fabiano Fidêncio
0202f83c7a nsis: add libopus-0.dll
libopus-0.dll is a dependency of spice-glib
2014-12-15 17:36:10 +01:00
Fabiano Fidêncio
8dbefb1aca nsis: add libnettle-4-7.dll (and its dependencies)
libgcc_s_sjlj-1 is needed by libgmp (on x86)
libgcc_s_seh-1 is needed by libgmp (on x86_64s)
libgmp-10.dll is needed by libnettle
libhogweed-2-5.dll is provided by libnettle
libnettle-4-7.dll is needed by gnutls
gnutls is needed by gvnc and libvirt

An interesting point here that worth to mention is the usage of /nonfatal
when including libgcc_s_{sjlj,seh}-1.dll. As we only have the _seh in x64
the build breaks trying to add "not found" files. A check for arch was
one option to solve the problem, but _sjlj may exist in x64 as well, when
using an old gcc. An explicit check if the file exists (in compile time)
was another idea, but for some reason the "-" part of the filename was
interpreted as a math operand, breaking the build.
With all that in mind, adding /nonfatal was the most convenient solution.
2014-12-15 17:36:09 +01:00
Fabiano Fidêncio
a5b8266295 nsis: update libgnutls version
Use version -28 instead of -26, matching what currently is in f21.
2014-12-15 17:36:09 +01:00
Fabiano Fidêncio
cf6b2c5695 nsis: update libtasn1 version
Use version -6 instead of -3, matching what currently is in f21.
2014-12-15 17:36:09 +01:00
Fabiano Fidêncio
a58a1885c0 nsis: update libpng version
Use libpng15-15 instead of libpng16-16, matching what currently is in
f21.
2014-12-15 17:36:09 +01:00
Fabiano Fidêncio
df4450112a nsis: update libgcrypt version
Use version -20 instead of -11, matching what currently is in f21.
2014-12-15 17:36:09 +01:00
Pavel Grunt
68148e1bd1 display-vnc: fix zoom-level set by command line
Setting the zoom-level using the command line option '--zoom' is not
working for vnc guests. This problem can be solved by emitting
the "display-desktop-resize" signal when vnc is initialized.

https://bugzilla.redhat.com/show_bug.cgi?id=1170071
2014-12-10 14:11:57 +01:00
Marc-André Lureau
824c4b9c0d Do not show twice error dialog when no VM are found
When running virt-viewer without argument, and no VM are found, you get
two error dialogs. Only one is enough.
2014-12-01 11:09:14 +01:00
Marc-André Lureau
c0774f725a spice: calling VirtViewerSession:close() can destroy self
SpiceSession in spice-gtk v0.27 will remove channels from session during
disconnect (and not when they are actually disposed). When no channels
are left, session-disconnected is emitted, and the VirtViewerSession
will be unref from the application. Use a weak reference to self to
avoid crashing after calling spice_session_disconnect()

As a workaround for existing clients, spice-gtk v0.27 will defer the
disconnection to idle time.  But the fix still makes sense and would
prevent potentially future issues if spice-gtk changes back to sync
disconnection.

(the alternative of calling ref/unref would needlessly recreate a
SpiceSession with a call to create_spice_session(), which is something
we can avoid when leaving the application)
2014-12-01 11:07:57 +01:00
Marc-André Lureau
3d5627d79a virt-viewer: allow connection to unix socket only server
Even when the server doesn't provide a display connection address,
virt-viewer is able to connect to guest with libvirt attach.
2014-11-25 15:07:32 +01:00
Marc-André Lureau
8addab251e Report error on attach-only display
Provide error details if the display can only be access through libvirt
--attach method.
2014-11-25 13:00:50 +01:00
Marc-André Lureau
1eaaf8c3ab Report error in dialog
Use a UI dialog to inform of connection error.
2014-11-25 13:00:50 +01:00
Marc-André Lureau
6100d08dd3 Simplify virt_viewer_initial_connect()
- do not overwrite err if ->initial_connect() sets it
- remove need for waitvm if the display server isn't yet started (note:
  this function might be untested, I am not sure relying on libvirt events
  is enough)
2014-11-25 13:00:50 +01:00
Marc-André Lureau
9e2f9ea064 Simplify virt_viewer_initial_connect()
- remove need for waitvm if the display server isn't yet started (note:
  this function might be untested, I am not sure relying on libvirt events
  is enough)
2014-11-25 13:00:50 +01:00