Bug 248308

Summary: Missing library dependancy for python-musicbrainz2 (libdiscid)
Product: [Fedora] Fedora Reporter: Kyle VanderBeek <kylev.fedora>
Component: python-musicbrainz2Assignee: Jeffrey C. Ollie <jeff>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: low    
Version: 7CC: alexl, kwizart, kylev
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
URL: http://musicbrainz.org/doc/libdiscid
Whiteboard:
Fixed In Version: 0.5.0-1.fc7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-11-20 12:51:17 EST Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Bug Depends On: 384191    
Bug Blocks:    
Attachments:
Description Flags
Proposed spec file for the library. none

Description Kyle VanderBeek 2007-07-15 15:46:14 EDT
Description of problem:

python-musicbrainz2 depends on the libdiscid library, but there is no dependency
in it nor is there even a RPM for libdiscid available in Fedora 7.  The
dependency is somewhat obscured due to the use of ctypes in python-musicbrainz2,
so its an easy mistake to make.

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

python-musicbrainz2-0.4.1-1.fc7

How reproducible:

Always.

Steps to Reproduce:

python
[GCC 4.1.2 20070403 (Red Hat 4.1.2-8)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import musicbrainz2.disc
>>> musicbrainz2.disc.readDisc()
  
Actual results:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.5/site-packages/musicbrainz2/disc.py", line 171, in
readDisc
    libDiscId = _openLibrary()
  File "/usr/lib/python2.5/site-packages/musicbrainz2/disc.py", line 70, in
_openLibrary
    raise NotImplementedError('Error opening library: ' + str(e))
NotImplementedError: Error opening library: libdiscid.so.0: cannot open shared
object file: No such file or directory

Expected results:

Successful opening of CD TOC and the return of a MusicBrainz disc ID data structure.

Additional info:

We need a libdiscid RPM, and need to add a dependency in the python-musicbrainz2
build.
Comment 1 Kyle VanderBeek 2007-07-15 16:11:40 EDT
Created attachment 159281 [details]
Proposed spec file for the library.

Here is a quick spec file that seems to work ok.  You'll still have to add the
"Requires" to python-musicbrainz2.spec and rev it.
Comment 2 Kyle VanderBeek 2007-07-15 16:15:00 EDT
Marking this as "high" since a great deal of the python library's functionality
is unavailable without the associated C library.
Comment 3 Kyle VanderBeek 2007-07-15 17:07:08 EDT
Actually, it looks like libmusicbrainz lacks the CD identifying functionality as
well.  It should "BuildRequires" libdiscid-devel and "Requires" libbdiscid to
get full functionality.

If you need a proper test case, let me know.
Comment 4 Jeffrey C. Ollie 2007-07-17 11:44:20 EDT
Kyle, it looks like you've done a pretty good job putting the spec for libdiscid
together.  Have you looked into becoming a Fedora contributor yourself?  I don't
have a lot of time right now to run another package through the review process.

http://fedoraproject.org/wiki/PackageMaintainers/Join
Comment 5 Nicolas Chauvet (kwizart) 2007-11-14 09:24:47 EST
Will someone plan to submit libdiscid for review ?
(optionally needed for #382101 )
Comment 6 Kyle VanderBeek 2007-11-14 13:19:17 EST
I currently don't have time to go through the work to become a Fedora
contributor; I'm staying in bug writing and external contributions mode.  It'll
need an internal sponsor.
Comment 7 Alex Lancaster 2007-11-15 04:30:54 EST
Package review of libdiscid filed: bug #384191.  Once this is approved, we
should update the python-musicbrainz2 package to Requires: libdiscid.  Picard
will then get the libdiscid package indirectly because it depends on
python-musicbrainz2

Does python-musicbrainz2 also need the devel package at build-time? i.e.
BuildRequires: libdiscid-devel ?  From comment #3, it looks like it should also
be added as a  BuildRequires: libdiscid-devel  there (I'll file a separate bug
on that).
Comment 8 Alex Lancaster 2007-11-15 04:58:17 EST
Separate bug #384251 for libmusicbrainz2 filed.

Jeffrey: once libdiscid is available, could you (or give me permission) to
rebuild  python-musicbrainz2 with a new "Requires: libdiscid" across the F-7,
F-8 and devel?
Comment 9 Jeffrey C. Ollie 2007-11-15 09:30:54 EST
(In reply to comment #8)
> Separate bug #384251 for libmusicbrainz2 filed.
> 
> Jeffrey: once libdiscid is available, could you (or give me permission) to
> rebuild  python-musicbrainz2 with a new "Requires: libdiscid" across the F-7,
> F-8 and devel?

Sure, what's your FAS username?  I'll add you as co-maintainer.
Comment 10 Alex Lancaster 2007-11-15 16:36:52 EST
(In reply to comment #9)

> Sure, what's your FAS username?  I'll add you as co-maintainer.

alexlan 

Comment 11 Fedora Update System 2007-11-17 00:31:17 EST
python-musicbrainz2-0.5.0-1.fc8 has been pushed to the Fedora 8 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 python-musicbrainz2'
Comment 12 Fedora Update System 2007-11-17 00:37:17 EST
python-musicbrainz2-0.5.0-1.fc7 has been pushed to the Fedora 7 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 python-musicbrainz2'
Comment 13 Fedora Update System 2007-11-20 12:51:16 EST
python-musicbrainz2-0.5.0-1.fc7 has been pushed to the Fedora 7 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 14 Fedora Update System 2007-11-20 12:59:43 EST
python-musicbrainz2-0.5.0-1.fc8 has been pushed to the Fedora 8 stable repository.  If problems still persist, please make note of it in this bug report.