Bug 641572

Summary: Review Request: celt071 - Celt version 0.7.1 for mumble compatibility
Product: [Fedora] Fedora Reporter: Andreas Osowski <th0br0>
Component: Package ReviewAssignee: Dominic Hopf <dmaphy>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: che666, dmaphy, fedora-package-review, gmaxwell, lam, michiel.beijen, msdeleonpeque, nathelbiya, notting, sven, vpvainio
Target Milestone: ---Flags: dmaphy: fedora-review+
j: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: celt071-0.7.1-2.fc14 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-04-15 21:40:08 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Andreas Osowski 2010-10-09 10:32:21 UTC
Spec URL: http://th0br0.fedorapeople.org/celt071-0.7.1/celt071.spec
SRPM URL: http://th0br0.fedorapeople.org/celt071-0.7.1/celt071-0.7.1-1.fc13.src.rpm
Description:
This is a special version of celt, parallel installable with the main celt
package. All filenames and public library symbols have been changed from celt
to celt071 (as a patch).

This is required for proper mumble functionality as celt > 0.7.1 broke bit stream compatibility with 0.7 

This package is based upon Alexander Larsson's celt051

Comment 1 Niels 2010-11-04 18:33:10 UTC
This would be really helpful. I lost about an hour today trying to find out why I could hear no one else in mumble - until we detected that only speex as a codec worked.

Comment 2 Jason Tibbitts 2010-11-04 18:44:30 UTC
Then why not help to review it?

Comment 3 Niels 2010-11-04 19:12:47 UTC
How would I do this?

Comment 4 Jason Tibbitts 2010-11-04 19:18:48 UTC
Make sure the package builds?   Make sure it installs and actually works for you?

Comment 5 Gregory Maxwell 2010-11-05 03:33:48 UTC
If you actually want Mumble to work reliably it must package it's own CELT 0.7.1 (which is what the mumble software is currently standardized on). Mumble has the build system infrastructure required to concurrently build and package multiple internal versions of CELT in order to make a transition from one version to another.

CELT Upstream is currently at 0.8.1 and we're getting ready to do a new release in the coming weeks. 

Because CELT does not yet have a finished bitstream no two distinct versions of CELT are compatible with each other. Each is effectively a different library implementing a different codec. Accordingly, bundling CELT should not run afoul of Fedora's system lib packaging requirements.

Comment 6 Niels 2010-11-05 19:45:51 UTC
Well, the package builds and installs an F14. Of course it doesn't work with mumble as is, as that isn't linked against celt.

Comment 7 Andreas Osowski 2010-11-05 21:21:17 UTC
Well, the package builds and also works if you patch the mumble config files (got some local patch here, but of course this is depending on this RR!)

Other than that, if I'm not mistaken, that multiple internal celt versions is not available in 1.2.2 but only in the next release?!

Comment 8 Peque 2010-11-07 02:49:36 UTC
Mumble will work if you have libcelt0.so.0.0.0 in /usr/lib (32 bits) or in /usr/lib64 (32 bits).

You can get this lib compiling the sources from http://www.celt-codec.org/downloads/ (Older development releases --> celt-0.7.1.tar.gz). Files will be installed by default in /usr/local/lib, so you'll need to copy the lib.

Comment 9 Leszek Matok 2010-11-07 12:43:33 UTC
Quick hack:
rpm -i celt071-0.7.1-1.fc14.i686.rpm (built from above srpm)
ln -s /usr/lib/libcelt071.so.0.0.0 /usr/lib/libcelt0.so.0.0.0

... and Mumble seems to work

Mumble searches for:
celt.so.0.6.1
celt.so.0.6.1.so
celt.so.0.6.2
celt.so.0.6.2.so
celt.so.0.7.0
celt.so.0.7.0.so
libcelt0.so.0.0.0
libcelt0.so.0.0.0.so
libcelt0.so.0.6.1
libcelt0.so.0.6.1.so
libcelt0.so.0.6.2
libcelt0.so.0.6.2.so
libcelt0.so.0.7.0
libcelt0.so.0.7.0.so
libcelt.so.0.0.0
libcelt.so.0.0.0.so
libcelt.so.0.6.1
libcelt.so.0.6.1.so
libcelt.so.0.6.2
libcelt.so.0.6.2.so
libcelt.so.0.7.0
libcelt.so.0.7.0.so
(not in this order, plus it searches for every name in many directories; not absence of 0.7.1)

