[virt-tools-list] [virt-viewer] spec: Update mingw BuildRequires

Christophe Fergeau cfergeau at redhat.com
Tue Dec 16 14:53:34 UTC 2014


On Tue, Dec 16, 2014 at 02:46:58PM +0100, Christophe Fergeau wrote:
> Hey,
> 
> On Tue, Dec 16, 2014 at 01:24:05PM +0000, Daniel P. Berrange wrote:
> > On Tue, Dec 16, 2014 at 02:02:16PM +0100, Christophe Fergeau wrote:
> > > Several new dependencies were added with the recent msi installer
> > > update.
> > > ---
> > >  mingw-virt-viewer.spec.in | 8 ++++++++
> > >  1 file changed, 8 insertions(+)
> > > 
> > > diff --git a/mingw-virt-viewer.spec.in b/mingw-virt-viewer.spec.in
> > > index ea8c20b..599ca8a 100644
> > > --- a/mingw-virt-viewer.spec.in
> > > +++ b/mingw-virt-viewer.spec.in
> > > @@ -24,12 +24,16 @@ Source0:        ftp://virt-manager.org/downloads/virt-viewer/virt-viewer-%{versi
> > >  
> > >  BuildRequires:  mingw32-filesystem >= 23
> > >  BuildRequires:  mingw64-filesystem >= 23
> > > +BuildRequires:  mingw32-glib-networking
> > > +BuildRequires:  mingw64-glib-networking
> > 
> > I'm not seeing any reference to this in our source tree - where is
> > it used ?
> 
> This is what provides
> File "@prefix@/lib/gio/modules/libgiognutls.dll" which is referenced by
> data/virt-viewer.nsis.in


After talking a bit more with Fidencio, the deeper issue here is that
msitools provides .wxi files which need that file. On top of that,
virt-viewer.wxs unconditionally requires various .wxi files (libgovirt,
spice-gtk, gtk-vnc, ...) regardless of what was enabled/disabled at
configure time.
So virt-viewer.wxs unconditionally include libgovirt.wxi, which ends up
trying to include libgiognutls.dll at some point (potentially indirectly
through more <?require>). This causes make msi in mingw-virt-viewer.spec
to fail even though the actual build of virt-viewer.exe works fine
without libgovirt as it's not enabled.

The correct fix(es) here would be for virt-viewer.wxs to only try to
include what is needed by the binary that we just built, and for
msitools to Requires the packages containing the .dlls its .wxi files
need.

Longer term, these .wxi files should go in the corresponding libraries
rather than being shipped by msitools, and one can imagine a script
similar to /usr/lib/rpm/pkgconfigdeps.sh which would automatically add
Provides: wxi(foo)
Requires: mingw32-foo

to packages which ship a .wxi file.

Christophe
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/virt-tools-list/attachments/20141216/7d74b94d/attachment.sig>


More information about the virt-tools-list mailing list