https://bugzilla.redhat.com/show_bug.cgi?id=1018546
Bug ID: 1018546 Summary: Review Request: musepack-libmpc - Living audio compression Product: Fedora Version: rawhide Component: Package Review Severity: medium Priority: medium Assignee: nobody@fedoraproject.org Reporter: sanjay.ankur@gmail.com QA Contact: extras-qa@fedoraproject.org CC: notting@redhat.com, package-review@lists.fedoraproject.org
Spec URL: http://ankursinha.fedorapeople.org/musepack-libmpc/musepack-libmpc.spec SRPM URL: http://ankursinha.fedorapeople.org/musepack-libmpc/musepack-libmpc-1.3.0-0.1...
Description: Musepack is an audio compression format with a strong emphasis on high quality. It's not lossless, but it is designed for transparency, so that you won't be able to hear differences between the original wave file and the much smaller MPC file.
It is based on the MPEG-1 Layer-2 / MP2 algorithms, but since 1997 it has rapidly developed and vastly improved and is now at an advanced stage in which it contains heavily optimized and patentless code.
Fedora Account System Username: ankursinha
rpmlint errors: [asinha@ankur-laptop SRPMS]$ rpmlint /var/lib/mock/fedora-rawhide-x86_64/result/*.rpm libmpcdec.x86_64: W: spelling-error Summary(en_US) Musepack -> Muse pack, Muse-pack, Mudpack libmpcdec.x86_64: W: spelling-error %description -l en_US Musepack -> Muse pack, Muse-pack, Mudpack libmpcdec.x86_64: W: no-manual-page-for-binary mpcdec libmpcdec-devel.x86_64: W: spelling-error Summary(en_US) Musepack -> Muse pack, Muse-pack, Mudpack libmpcdec-devel.x86_64: E: invalid-soname /usr/lib64/libmpcdec.so libmpcdec.so libmpcdec-devel.x86_64: W: no-documentation musepack-libmpc.src: W: spelling-error %description -l en_US lossless -> loss less, loss-less, loveless musepack-libmpc.src: W: spelling-error %description -l en_US patentless -> patent less, patent-less, pathless musepack-libmpc.src:4: W: macro-in-comment %{actual_name} musepack-libmpc.src:115: W: macro-in-comment %{_libdir} musepack-libmpc.src: W: invalid-url Source0: libmpc_r475.tar.gz musepack-libmpc.x86_64: W: spelling-error %description -l en_US lossless -> loss less, loss-less, loveless musepack-libmpc.x86_64: W: spelling-error %description -l en_US patentless -> patent less, patent-less, pathless musepack-libmpc.x86_64: W: no-documentation musepack-libmpc.x86_64: W: no-manual-page-for-binary mpccut musepack-libmpc.x86_64: W: no-manual-page-for-binary mpcenc musepack-libmpc.x86_64: W: no-manual-page-for-binary mpcchap musepack-libmpc.x86_64: W: no-manual-page-for-binary wavcmp musepack-libmpc.x86_64: W: no-manual-page-for-binary mpcgain musepack-libmpc.x86_64: W: no-manual-page-for-binary mpc2sv8 musepack-libmpc-devel.x86_64: W: no-documentation 6 packages and 0 specfiles checked; 1 errors, 20 warnings.
Mailed upstream about soname versioning already.
https://bugzilla.redhat.com/show_bug.cgi?id=1018546
Ankur Sinha (FranciscoD) sanjay.ankur@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Depends On| |1018544, 1018541
Referenced Bugs:
https://bugzilla.redhat.com/show_bug.cgi?id=1018541 [Bug 1018541] Review Request: libreplaygain - Gain analysis library from musepack https://bugzilla.redhat.com/show_bug.cgi?id=1018544 [Bug 1018544] Review Request: libcuefile - A stripped down version of cuetools
https://bugzilla.redhat.com/show_bug.cgi?id=1018546
Ankur Sinha (FranciscoD) sanjay.ankur@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- See Also| |https://bugzilla.redhat.com | |/show_bug.cgi?id=1014468
https://bugzilla.redhat.com/show_bug.cgi?id=1018546
Michael Schwendt bugs.michael@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |bugs.michael@gmx.net
--- Comment #1 from Michael Schwendt bugs.michael@gmx.net ---
%package -n libmpcdec Summary: Musepack audio decoding library Obsoletes: libmpcdec < 1.2.6-13
Package libmpcdec is "License: BSD", because libmpcdec and mpcdec apply those licensing terms.
The "Obsoletes" tag here (and in the -devel package) is superfluous. This subpackage "libmpcdec" will update the older package "libmpcdec", because of the higher EVR already.
Is this lib from Musepack SV8 even ABI-compatible with SV7 libmpcdec? Isn't even the SONAME _supposed_ to be different already? The spec isn't ready, but the old lib is libmpcdec.so.5, and the spec uses .0 and asks which version is should be.
And what about all the dependencies?
# repoquery --whatrequires libmpcdec cmus-0:2.5.0-4.fc20.x86_64 gstreamer-plugins-bad-free-0:0.10.23-19.fc20.i686 gstreamer-plugins-bad-free-0:0.10.23-19.fc20.x86_64 k3b-1:2.0.2-18.20130927git.fc20.x86_64 libmpcdec-devel-0:1.2.6-12.fc20.i686 libmpcdec-devel-0:1.2.6-12.fc20.x86_64 libtunepimp-0:0.5.3-23.fc20.i686 libtunepimp-0:0.5.3-23.fc20.x86_64 qmmp-0:0.7.2-1.fc20.i686 qmmp-0:0.7.2-1.fc20.x86_64 vlc-core-0:2.1.0-1.fc20.x86_64 xine-lib-0:1.1.21-8.fc20.i686 xine-lib-0:1.1.21-8.fc20.x86_64 xmms-musepack-0:1.2-13.fc20.x86_64 xmms2-0:0.8-13.fc20.i686 xmms2-0:0.8-13.fc20.x86_64
https://bugzilla.redhat.com/show_bug.cgi?id=1018546
--- Comment #2 from Ankur Sinha (FranciscoD) sanjay.ankur@gmail.com --- (In reply to Michael Schwendt from comment #1)
Is this lib from Musepack SV8 even ABI-compatible with SV7 libmpcdec? Isn't even the SONAME _supposed_ to be different already? The spec isn't ready, but the old lib is libmpcdec.so.5, and the spec uses .0 and asks which version is should be.
The website says it is: note: "Old. Refer to above SV8 lib (compatible with SV7)". Unfortunately upstream hasn't versioned the soname. I've already mailed them about this, but haven't received a reply.
And what about all the dependencies?
# repoquery --whatrequires libmpcdec cmus-0:2.5.0-4.fc20.x86_64 gstreamer-plugins-bad-free-0:0.10.23-19.fc20.i686 gstreamer-plugins-bad-free-0:0.10.23-19.fc20.x86_64 k3b-1:2.0.2-18.20130927git.fc20.x86_64 libmpcdec-devel-0:1.2.6-12.fc20.i686 libmpcdec-devel-0:1.2.6-12.fc20.x86_64 libtunepimp-0:0.5.3-23.fc20.i686 libtunepimp-0:0.5.3-23.fc20.x86_64 qmmp-0:0.7.2-1.fc20.i686 qmmp-0:0.7.2-1.fc20.x86_64 vlc-core-0:2.1.0-1.fc20.x86_64 xine-lib-0:1.1.21-8.fc20.i686 xine-lib-0:1.1.21-8.fc20.x86_64 xmms-musepack-0:1.2-13.fc20.x86_64 xmms2-0:0.8-13.fc20.i686 xmms2-0:0.8-13.fc20.x86_64
I could request rebuilds with the new soname version, just to be sure. I can't think of another way of handling this.
https://bugzilla.redhat.com/show_bug.cgi?id=1018546
Bug 1018546 depends on bug 1018541, which changed state.
Bug 1018541 Summary: Review Request: libreplaygain - Gain analysis library from Musepack https://bugzilla.redhat.com/show_bug.cgi?id=1018541
What |Removed |Added ---------------------------------------------------------------------------- Status|ON_QA |CLOSED Resolution|--- |ERRATA
https://bugzilla.redhat.com/show_bug.cgi?id=1018546
--- Comment #3 from Michael Schwendt bugs.michael@gmx.net ---
I could request rebuilds with the new soname version, just to be sure.
Evaluating whether the dependencies would rebuild (with the new lib being API-compatible) is a prerequisite for any upgrade like this.
https://bugzilla.redhat.com/show_bug.cgi?id=1018546
--- Comment #4 from Ankur Sinha (FranciscoD) sanjay.ankur@gmail.com --- I finally got down to this.
Here's the new spec:
http://ankursinha.fedorapeople.org/musepack-libmpc/musepack-libmpc.spec
New srpm: http://ankursinha.fedorapeople.org/musepack-libmpc/musepack-libmpc-1.3.0-0.1...
All dependent packages will need to be rebuilt since this version changes the version of the provided shared object: libmpcdec.so.6()(64bit). The older was libmpcdec.so.5()(64bit)
rpmlint errors: [asinha@ankur-laptop SRPMS]$ rpmlint /var/lib/mock/fedora-rawhide-x86_64/result/*.rpm ./musepack-libmpc-1.3.0-0.1.svn484.fc20.src.rpm ../SPECS/musepack-libmpc.spec libmpcdec.x86_64: W: spelling-error Summary(en_US) Musepack -> Muse pack, Muse-pack, Mudpack libmpcdec.x86_64: W: spelling-error %description -l en_US Musepack -> Muse pack, Muse-pack, Mudpack libmpcdec.x86_64: W: no-manual-page-for-binary mpcdec libmpcdec-devel.x86_64: W: spelling-error Summary(en_US) Musepack -> Muse pack, Muse-pack, Mudpack libmpcdec-devel.x86_64: W: only-non-binary-in-usr-lib libmpcdec-devel.x86_64: W: no-documentation musepack-libmpc.src: W: spelling-error %description -l en_US lossless -> loss less, loss-less, loveless musepack-libmpc.src: W: spelling-error %description -l en_US patentless -> patent less, patent-less, pathless musepack-libmpc.src:4: W: macro-in-comment %{actual_name} musepack-libmpc.src: W: invalid-url Source0: libmpc_r484.tar.gz musepack-libmpc.x86_64: W: spelling-error %description -l en_US lossless -> loss less, loss-less, loveless musepack-libmpc.x86_64: W: spelling-error %description -l en_US patentless -> patent less, patent-less, pathless musepack-libmpc.x86_64: W: no-documentation musepack-libmpc.x86_64: W: no-manual-page-for-binary wavcmp musepack-libmpc.x86_64: W: no-manual-page-for-binary mpccut musepack-libmpc.x86_64: W: no-manual-page-for-binary mpc2sv8 musepack-libmpc.x86_64: W: no-manual-page-for-binary mpcgain musepack-libmpc.x86_64: W: no-manual-page-for-binary mpcenc musepack-libmpc-devel.x86_64: W: no-documentation musepack-libmpc.src: W: spelling-error %description -l en_US lossless -> loss less, loss-less, loveless musepack-libmpc.src: W: spelling-error %description -l en_US patentless -> patent less, patent-less, pathless musepack-libmpc.src:4: W: macro-in-comment %{actual_name} musepack-libmpc.src: W: invalid-url Source0: libmpc_r484.tar.gz ../SPECS/musepack-libmpc.spec:4: W: macro-in-comment %{actual_name} ../SPECS/musepack-libmpc.spec: W: invalid-url Source0: libmpc_r484.tar.gz 7 packages and 1 specfiles checked; 0 errors, 25 warnings.
Thanks, Warm regards, Ankur
https://bugzilla.redhat.com/show_bug.cgi?id=1018546 Bug 1018546 depends on bug 1018544, which changed state.
Bug 1018544 Summary: Review Request: libcuefile - A stripped down version of cuetools https://bugzilla.redhat.com/show_bug.cgi?id=1018544
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |CLOSED Resolution|--- |WONTFIX
https://bugzilla.redhat.com/show_bug.cgi?id=1018546
gil cattaneo puntogil@libero.it changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |201449 (FE-DEADREVIEW)
Referenced Bugs:
https://bugzilla.redhat.com/show_bug.cgi?id=201449 [Bug 201449] FE-DEADREVIEW -- Reviews stalled due to lack of submitter response should be blocking this bug.
https://bugzilla.redhat.com/show_bug.cgi?id=1018546
--- Comment #5 from Ankur Sinha (FranciscoD) sanjay.ankur@gmail.com --- Uhm, this one doesn't have a reviewer yet, does that make it a dead review or one waiting for a reviewer?
https://bugzilla.redhat.com/show_bug.cgi?id=1018546
Michael Schwendt bugs.michael@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks|201449 (FE-DEADREVIEW) |
--- Comment #6 from Michael Schwendt bugs.michael@gmx.net --- It is a normal review ticket that is still waiting for a reviewer.
It doesn't classify as a stalled review yet. The policy only covers the cases when either the submitter or the reviewer is not responding anymore: https://fedoraproject.org/wiki/Policy_for_stalled_package_reviews
Referenced Bugs:
https://bugzilla.redhat.com/show_bug.cgi?id=201449 [Bug 201449] FE-DEADREVIEW -- Reviews stalled due to lack of submitter response should be blocking this bug.
https://bugzilla.redhat.com/show_bug.cgi?id=1018546
--- Comment #7 from Michael Schwendt bugs.michael@gmx.net ---
All dependent packages will need to be rebuilt since this version changes the version of the provided shared object: libmpcdec.so.6()(64bit). The older was libmpcdec.so.5()(64bit)
Are they API compatible?
If they are not compatible, the typical solution is to create packages that don't conflict with eachother.
[...]
$ rpmls -p musepack-libmpc-1.3.0-0.1.svn484.fc23.x86_64.rpm -rwxr-xr-x /usr/bin/mpc2sv8 -rwxr-xr-x /usr/bin/mpccut -rwxr-xr-x /usr/bin/mpcenc -rwxr-xr-x /usr/bin/mpcgain -rwxr-xr-x /usr/bin/wavcmp
I find the naming and subpackage split somewhat unfortunate.
The musepack-libmpc package does not contain a "libmpc". There hasn't been one before. libmpc is a common prefix for the project libs with MPC being an abbreviation of Musepack. In SVN, libmpc is sort of an umbrella, with the sub-projects stored in various subdirs.
There are only a couple of static libs built into the various tools. There is no shared libmpcenc, for example. The old encoder was called "mppenc" as a tool without a lib, too. The musepack-libmpc package contains only tools.
The musepack-libmpc-devel package doesn't contain any lib either, just unversioned base headers. How much can you do with these headers only? libmpcdec-devel needs them, but hey, everything is built from a single src.rpm, so why create separate subpackages already? Would anything want only musepack-libmpc-devel?
And libmpcdec-devel cannot be used standalone, as it needs headers from musepack-libmpc-devel.
Finally, libmpcdec contains not only the single shared lib but also the "mpcdec" command-line tool. It's at 1.0.0, however, not 1.3.0.
That's because the official release date is not reflected in the built rpms except for the "r475" in %release. Upstream tells:
| musepack_src_r475.tar.gz | | Musepack SV8 libs & tools (r475) | | Stable release of Musepack SV8 libraries and tools | | License: BSD/GNU LGPL | Release date: 2011.08.10
I don't know how important the r475 revision is for upstream when doing future releases.
SVN trunk is at r485, but the internal version of libmpcdec is unchanged. It's at 1.3.0 since 2009. The same rpm also builds the tools, each with an own version. E.g. mpcenc is at 1.30.1, mpcdec at 1.0.0.
It would be difficult to specify a strict dependency on "libmpcdec > r484", for example, because one cannot ignore everything at the left side of Fedora's %release value for that package.
Giving the tools package the internal version of libmpcdec is strange. Note that a strict subpackage split could set an own %version for each subpackage, if needed.
Will the "Stream Version" ever change again? It's at SV8 for several years.
As a suggestion, I would name the Source RPM "musepack-sv8" (or simply "musepack") and build subpackages in the same namespace:
musepack-sv8-libs <-- there's just one lib so far, however musepack-sv8-tools <-- there's half a dozen tools musepack-sv8-devel
Easier to find for users searching for musepack. Currently, if you search for "musepack", you would get musepack-libmpc not giving any hint that it contains tools, and additionally, it pulls in libmpcdec as it doesn't work without that lib.
If there ever will be more shared libs to put into individual subpackages, that could still be done if necessary.
musepack-libmpc-1.3.0-0.1.svn484.fc22.src.rpm
About the versioning here, it doesn't follow the guidelines. https://fedoraproject.org/wiki/Packaging:NamingGuidelines#Snapshot_packages
As libmpc has been at 1.3.0 in 2009 already, this checkout cannot be a pre-release of 1.3.0. No "0." prefix in %release. It would either need to be a post-release snapshot, or a pre-release of whatever version would be released next, e.g. 1.3.1 or 1.4.0.
Then the guidelines want the checkout date be inserted:
1.3.0-1.20140717svn484.fc22
If the upstream release versioning scheme is unknown, %version could be set to '0', which gives you much more freedom to squeeze details into %release.
https://bugzilla.redhat.com/show_bug.cgi?id=1018546
Zbigniew Jędrzejewski-Szmek zbyszek@in.waw.pl changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |zbyszek@in.waw.pl
--- Comment #8 from Zbigniew Jędrzejewski-Szmek zbyszek@in.waw.pl --- If this is still needed, please post an update. I'll try to review.
package-review@lists.fedoraproject.org