Bug 473084

Summary: opal has empty Provides
Product: [Fedora] Fedora Reporter: Anders F Björklund <afb>
Component: opalAssignee: Daniel Veillard <veillard>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: 10CC: mclasen, pbrobinson, stickster, veillard
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: opal-3.4.4-4.fc10 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-02-18 10:19:51 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Anders F Björklund 2008-11-26 14:56:33 UTC
Description of problem:

RPM has empty Provides, i.e. a rpm provides with a name=""

Version-Release number of selected component (if applicable):

opal-3.4.2-1.fc10

How reproducible:

Package is wrong

Steps to Reproduce:
1. rpm -qp --xml opal-3.4.2-1.fc10.i386.rpm
  
Actual results:

rpmTag name="Providename">
 <string/>
 <string>g726</string>
 <string>gsm0610</string>

Expected results:

rpmTag name="Providename">
 <string>g726</string>
 <string>gsm0610</string>

Additional info:

Trying to add "Provides:" to a .spec causes a build error,
so it must be some automatic provides that has gone wrong.

Comment 1 Peter Robinson 2008-11-26 17:07:13 UTC
Is this not a bug in the rpm build process then for allowing a blank provides? On a 64 bit platform it just provides the tail.

$ rpm -q --provides opal
()(64bit)  
g726()(64bit)  
gsm0610()(64bit)  
gsmamrcodec()(64bit)  
h261-vic()(64bit)  
h263-ffmpeg()(64bit)  
ima_adpcm()(64bit)  
libopal.so.3.4.2()(64bit)  
lpc10()(64bit)  
speexcodec()(64bit)  
theora()(64bit)  
vpb()(64bit)  
opal = 3.4.2-1.fc10
opal(x86-64) = 3.4.2-1.fc10

Comment 2 Anders F Björklund 2008-11-26 17:10:45 UTC
usr/lib/opal-3.4.2/codecs/audio/ilbc_audio_pwplugin.so
has a blank SONAME, which is why the find-requires fails

This seems to be due to a Makefile problem in iLBC:
LDSO            =-shared -Wl,-soname,$(SONAME)

Comment 3 Peter Robinson 2008-11-26 17:17:41 UTC
The Makefile.in for a number of the audio codecs all have the same LDSO line in them so surely it would be an issue for all of them then.

[perobinson@neo G726]$ !gr
grep LDSO *
Makefile.in:LDSO		=@LDSO@
Makefile.in:	$(CC) $(LDSO) $@ -o $@ $^ $(EXTRALIBS)
Makefile.in:	$(CC) $(LDSO) -o $@ $^ $(EXTRALIBS)
[perobinson@neo G726]$ cd ../GSM0610/
[perobinson@neo GSM0610]$ !gr
grep LDSO *
Makefile.in:LDSO	 	=@LDSO@
Makefile.in:	$(CC) $(LDSO) $@ -o $@ $^ $(EXTRALIBS)
Makefile.in:	$(CC) $(LDSO) -o $@ $^ $(EXTRALIBS)
[perobinson@neo GSM0610]$ cd ../iLBC/
[perobinson@neo iLBC]$ !g
grep LDSO *
Makefile.in:LDSO	 	=@LDSO@
Makefile.in:	$(CC) $(LDSO) $@ -o $@ $^
Makefile.in:	$(CC) $(LDSO) -o $@ $^
[perobinson@neo iLBC]$

Comment 4 Peter Robinson 2008-11-26 17:19:52 UTC
BTW is there a command line equivalent of find-requires?

Comment 5 Anders F Björklund 2008-11-26 18:08:59 UTC
(In reply to comment #3)
> The Makefile.in for a number of the audio codecs all have the same LDSO line in
> them so surely it would be an issue for all of them then.

Sorry, I meant that that particular codec doesn't define SONAME.

And this in turn causes make to write an .so with a blank SONAME

Comment 6 Peter Robinson 2009-01-29 03:08:25 UTC
This has been reported upstream but I'm yet to get a response.

Comment 7 Peter Robinson 2009-02-02 08:03:54 UTC
I have a fix for this and it will be in the next opal release that will be pushed out shortly along with other fixes.

Comment 8 Fedora Update System 2009-02-05 02:22:15 UTC
ekiga-3.0.2-2.fc10, opal-3.4.4-4.fc10, ptlib-2.4.4-2.fc10 has been pushed to the Fedora 10 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update ekiga opal ptlib'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F10/FEDORA-2009-1363

Comment 9 Anders F Björklund 2009-02-05 12:13:32 UTC
Well, it's not empty but it seems to have duplicate Provides now ? (lpc10)

  <rpmTag name="Providename">
        <string>g726</string>
        <string>gsm0610</string>
        <string>gsmamrcodec</string>
        <string>h261-vic</string>
        <string>h263-ffmpeg</string>
        <string>iLBC</string>
        <string>ima_adpcm</string>
        <string>libopal.so.3.4-beta4</string>
        <string>lpc10</string>
        <string>lpc10</string>
        <string>speexcodec</string>
        <string>theora</string>
        <string>vpb</string>
        <string>opal</string>
        <string>opal(x86-32)</string>
  </rpmTag>

Comment 10 Peter Robinson 2009-02-05 12:20:42 UTC
Hmm. I don't see that here 

[root@neo ~]# rpm -q --provides opal | sort
g726()(64bit)  
gsm0610()(64bit)  
gsmamrcodec()(64bit)  
h261-vic()(64bit)  
h263-ffmpeg()(64bit)  
iLBC()(64bit)  
ima_adpcm()(64bit)  
libopal.so.3.4-beta4()(64bit)  
lpc10()(64bit)  
opal = 3.4.4-2.fc10
opal(x86-64) = 3.4.4-2.fc10
speexcodec()(64bit)  
theora()(64bit)  
vpb()(64bit)  

And the fix was put into ilbc not lpc. How did you generate the above list?

Comment 11 Anders F Björklund 2009-02-05 12:29:50 UTC
rpm -qp --xml opal-3.4.4-4.fc10.i386.rpm
i.e. the same way as the original report

But maybe it was just false alarm then.

Comment 12 Peter Robinson 2009-02-18 10:19:51 UTC
Fixed in F-10 in opal-3.4.4-4.fc10