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.
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
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)
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]$
BTW is there a command line equivalent of find-requires?
(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
This has been reported upstream but I'm yet to get a response.
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.
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
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>
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?
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.
Fixed in F-10 in opal-3.4.4-4.fc10