Commit Graph

21 Commits

Author SHA1 Message Date
Daniel P. Berrangé
7bea22aece msi: record full build environment in MSI installer
For proper compliance with the GPL and other licenses we need to be
clear about exactly what toolchain and dependent packages we used in
order to build the MSI installer we distribute.

Historically we've done this by including a "deps.txt" file which
provides a list of all the mingw{32,64}-* RPMs on the host system.

This is not sufficient information, however, because the build system
will in fact use various native packages too from the toolchain too,
notably including any program run by "configure" which covers various
shell utilities, and pkg-config, and then of course make & msitools
itself.

Rather than try to figure out which subset of host RPMs are used,
just list every single host RPM that is installed.

A key implication of this is that formal release builds should always
be done in a pristine build root populated with the minimal content
required for the build.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2019-02-19 14:59:18 +00:00
Marc-André Lureau
140cb84c25 remote-viewer: remove --spice-controller
spice controller interface is being removed from spice-gtk.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Victor Toso <victortoso@redhat.com>
2017-11-16 17:04:05 +01:00
Fabiano Fidêncio
ad40386fa2 msi: Depend on mingw-adwaita-icon-theme
Instead of maintain a file which includes every single icon that we use
from adwaita-icon-theme (adwaita-icons-needed.wxi.in), let's depend on
mingw-adwaita-icon-theme directly.
It reduces considerably the maintainability and the risk to have missing
icons. Although, the size of the final binary gets increased from ~35MB
to ~50MB.

Resolves: rhbz#1301064
Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com>
Acked-by: Christophe Fergeau <cfergeau@redhat.com>
2016-05-03 08:04:23 +02:00
Fabiano Fidêncio
ce0c17b4f5 wxi: virt-viewer depends on libvirt-glib
Since 51ce01d virt-viewer depends again on libvirt-glib.

Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com>
Acked-by: Eduardo Lima (Etrunko) <etrunko@redhat.com>
Acked-by: Victor Toso <victortoso@redhat.com>
2016-02-25 22:18:53 +01:00
Fabiano Fidêncio
69e29aca56 msi: use the correct id for remote-viewer.exe
As, in theory, file ids are stables, seems that we have been using the
wrong id for remote-viewer.exe (not sure if since forever or if the path
changed).
That's what msidump shows:

ffidenci@cat ~/src/upstream/virt-viewer/dump $ grep "fil808B4A5BAB4ACD727D3823632E798743" File.idt
ffidenci@cat ~/src/upstream/virt-viewer/dump $ grep "fil808B4A5BAB4ACD727D3823632E798743" Registry.idt
reg29E29C5608128A0192FB9DC3C18562A6 0
VirtViewer.vvfile\shell\open\command
"[#fil808B4A5BAB4ACD727D3823632E798743]" "%1"   CProgIds
ffidenci@cat ~/src/upstream/virt-viewer/dump $ grep "remote-viewer.exe" File.idt
fil610DF9E49759B1DEC646290195F96F8A cmp7677A8696936707272DCA43B1BF26760
remote-viewer.exe   855735          512 837

So, let's use the correct id (fil610DF9E49759B1DEC646290195F96F8A) from
now on.

Related: rhbz#1146016
2015-10-08 16:43:16 +02:00
Fabiano Fidêncio
097e1f6c51 msi: {virt,remote}-viewer depends on libxml2
Currently libxml2 is pulled as an indirect dependency when virt-viewer
is built with support to ovirt or libvirt (pulled by rest or libvirt,
respectively). However, {virt,remote}-viewer itself depends on libxml2
and not having it as an explicit dependency will cause errors on opening
remote-viewer when it is built without support to ovirt/libvirt.
2015-10-06 23:06:23 +02:00
Fabiano Fidêncio
03c014cb38 msi: drop gtk2 support
As virt-viewer builds for Windows are using GTK3 nowadays, we can easily
drop GTK2 support and avoid maintenance effort in something that is not
used/tested anymore.
2015-06-23 17:39:04 +02:00
Sandy Stutsman
2088585143 Add InstallScope="perMachine" to virt-viewer.wxs.in
Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=1146016
Without this parameter the installer will place the start menu icon in the
Admin users path rather than the 'AllUsers'.  Unprivileged users are unable
to use the menu to start the remote-viewer.

N.B. Because previous installations mixed Users and PerMachine (AllUsers)
paths, this installation will *NOT* properly upgrade them.  They must be
manually uninstalled first.
2015-06-10 13:55:23 +02:00
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
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
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
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
Marc-André Lureau
460a463c81 wxs: add usb.ids and keyboard-shortcuts.png 2013-07-30 21:05:14 +02:00
Marc-André Lureau
29f7ee33ca msi: build correct 64-bit msi 2013-04-15 16:46:48 +02:00
Marc-André Lureau
d5daa55fe8 msi: fix icon location 2013-04-15 16:46:48 +02: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