Since CELT 0.8.1 installs /usr/lib/libcelt0.so.1.0.0, I don't see a problem with installing this one as /usr/lib/libcelt0.so.0.0.0 out of the box for the time being.

The fact that Mumble looks for 3 different versions of CELT in the system hints me that maybe it already supports multiple simultaneous CELT versions?

Comment 10 Dominic Hopf 2011-04-03 17:48:43 UTC
% rpmlint celt071.spec
0 packages and 1 specfiles checked; 0 errors, 0 warnings.


% rpmlint celt071-0.7.1-1.fc13.src.rpm
celt071.src: W: spelling-error Summary(en_US) codec -> cosec, codex, code
celt071.src: W: spelling-error %description -l en_US codec -> cosec, codex, code
celt071.src: W: spelling-error %description -l en_US realtime -> mealtime, real time, real-time
celt071.src: W: spelling-error %description -l en_US codecs -> codes, coders, code's
celt071.src: W: spelling-error %description -l en_US bitstream -> bit stream, bit-stream, midstream
celt071.src: W: spelling-error %description -l en_US installable -> install able, install-able, uninstallable
1 packages and 0 specfiles checked; 0 errors, 6 warnings.


% rpmlint celt071-0.7.1-1.fc14.x86_64.rpm celt071-devel-0.7.1-1.fc14.x86_64.rpm celt071-debuginfo-0.7.1-1.fc14.x86_64.rpm
celt071.x86_64: W: spelling-error Summary(en_US) codec -> cosec, codex, code
celt071.x86_64: W: spelling-error %description -l en_US codec -> cosec, codex, code
celt071.x86_64: W: spelling-error %description -l en_US realtime -> mealtime, real time, real-time
celt071.x86_64: W: spelling-error %description -l en_US codecs -> codes, coders, code's
celt071.x86_64: W: spelling-error %description -l en_US bitstream -> bit stream, bit-stream, midstream
celt071.x86_64: W: spelling-error %description -l en_US installable -> install able, install-able, uninstallable
celt071.x86_64: W: no-manual-page-for-binary celtdec071
celt071.x86_64: W: no-manual-page-for-binary celtenc071
celt071-debuginfo.x86_64: E: debuginfo-without-sources
3 packages and 0 specfiles checked; 1 errors, 8 warnings.


I'm no native english speaker, but I guess you can at least add the spaces in
"real time" and "bit stream". Any other warning can be ignored.


Package Review
==============

Key:
 - = N/A
 x = Check
 ! = Problem
 ? = Not evaluated

=== REQUIRED ITEMS ===
 [x] Package is named according to the Package Naming Guidelines
 [x] Specfile name matches %{name}.spec
 [x] Package seems to meet Packaging Guidelines
 [x] Package successfully compiles and builds into binary RPMs on at least one
     supported architecture.
     Builds fine with rpmbuild on Fedora 14 x86_64.
 [x] Rpmlint output:
     source RPM: only spelling warnings, see above.
     binary RPM: see above.
 [x] Package is not relocatable.
 [!] License in specfile matches actual License and meets Licensing Guidelines
     License: BSD
     The files tools/getopt1.c and tools/getopt_win.h are GPLv2+. Since they are
     used to build the binaries celtenc071 and celtdec071 which are installed
     by the package, the License rather should be: BSD and GPLv2+

 [X] License file is included in %doc.
 [x] Specfile is legible and written in AE
 [x] Sourcefile in the Package is the same as provided in the mentioned Source
     SHA1SUM of Source: 39ffceae34a570dd787bce39a0a720682cc47fb0
 [x] Package compiles successfully
 [!] All build dependencies are listed in BuildRequires
     There is a missing dependency to libtool. Some scratch builds with mock and
     koji failed because of this. See
     http://koji.fedoraproject.org/koji/taskinfo?taskID=2970161 and
     http://koji.fedoraproject.org/koji/taskinfo?taskID=2970169

 [-] Specfile handles locales properly
 [x] ldconfig called in %post and %postun if required
 [x] Package owns directorys it creates
 [x] Package requires other packages for directories it uses.
 [x] Package does not list a file more than once in the %files listing
 [x] %files section includes %defattr and permissions are set properly
 [x] %clean section is there and contains rm -rf %{buildroot}
 [!] Macros are consistently used
     You are mixing the notation for the buildroot, line 56 has $RPM_BUILD_ROOT,
     line 64 %{buildroot}.

 [x] Package contains code, or permissable content.
 [-] Large documentation files are in a -doc subpackage
 [x] Program runs properly without files listed in %doc
 [x] Header files are in a -devel package
 [-] Static libraries are in a -static package
 [x] Package requires pkgconfig if .pc files are present
 [x] .so-files are put into a -devel subpackage
 [x] Subpackages include fully versioned dependency for the base package
 [x] Any libtool archives (*.la) are removed
 [-] contains desktop file (%{name}.desktop) if it is a GUI application
 [x] Package does not own files or directories owned by other packages.
 [!] $RPM_BUILD_ROOT is removed at beginning of %install
 [-] Filenames are encoded in UTF-8

