Bug 1121568

Summary: Missing dependency on mingw*-opus
Product: [Fedora] Fedora Reporter: Daniel BerrangĂ© <berrange>
Component: mingw-spice-gtkAssignee: Marc-Andre Lureau <marcandre.lureau>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 20CC: cfergeau, erik-fedora, marcandre.lureau, rjones
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: mingw-spice-gtk-0.23-1.fc20 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-09-30 02:00:12 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Daniel Berrangé 2014-07-21 09:02:31 UTC
Description of problem:
According to the file

$ grep opus /usr/share/wixl-0.93.40-6aec/include/spice*
/usr/share/wixl-0.93.40-6aec/include/spice-glib.wxi:<?require opus.wxi?>
/usr/share/wixl-0.93.40-6aec/include/spice-glib.wxi:      <ComponentGroupRef Id="CG.opus"/>

the SPICE GTK client DLL depends on the opus DLL. The mingw-spice-gtk RPM does indeed have this as a BuildRequires but for some reason the automatic DLL detection does not add a 'Requires: mingw32-opus' as it does for other linked DLLs.

The result is that if you install mingw2-spice-gtk and mistools, you will get build failures due to missing mingw{32,64}-opus RPMs.

It seems either we need to add a manual dependency on mingw*-opus in mingw-spice-gtk RPM spec, or the msitools dependency is bogus ? I'm guessing the former.

make -C .. install DESTDIR=$DESTDIR >/dev/null &&	\
find $DESTDIR | wixl-heat -p $DESTDIR/usr/i686-w64-mingw32/sys-root/mingw/		\
    --component-group CG.virt-viewer --var var.DESTDIR		\
    --directory-ref=INSTALLDIR > virt-viewer-files.wxs &&	\
MANUFACTURER="Virt Manager Project" wixl -D SourceDir=/usr/i686-w64-mingw32/sys-root/mingw	\
             -D DESTDIR=$DESTDIR/usr/i686-w64-mingw32/sys-root/mingw				\
             --arch x86					\
             -o virt-viewer-x86-1.0.msi							\
     virt-viewer.wxs virt-viewer-files.wxs &&				\
rm -rf $DESTDIR virt-viewer-files.wxs
make[2]: warning: jobserver unavailable: using -j1.  Add `+' to parent make rule.
make[2]: warning: jobserver unavailable: using -j1.  Add `+' to parent make rule.
make[2]: warning: jobserver unavailable: using -j1.  Add `+' to parent make rule.
make[2]: warning: jobserver unavailable: using -j1.  Add `+' to parent make rule.
make[2]: warning: jobserver unavailable: using -j1.  Add `+' to parent make rule.
Couldn't find file /usr/i686-w64-mingw32/sys-root/mingw/bin/libopus-0.dll
make: *** [virt-viewer-x86-1.0.msi] Error 1
make: Leaving directory `/home/berrange/rpmbuild/BUILD/virt-viewer-1.0/build_win32/data'



Version-Release number of selected component (if applicable):
mingw32-spice-gtk-0.22-1.fc20.noarch
msitools-0.93.40-1.fc20.x86_64

Comment 1 Marc-Andre Lureau 2014-07-21 09:35:35 UTC
(In reply to Daniel Berrange from comment #0)
> the SPICE GTK client DLL depends on the opus DLL. The mingw-spice-gtk RPM
> does indeed have this as a BuildRequires but for some reason the automatic
> DLL detection does not add a 'Requires: mingw32-opus' as it does for other
> linked DLLs.

That could be the bug. I have the feeling we are missing a ton of Requires: in the %package sections

> The result is that if you install mingw2-spice-gtk and mistools, you will
> get build failures due to missing mingw{32,64}-opus RPMs.
> 
> It seems either we need to add a manual dependency on mingw*-opus in
> mingw-spice-gtk RPM spec, or the msitools dependency is bogus ? I'm guessing
> the former.

Yes

Comment 2 Erik van Pienbroek 2014-07-21 17:31:43 UTC
I took a quick look at it (more specifically mingw-spice-gtk-0.23-2.fc21, http://koji.fedoraproject.org/koji/buildinfo?buildID=527223) and I don't really see what's going wrong. Here's the dependency tree:

The package mingw32-spice-gtk-0.23-2.fc21.noarch.rpm requires mingw32(libspice-client-glib-2.0-8.dll).
  which is provided by mingw32-spice-glib-0.23-2.fc21.noarch.rpm
    which requires mingw32(libopus-0.dll)
      which is provided by mingw32-opus-1.1-2.fc21.noarch

So by installing mingw32-spice-gtk the mingw32-opus package should also get installed automatically

Comment 3 Daniel Berrangé 2014-07-22 08:42:24 UTC
You're looking at Fedora 21, but I reported this against Fedora 20 where mingw32-spice-glib does not have this dependency

$ rpm -q mingw32-spice-glib --requires | grep opus
$

Comment 4 Erik van Pienbroek 2014-07-22 17:58:55 UTC
The latest f20 package (mingw-spice-gtk-0.23-1.fc20) does have the dependency according to http://koji.fedoraproject.org/koji/rpminfo?rpmID=4801751
However, this package was only built for f20 and is not submitted as f20 update so it isn't available yet in the f20-updates yum repository.

Marc-Andre: to make package updates available in released Fedora versions, you have to create an update at https://admin.fedoraproject.org/updates

Comment 5 Marc-Andre Lureau 2014-07-23 11:03:10 UTC
(In reply to Erik van Pienbroek from comment #4)
> Marc-Andre: to make package updates available in released Fedora versions,
> you have to create an update at https://admin.fedoraproject.org/updates

right, either I forgot, or I had this error that I am getting now:
mingw-spice-gtk-0.23-1.fc20 not tagged as an update candidate

any idea? Shoud I try to do a new build?

Comment 6 Erik van Pienbroek 2014-07-23 11:15:56 UTC
You should be able to resolve that by running this command first:
koji tag-build f20-updates-candidate mingw-spice-gtk-0.23-1.fc20

Comment 7 Fedora Update System 2014-07-23 11:54:18 UTC
mingw-spice-gtk-0.23-1.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/mingw-spice-gtk-0.23-1.fc20

Comment 8 Fedora Update System 2014-07-24 03:20:54 UTC
Package mingw-spice-gtk-0.23-1.fc20:
* should fix your issue,
* was pushed to the Fedora 20 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing mingw-spice-gtk-0.23-1.fc20'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2014-8755/mingw-spice-gtk-0.23-1.fc20
then log in and leave karma (feedback).

Comment 9 Erik van Pienbroek 2014-09-28 14:46:03 UTC
@Marc-Andre Lureau: the update is still waiting on your approval before it can be pushed to the f20-updates repository: https://admin.fedoraproject.org/updates/FEDORA-2014-8755/mingw-spice-gtk-0.23-1.fc20

Comment 10 Christophe Fergeau 2014-09-29 09:04:58 UTC
I've marked it as stable now.

Comment 11 Fedora Update System 2014-09-30 02:00:12 UTC
mingw-spice-gtk-0.23-1.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.