The update at https://admin.fedoraproject.org/updates/FEDORA-2012-0798/chromaprint-0.6-2.fc16 no longer builds the python-chromaprint package, which existed in older releases of this package in Fedora 16. This breaks dependencies, python-chromaprint-0.5-4.fc16.x86_64 requires libchromaprint(x86-64) = 0:0.5-4.fc16 and also makes it impossible to install the python-chromaprint package, which is still available in the Fedora 16 repositories. Note that in the future, broken dependencies may make it impossible for you to release such an update. It is a package bug to not add proper "Obsoletes: python-chromaprint < appropriate-version-release" to the update. This is covered in the Fedora Packaging Guidelines: https://fedoraproject.org/wiki/Packaging:Guidelines#Renaming.2FReplacing_Existing_Packages | If a package supersedes/replaces an existing package without | being a compatible enough replacement as defined in above, | use only the Obsoletes from above.
> Name: chromaprint > Version: 0.6 > %description > ... > [...] and the package also includes bindings for > the Python language. [...] The binding have been removed, so the description needs to be updated. > %package -n libchromaprint > Summary: Library implementing the AcoustID fingerprinting > Group: Development/Libraries Base libraries normally enter group "System Environment/Libraries" > %description -n libchromaprint > ... > [...] and the package also includes bindings for > the Python language. [...] As above. > %package -n libchromaprint-devel > ... > Requires: libchromaprint%{?_isa} = %{version}-%{release} > Requires: pkgconfig This is automatic unless you want to package for EL5 (or older). There are more items you could drop if you only want to package for Fedora or EL6. https://fedoraproject.org/wiki/EPEL/GuidelinesAndPolicies#Distribution_specific_guidelines > %description -n libchromaprint-devel > This package contains the headers that programmers will need to develop > applications which will use %{name}. > > Requires: libchromaprint%{?_isa} = %{version}-%{release} This dependency is duplicate and specified a few lines above already.
Ismael I did a little looking at this when I noticed the broken dep as well. Looks like there's a new, separate upstream project, pyacoustid, that replaces python-chromaprint. If you are planning on getting this into Fedora, that package could obsolete the current python-chromaprint. If you're not planning on doing that, though (and I see that there is no such package proposed for review currently), then you should definitely follow Michael Schwendt's advice and Obsolete the package from the chromaprint package. Until some package Obsoletes the python-chromaprint package, updates for this library will remain broken.
Yes, hitting this now: --> Finished Dependency Resolution Error: Package: python-chromaprint-0.5-4.fc16.x86_64 (@/python-chromaprint-0.5-4.fc16.x86_64) Requires: libchromaprint(x86-64) = 0.5-4.fc16 Removing: libchromaprint-0.5-4.fc16.x86_64 (@/libchromaprint-0.5-4.fc16.x86_64) libchromaprint(x86-64) = 0.5-4.fc16 Updated By: libchromaprint-0.6-2.fc16.x86_64 (updates) libchromaprint(x86-64) = 0.6-2.fc16 You could try using --skip-broken to work around the problem
Workaround is to remove the python-chromaprint package.
Ok. I've done a little mess here. First my apologies to Michael since I didn't get how important his comment were. I've added the obsolete tag to 0.6-3 (In reply to comment #1) > The binding have been removed, so the description needs to be updated. done > Base libraries normally enter group "System Environment/Libraries" done > > Requires: pkgconfig > > This is automatic unless you want to package for EL5 (or older). There are more > items you could drop if you only want to package for Fedora or EL6. done > This dependency is duplicate and specified a few lines above already. done too (In reply to comment #2) > Until some package Obsoletes the python-chromaprint package, updates > for this library will remain broken. Just to fix this I'll look for some time to get pyacoustid and fix this. P.S.: is there any clean way to proceed in a case like this without the new package? I had no plan to submit it since there is not current python-chromaprint dependency in Fedora.
Build against F17 http://koji.fedoraproject.org/koji/taskinfo?taskID=3768615
> I've added the obsolete tag to 0.6-3 Not yet. You've added it to the non-existing "chromaprint" package. Your package only builds "libchromaprint" and "libchromaprint-devel". > is there any clean way to proceed in a case like this without the new package? Yes, a properly versioned "Obsoletes" tag in the base package. Especially for the released dists. Even if there is nothing else that depends on python-chromaprint, users may have installed the package out of interest or via wildcards. > pyacoustid Theoretically, that one could be the better candidate for the Obsoletes tag. Perhaps even the additional "Provides: python-chromaprint = ..." tag, in case it is sufficiently compatible. If it isn't compatible, however, no such Provides tag should be added.
chromaprint-0.6-4.fc15 has been submitted as an update for Fedora 15. https://admin.fedoraproject.org/updates/chromaprint-0.6-4.fc15
chromaprint-0.6-4.fc16 has been submitted as an update for Fedora 16. https://admin.fedoraproject.org/updates/chromaprint-0.6-4.fc16
Package chromaprint-0.6-4.fc15: * should fix your issue, * was pushed to the Fedora 15 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing chromaprint-0.6-4.fc15' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2012-1431/chromaprint-0.6-4.fc15 then log in and leave karma (feedback).
chromaprint-0.6-4.fc15 has been pushed to the Fedora 15 stable repository. If problems still persist, please make note of it in this bug report.
chromaprint-0.6-4.fc16 has been pushed to the Fedora 16 stable repository. If problems still persist, please make note of it in this bug report.
(In reply to comment #2) > Ismael I did a little looking at this when I noticed the broken dep as well. > Looks like there's a new, separate upstream project, pyacoustid, that > replaces python-chromaprint. If you are planning on getting this into > Fedora, that package could obsolete the current python-chromaprint. I have submitted python-acoustid, for review, #851702. Reviewers welcome :-)