abcde depends on www/p5-WebService-MusicBrainz0 (currently version 0.94 in ports), but the installed script 'abcde-musicbrainz-tool' in the abcde port/pkg depends on www/p5-WebService-MusicBrainz (currently version 1.03 in ports; script requires 1.04, so www/p5-WebService-MusicBrainz would also need to be updated). The two versions of p5-WebService-MusicBrainz conflict with each other. It's likely that when the script was added to the port in November 2017, its dependencies were inadvertently forgotten. These are: p5-Digest-SHA p5-MusicBrainz-DiscID p5-WebService-MusicBrainz p5-Getopt-Long p5-Pod-Usage They should be added to the port's dependencies, and the conflict with www/p5-WebService-MusicBrainz0 resolved. Note: the script 'abcde-musicbrainz-tool' is used when configuring abcde to use MusicBrainz as the CDDBMETHOD (ie - instead of CDDB).
Minor mistake - those are runtime dependencies for the script, not build dependencies.
Created attachment 192795 [details] Proposed patch
Hello, you are right. But www/p5-WebService-MusicBrainz0 was needed in November, since the support for 1.x was added with 2.9.x. I updated the dependency and added also the missing ones you described. Attached a patch with all the changes. Since i'm no longer using the software and will step down as maintainer: can you please test my changes? And do you have interest in becoming the maintainer? ;) Thank you for the PR! Greetings, Torsten
I've applied the patch and rebuilt the port and its dependencies. I get the following when I run 'abcde' with no parameters: # abcde Grabbing entire CD - tracks: 01 02 03 04 05 06 07 08 09 Discid undefined. [ERROR] abcde: abcde-musicbrainz-tool failed to run; ABORT However, when I run the tool 'abcde-musicbrainz-tool' with no parameters, I get: # abcde-musicbrainz-tool UmlobDRQ_5ftXmcX9zNWWXvkN0Q- 9 150 30849 58501 72016 117673 153859 182851 219652 247367 3523 This matches the MusicBrainz entry for the disc I used to test this: https://musicbrainz.org/cdtoc/UmlobDRQ_5ftXmcX9zNWWXvkN0Q- So 'abcde-musicbrainz-tool' works now, but it fails when called from 'abcde'. I ran 'abcde' in debug mode, and parsing the generated log file, I see the following: <snip> + for CDDBMETHCHOICE in $(echo "$CDDBMETHOD" | tr -d ' ' | tr , ' ') + addstatus 'Lookup method 0: musicbrainz' + echo 'Lookup method 0: musicbrainz' + idx=1 + vecho 'Found 0 matches so far' + '[' x '!=' x ']' + vecho 'Trying lookup method musicbrainz' + '[' x '!=' x ']' + case "$CDDBMETHCHOICE" in + do_musicbrainz_read + checkstatus musicbrainz-readcomplete + PATTERN='^musicbrainz-readcomplete(=.*)?$' ++ grep -E '^musicbrainz-readcomplete(=.*)?$' /home/perlhack/audio/abcde./status ++ tail -n 1 + BLURB= + '[' -z '' ']' + return 1 + vecho 'Obtaining Musicbrainz results...' + '[' x '!=' x ']' ++ echo '' ++ cut '-d ' -f1 + CDDBDISCID= ++ echo '' ++ cut '-d ' -f1 + MBDISCID= + local SOURCE_WORKDIR=/home/perlhack/audio/abcde./data-musicbrainz + mkdir -p /home/perlhack/audio/abcde./data-musicbrainz + abcde-musicbrainz-tool --command data --discid '' --workdir /home/perlhack/audio/abcde./data-musicbrainz --start 0 Discid undefined. + error=1 + '[' 1 '!=' 0 ']' + log error 'abcde-musicbrainz-tool failed to run; ABORT' + BLURB=error The problematic part seems to be this: abcde-musicbrainz-tool --command data --discid '' ... 'abcde' is calling 'abcde-musicbrainz-tool' with an empty discid, then aborts. So the failure is now in the program, not in the port. As far as this PR is concerned, you can CLOSE it as resolved. I'll have to file a bug upstream about this new issue. Thanks for taking the time to fix this.
For posterity, the upstream issue noted in my previous comment is likely the same one as this: https://abcde.einval.com/bugzilla/show_bug.cgi?id=66
A commit references this bug: Author: tz Date: Wed May 2 10:55:52 UTC 2018 New revision: 468825 URL: https://svnweb.freebsd.org/changeset/ports/468825 Log: audio/abcde: resolve conflicting dependencies abcde depends on www/p5-WebService-MusicBrainz0, but the installed script 'abcde-musicbrainz-tool' depends on www/p5-WebService-MusicBrainz. The two versions of p5-WebService-MusicBrainz conflict with each other. Update dependency to use p5-WebService-MusicBrainz, which is supported since the update of audio/abcde to 2.9.x Also adding the missing dependencies: - p5-Digest-SHA - p5-MusicBrainz-DiscID - p5-WebService-MusicBrainz - p5-Getopt-Long - p5-Pod-Usage At least release myself from being MAINTAINER of this port. PR: 227660 Reported by: <perlhack@protonmail.com> Reviewed by: <perlhack@protonmail.com> Changes: head/audio/abcde/Makefile
Committed, thanks for the PR and your testing! :) Greetings, Torsten
Just in Case anyone else is googling this error. Musicbrainz discid calculation is still broken in latest ports version with the error "Discid undefined." as reported. and the upstream bug seems to be https://abcde.einval.com/bugzilla/show_bug.cgi?id=54 Unfortunately no patch available :(