=== SUGGESTED ITEMS ===
 [x] Package contains latest upstream version
 [x] Package does not include license text files separate from upstream.
 [-] non-English translations for description and summary
 [x] Package builds in mock
     Tested on: F14/x86_64
 [x] Package should compile and build into binary RPMs on all supported architectures.
     tested build with koji
 [x] Program runs
 [-] Scriptlets must be sane, if used.
 [x] pkgconfig (*.pc) files are placed in a -devel package
 [-] require package providing a file instead of the file itself
     no files outside of /etc, /bin, /sbin, /usr/bin, or /usr/sbin are required

Comment 11 Andreas Osowski 2011-04-03 18:23:25 UTC
For the spelling issues see
http://en.wikipedia.org/wiki/Realtime
http://en.wikipedia.org/wiki/Bitstream

There are various ways to write those words it seems.

As for the others see 0.7.1-2:

SPEC: http://th0br0.fedorapeople.org/celt071-0.7.1-2/celt071.spec
SRPM: http://th0br0.fedorapeople.org/celt071-0.7.1-2/celt071-0.7.1-2.fc14.src.rpm

Comment 12 Dominic Hopf 2011-04-03 20:04:16 UTC
The issues seem to be fixed and the package now builds fine in koji [1]. The package is approved.

[1] http://koji.fedoraproject.org/koji/taskinfo?taskID=2970355

Comment 13 Andreas Osowski 2011-04-03 20:18:50 UTC
Thanks for the review.

New Package SCM Request
=======================
Package Name: celt071
Short Description: Celt version 0.7.1 for mumble compatibility
Owners: th0br0
Branches: f14 f15 f16

Comment 14 Jason Tibbitts 2011-04-05 15:20:31 UTC
It is too early to request f16 branches; we haven't even released f15 yet.

Git done (by process-git-requests).

Comment 15 Fedora Update System 2011-04-07 21:20:02 UTC
celt071-0.7.1-2.fc15 has been submitted as an update for Fedora 15.
https://admin.fedoraproject.org/updates/celt071-0.7.1-2.fc15

Comment 16 Fedora Update System 2011-04-07 21:26:54 UTC
celt071-0.7.1-2.fc14 has been submitted as an update for Fedora 14.
https://admin.fedoraproject.org/updates/celt071-0.7.1-2.fc14

Comment 17 Fedora Update System 2011-04-08 23:19:55 UTC
celt071-0.7.1-2.fc14 has been pushed to the Fedora 14 testing repository.

Comment 18 Mike B. 2011-04-15 07:46:40 UTC
Even with this package installed on F15 X86_64 I get the "unable to find matching CELT codec" error in Mumble:

mumble-1.2.2-11.fc15.x86_64
celt071-0.7.1-2.fc15.x86_64

Comment 19 Andreas Osowski 2011-04-15 08:16:50 UTC
This is because mumble still needs an update to work with this celt package :)
However, I will do this today / tomorrow.

Comment 20 Fedora Update System 2011-04-15 21:40:02 UTC
celt071-0.7.1-2.fc15 has been pushed to the Fedora 15 stable repository.

Comment 21 Fedora Update System 2011-04-24 23:57:47 UTC
celt071-0.7.1-2.fc14 has been pushed to the Fedora 14 stable repository.