RPM

rpmbuild should error and/or toss out EMPTY provides/requires/conflicts/obsoletes entries

Bug #637207 reported by Jeff Johnson
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
RPM
New
Undecided
Unassigned
CentOS
Fix Released
Unknown
Fedora
Fix Released
Medium

Bug Description

tracker

Revision history for this message
In , Anders (anders-redhat-bugs) wrote :

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.

Revision history for this message
In , Peter (peter-redhat-bugs) wrote :

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

Revision history for this message
In , Anders (anders-redhat-bugs) wrote :

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)

Revision history for this message
In , Peter (peter-redhat-bugs) wrote :

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]$

Revision history for this message
In , Peter (peter-redhat-bugs) wrote :

BTW is there a command line equivalent of find-requires?

Revision history for this message
In , Anders (anders-redhat-bugs) wrote :

(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

Revision history for this message
In , Peter (peter-redhat-bugs) wrote :

This has been reported upstream but I'm yet to get a response.

Revision history for this message
In , Peter (peter-redhat-bugs) wrote :

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.

Revision history for this message
In , Fedora (fedora-redhat-bugs) wrote :

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

Revision history for this message
In , Anders (anders-redhat-bugs) wrote :

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>

Revision history for this message
In , Peter (peter-redhat-bugs) wrote :

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?

Revision history for this message
In , Anders (anders-redhat-bugs) wrote :

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.

Revision history for this message
In , Peter (peter-redhat-bugs) wrote :

Fixed in F-10 in opal-3.4.4-4.fc10

Jeff Johnson (n3npq)
tags: added: deps rpm.org rpmbuild
tags: added: autodeps
removed: deps
Changed in centos:
status: Unknown → Confirmed
Changed in centos:
status: Confirmed → Fix Released
Changed in fedora:
importance: Unknown → Medium
status: Unknown → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.