Bug 871037 - Review Request: librcc - RusXMMS Charset Conversion Library
Summary: Review Request: librcc - RusXMMS Charset Conversion Library
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jerry James
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-10-29 13:21 UTC by Ivan Romanov
Modified: 2015-05-04 19:46 UTC (History)
3 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2012-11-15 02:44:18 UTC
Type: ---
Embargoed:
loganjerry: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Ivan Romanov 2012-10-29 13:21:39 UTC
Spec URL: https://raw.github.com/drizt/librcc-package/334f07bb326bdfc5fa400ca0d477acaabe41738a/librcc.spec
SRPM URL: https://raw.github.com/drizt/librcc-package/334f07bb326bdfc5fa400ca0d477acaabe41738a/librcc-0.2.9-1.fc17.src.rpm
Description: 
The Abilities of LibRCC Library

- Language Autodetection.
- On the fly translation between languages, using online-services!
- Encoding Autodetection for most of European Languages.
- Support for encoding detection plugins (besides Enca and LibRCD)
- Recoding/translation of multi-language playlists!
- Cache to speed-up re-recoding.
- Possibility to configure new languages and encodings.
- Shared configuration file. For example mentioned TagLib and LibID3
  patches do not have their own user interface, but will utilize the
  same recoding configuration as XMMS.
- As well the separate program for configuration adjustment is 
  available.
- GTK2 UI Library: you can add properties page to your GTK application
  with 3 lines of code.
- Menu localization opportunity.


Fedora Account System Username: ivanromanov

Comment 1 Ivan Romanov 2012-10-29 13:24:03 UTC
Koji Scratch Build: http://koji.fedoraproject.org/koji/taskinfo?taskID=4635240

Comment 2 Ivan Romanov 2012-10-29 13:33:06 UTC
$ rpmlint *.rpm
librcc.i686: W: spelling-error %description -l en_US multi -> mulch, mufti
librcc.i686: W: spelling-error %description -l en_US playlists -> play lists, play-lists, stylists
librcc.i686: W: spelling-error %description -l en_US recoding -> recording, receding, decoding
librcc.i686: W: spelling-error %description -l en_US encodings -> encoding, encoding s, recordings
librcc.src: W: spelling-error %description -l en_US multi -> mulch, mufti
librcc.src: W: spelling-error %description -l en_US playlists -> play lists, play-lists, stylists
librcc.src: W: spelling-error %description -l en_US recoding -> recording, receding, decoding
librcc.src: W: spelling-error %description -l en_US encodings -> encoding, encoding s, recordings
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/ui/internal.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/internal.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/plugin.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rcclock.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rcctranslate.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rcctranslate.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/lngconfig.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/lngconfig.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/ui/rccmenu.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/ui/rccmenu.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/fs.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/librcc.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/fs.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/librcc.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccspell.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccspell.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rcchome.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccconfig.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/fake_rcd.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rcchome.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccconfig.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/plugin.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/opt.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/opt.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/engines/western.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccdb4.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/lng.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/lng.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccdb4.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/curconfig.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/ui/rccnames.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rcciconv.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rcciconv.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/ui/rccnames.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccstring.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccmutex.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccmutex.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/external/rcclibtranslate.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/external/rcclibtranslate.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rcclist.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rcclist.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccstring.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccxml.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/ui/librccui.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccxml.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/engine.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/engine.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccexternal.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccexternal.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rcclocale.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/recode.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccenca.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/ui/librccui.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccenca.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/ui/null.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/ui/gtk.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/lngrecode.c
librcc-devel.i686: E: incorrect-fsf-address /usr/include/librccui.h
librcc-devel.i686: E: incorrect-fsf-address /usr/share/doc/librcc-devel-0.2.9/examples/example2.c
librcc-devel.i686: E: incorrect-fsf-address /usr/share/doc/librcc-devel-0.2.9/examples/rcc-gtk-config.c
librcc-devel.i686: E: incorrect-fsf-address /usr/include/librcc.h
librcc-devel.i686: E: incorrect-fsf-address /usr/share/doc/librcc-devel-0.2.9/examples/example1.c
librcc-gtk2.i686: W: spelling-error %description -l en_US devel -> delve, devil, revel
librcc-gtk2.i686: W: no-documentation
5 packages and 0 specfiles checked; 62 errors, 10 warnings.

Comment 3 Jerry James 2012-11-01 14:55:18 UTC
I will take this review.

Comment 4 Jerry James 2012-11-01 17:21:13 UTC
First, I notice that the configure output shows some things missing that actually do exist in Fedora.  These *could* be added as BuildRequires, although I recognize you may have reasons for not wishing to do so: libguess-devel, db4-devel, libtranslate-devel, aspell.

Second, there is a compiler warning that probably should not be ignored:

rccstring.c: In function 'rccStringFixID':
rccstring.c:67:44: warning: array subscript is above array bounds [-Warray-bound
s]

This warning points to an off-by-one error.  This line:

memcpy(lang, header->language, 2); lang[3] = 0;

should really be this:

memcpy(lang, header->language, 2); lang[2] = 0;

Third, the unused direct shared library dependency warnings from rpmlint can be eliminated by adding this to the %configure line: LDFLAGS="-Wl,--as-needed $RPM_LD_FLAGS".

Fourth, another option for the Source0 download URL is Source0: http://downloads.sourceforge.net/rusxmms/%{name}-%{version}.tar.bz2 (see https://fedoraproject.org/wiki/Packaging:SourceURL#Sourceforge.net).  (I'm not saying you have to switch, just that sourceforge is a known quantity when it comes to downloads.)

Finally, see the items marked [!] below.  They are all SHOULD items, not MUST items, but if they can be taken care of without undue effort, we should do so.


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

Key:
[x] = Pass
[!] = Fail
[-] = Not applicable
[?] = Not evaluated
[ ] = Manual review needed



===== MUST items =====

C/C++:
[x]: Header files in -devel subpackage, if present.
[x]: ldconfig called in %post and %postun if required.
[x]: Package does not contain any libtool archives (.la)
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Rpath absent or only used for internal libs.
[x]: Development (unversioned) .so files in -devel subpackage, if present.
     Note: Unversioned so-files in private %_libdir subdirectory (see
     attachment). Verify they are not in ld path.

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package contains no bundled libraries.
[x]: Changelog in prescribed format.
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Sources contain only permissible code or content.
[x]: Each %files section contains %defattr if rpm < 4.4
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Package contains desktop file if it is a GUI application.
[x]: Development files must be in a -devel package
[x]: Package requires other packages for directories it uses.
[x]: Package uses nothing in %doc for runtime.
[x]: Package is not known to require ExcludeArch.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Fully versioned dependency in subpackages, if present.
[x]: Package complies to the Packaging Guidelines
[x]: Spec file lacks Packager, Vendor, PreReq tags.
[x]: Large documentation files are in a -doc subpackage, if required.
[x]: If (and only if) the source package includes the text of the license(s)
     in its own file, then that file, containing the text of the license(s)
     for the package is included in %doc.
[x]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "LGPL (with incorrect FSF address)", "Unknown or generated", "*No
     copyright* Public domain". 3 files have unknown license. Detailed output
     of licensecheck in /home/jamesjer/871037-librcc/licensecheck.txt
[x]: License file installed when any subpackage combination is installed.
[x]: Package consistently uses macro is (instead of hard-coded directory
     names).
[x]: Package is named using only allowed ASCII characters.
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
     Note: Package contains no Conflicts: tag(s)
[x]: Package do not use a name that already exist
[x]: Package obeys FHS, except libexecdir and /usr/target.
[x]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: Package installs properly.
[x]: Package is not relocatable.
[x]: Requires correct, justified where necessary.
[x]: CheckResultdir
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: Sources used to build the package match the upstream source, as provided
     in the spec URL.
[x]: Spec file is legible and written in American English.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: Package contains systemd file(s) if in need.
[x]: File names are valid UTF-8.
[x]: Useful -debuginfo package or justification otherwise.

Perl:
[-]: Package contains the mandatory BuildRequires and Reguires:.
     Note: Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo
     $version)) missing?

===== SHOULD items =====

Generic:
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[-]: If the source package does not include license text(s) as a separate file
     from upstream, the packager SHOULD query upstream to include it.
[x]: Dist tag is present.
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Final provides and requires are sane (rpm -q --provides and rpm -q
     --requires).
[?]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[!]: Patches link to upstream bugs/comments/lists or are otherwise justified.
[x]: The placement of pkgconfig(.pc) files are correct.
[x]: Scriptlets must be sane, if used.
[x]: SourceX tarball generation or download is documented.
[x]: SourceX / PatchY prefixed with %{name}.
[x]: SourceX is a working URL.
[x]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[!]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed files.
[x]: Spec use %global instead of %define.

===== EXTRA items =====

Generic:
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: librcc-0.2.9-1.fc19.src.rpm
          librcc-debuginfo-0.2.9-1.fc19.i686.rpm
          librcc-devel-0.2.9-1.fc19.i686.rpm
          librcc-0.2.9-1.fc19.i686.rpm
          librcc-gtk2-0.2.9-1.fc19.i686.rpm
librcc.src: W: spelling-error %description -l en_US multi -> mulch, mufti
librcc.src: W: spelling-error %description -l en_US playlists -> play lists, play-lists, stylists
librcc.src: W: spelling-error %description -l en_US recoding -> recording, receding, decoding
librcc.src: W: spelling-error %description -l en_US encodings -> encoding, encoding s, recordings
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/ui/internal.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/internal.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/plugin.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rcclock.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rcctranslate.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rcctranslate.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/lngconfig.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/lngconfig.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/ui/rccmenu.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/ui/rccmenu.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/fs.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/librcc.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/fs.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/librcc.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccspell.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccspell.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rcchome.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccconfig.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/fake_rcd.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rcchome.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccconfig.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/plugin.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/opt.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/ui/null.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/opt.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/engines/western.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccdb4.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/lng.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/lng.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccdb4.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/curconfig.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/ui/rccnames.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rcciconv.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rcciconv.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccstring.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccmutex.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccmutex.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/external/rcclibtranslate.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/external/rcclibtranslate.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rcclist.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rcclist.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccstring.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccxml.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/ui/librccui.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccxml.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/engine.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/engine.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccexternal.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccexternal.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rcclocale.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/recode.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccenca.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/ui/librccui.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccenca.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/ui/gtk.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/lngrecode.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/ui/rccnames.h
librcc-devel.i686: E: incorrect-fsf-address /usr/include/librccui.h
librcc-devel.i686: E: incorrect-fsf-address /usr/share/doc/librcc-devel-0.2.9/examples/example2.c
librcc-devel.i686: E: incorrect-fsf-address /usr/share/doc/librcc-devel-0.2.9/examples/rcc-gtk-config.c
librcc-devel.i686: E: incorrect-fsf-address /usr/include/librcc.h
librcc-devel.i686: E: incorrect-fsf-address /usr/share/doc/librcc-devel-0.2.9/examples/example1.c
librcc.i686: W: spelling-error %description -l en_US multi -> mulch, mufti
librcc.i686: W: spelling-error %description -l en_US playlists -> play lists, play-lists, stylists
librcc.i686: W: spelling-error %description -l en_US recoding -> recording, receding, decoding
librcc.i686: W: spelling-error %description -l en_US encodings -> encoding, encoding s, recordings
librcc-gtk2.i686: W: spelling-error %description -l en_US devel -> delve, devil, revel
librcc-gtk2.i686: W: no-documentation
5 packages and 0 specfiles checked; 62 errors, 10 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint librcc-debuginfo librcc-gtk2 librcc-devel librcc
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/ui/internal.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/internal.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/plugin.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rcclock.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rcctranslate.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rcctranslate.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/lngconfig.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/lngconfig.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/ui/rccmenu.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/ui/rccmenu.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/fs.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/librcc.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/fs.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/librcc.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccspell.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccspell.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rcchome.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccconfig.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/fake_rcd.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rcchome.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccconfig.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/plugin.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/opt.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/ui/null.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/opt.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/engines/western.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccdb4.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/lng.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/lng.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccdb4.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/curconfig.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/ui/rccnames.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rcciconv.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rcciconv.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccstring.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccmutex.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccmutex.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/external/rcclibtranslate.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/external/rcclibtranslate.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rcclist.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rcclist.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccstring.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccxml.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/ui/librccui.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccxml.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/engine.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/engine.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccexternal.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccexternal.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rcclocale.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/recode.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccenca.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/ui/librccui.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccenca.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/ui/gtk.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/lngrecode.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/ui/rccnames.h
librcc-gtk2.i686: W: spelling-error %description -l en_US devel -> delve, devil, revel
librcc-gtk2.i686: W: unused-direct-shlib-dependency /usr/lib/librccgtk2.so.0.2.9 /lib/libgdk-x11-2.0.so.0
librcc-gtk2.i686: W: unused-direct-shlib-dependency /usr/lib/librccgtk2.so.0.2.9 /lib/libatk-1.0.so.0
librcc-gtk2.i686: W: unused-direct-shlib-dependency /usr/lib/librccgtk2.so.0.2.9 /lib/libgio-2.0.so.0
librcc-gtk2.i686: W: unused-direct-shlib-dependency /usr/lib/librccgtk2.so.0.2.9 /lib/libpangoft2-1.0.so.0
librcc-gtk2.i686: W: unused-direct-shlib-dependency /usr/lib/librccgtk2.so.0.2.9 /lib/libpangocairo-1.0.so.0
librcc-gtk2.i686: W: unused-direct-shlib-dependency /usr/lib/librccgtk2.so.0.2.9 /lib/libgdk_pixbuf-2.0.so.0
librcc-gtk2.i686: W: unused-direct-shlib-dependency /usr/lib/librccgtk2.so.0.2.9 /lib/libcairo.so.2
librcc-gtk2.i686: W: unused-direct-shlib-dependency /usr/lib/librccgtk2.so.0.2.9 /lib/libpango-1.0.so.0
librcc-gtk2.i686: W: unused-direct-shlib-dependency /usr/lib/librccgtk2.so.0.2.9 /lib/libfreetype.so.6
librcc-gtk2.i686: W: unused-direct-shlib-dependency /usr/lib/librccgtk2.so.0.2.9 /lib/libfontconfig.so.1
librcc-gtk2.i686: W: unused-direct-shlib-dependency /usr/lib/librccgtk2.so.0.2.9 /lib/libz.so.1
librcc-gtk2.i686: W: unused-direct-shlib-dependency /usr/lib/librccgtk2.so.0.2.9 /lib/libm.so.6
librcc-gtk2.i686: W: unused-direct-shlib-dependency /usr/lib/librccgtk2.so.0.2.9 /lib/libdl.so.2
librcc-gtk2.i686: W: unused-direct-shlib-dependency /usr/lib/librccgtk2.so.0.2.9 /lib/libenca.so.0
librcc-gtk2.i686: W: unused-direct-shlib-dependency /usr/lib/librccgtk2.so.0.2.9 /lib/libpthread.so.0
librcc-gtk2.i686: W: no-documentation
librcc-devel.i686: E: incorrect-fsf-address /usr/include/librccui.h
librcc-devel.i686: E: incorrect-fsf-address /usr/share/doc/librcc-devel-0.2.9/examples/example2.c
librcc-devel.i686: E: incorrect-fsf-address /usr/share/doc/librcc-devel-0.2.9/examples/rcc-gtk-config.c
librcc-devel.i686: E: incorrect-fsf-address /usr/include/librcc.h
librcc-devel.i686: E: incorrect-fsf-address /usr/share/doc/librcc-devel-0.2.9/examples/example1.c
librcc.i686: W: spelling-error %description -l en_US multi -> mulch, mufti
librcc.i686: W: spelling-error %description -l en_US playlists -> play lists, play-lists, stylists
librcc.i686: W: spelling-error %description -l en_US recoding -> recording, receding, decoding
librcc.i686: W: spelling-error %description -l en_US encodings -> encoding, encoding s, recordings
librcc.i686: W: unused-direct-shlib-dependency /usr/lib/librcc.so.0.2.9 /lib/libz.so.1
librcc.i686: W: unused-direct-shlib-dependency /usr/lib/librcc.so.0.2.9 /lib/libm.so.6
librcc.i686: W: unused-direct-shlib-dependency /usr/lib/librccui.so.0.2.9 /lib/libz.so.1
librcc.i686: W: unused-direct-shlib-dependency /usr/lib/librccui.so.0.2.9 /lib/libm.so.6
librcc.i686: W: unused-direct-shlib-dependency /usr/lib/librccui.so.0.2.9 /lib/libdl.so.2
librcc.i686: W: unused-direct-shlib-dependency /usr/lib/librccui.so.0.2.9 /lib/libenca.so.0
librcc.i686: W: unused-direct-shlib-dependency /usr/lib/librccui.so.0.2.9 /lib/libpthread.so.0
4 packages and 0 specfiles checked; 62 errors, 28 warnings.
# echo 'rpmlint-done:'



Requires
--------
librcc-debuginfo-0.2.9-1.fc19.i686.rpm (rpmlib, GLIBC filtered):
    

librcc-devel-0.2.9-1.fc19.i686.rpm (rpmlib, GLIBC filtered):
    
    librcc(x86-32) = 0.2.9-1.fc19
    librcc-gtk2(x86-32) = 0.2.9-1.fc19
    librcc.so.0  
    librccgtk2.so.0  
    librccui.so.0  

librcc-0.2.9-1.fc19.i686.rpm (rpmlib, GLIBC filtered):
    
    /sbin/ldconfig  
    libc.so.6  
    libdl.so.2  
    libenca.so.0  
    libglib-2.0.so.0  
    libm.so.6  
    libpthread.so.0  
    librcc.so.0  
    libxml2.so.2  
    libxml2.so.2(LIBXML2_2.4.30)  
    libxml2.so.2(LIBXML2_2.6.0)  
    libz.so.1  
    rtld(GNU_HASH)  

librcc-gtk2-0.2.9-1.fc19.i686.rpm (rpmlib, GLIBC filtered):
    
    /sbin/ldconfig  
    libatk-1.0.so.0  
    libc.so.6  
    libcairo.so.2  
    libdl.so.2  
    libenca.so.0  
    libfontconfig.so.1  
    libfreetype.so.6  
    libgdk-x11-2.0.so.0  
    libgdk_pixbuf-2.0.so.0  
    libgio-2.0.so.0  
    libglib-2.0.so.0  
    libgobject-2.0.so.0  
    libgtk-x11-2.0.so.0  
    libm.so.6  
    libpango-1.0.so.0  
    libpangocairo-1.0.so.0  
    libpangoft2-1.0.so.0  
    libpthread.so.0  
    librcc(x86-32) = 0.2.9-1.fc19
    librcc.so.0  
    libxml2.so.2  
    libxml2.so.2(LIBXML2_2.4.30)  
    libz.so.1  
    rtld(GNU_HASH)  



Provides
--------
librcc-debuginfo-0.2.9-1.fc19.i686.rpm:
    
    librcc-debuginfo = 0.2.9-1.fc19
    librcc-debuginfo(x86-32) = 0.2.9-1.fc19

librcc-devel-0.2.9-1.fc19.i686.rpm:
    
    librcc-devel = 0.2.9-1.fc19
    librcc-devel(x86-32) = 0.2.9-1.fc19

librcc-0.2.9-1.fc19.i686.rpm:
    
    librcc = 0.2.9-1.fc19
    librcc(x86-32) = 0.2.9-1.fc19
    librcc.so.0  
    librccui.so.0  
    western_engine.so  

librcc-gtk2-0.2.9-1.fc19.i686.rpm:
    
    librcc-gtk2 = 0.2.9-1.fc19
    librcc-gtk2(x86-32) = 0.2.9-1.fc19
    librccgtk2.so.0  



Unversioned so-files
--------------------
librcc-0.2.9-1.fc19.i686.rpm: /usr/lib/rcc/engines/western_engine.so

MD5-sum check
-------------
http://dside.dyndns.org/files/rusxmms/librcc-0.2.9.tar.bz2 :
  CHECKSUM(SHA256) this package     : 8d3bd4083edfd54dcd866d5b9f3f3f2a4f63013c895eeabb00e3be79e44e3a43
  CHECKSUM(SHA256) upstream package : 8d3bd4083edfd54dcd866d5b9f3f3f2a4f63013c895eeabb00e3be79e44e3a43


Generated by fedora-review 0.3.0 (c78e275) last change: 2012-09-24
Buildroot used: fedora-rawhide-i386
Command line :/usr/bin/fedora-review -b 871037 -m fedora-rawhide-i386

Comment 5 Ivan Romanov 2012-11-01 17:50:03 UTC
(In reply to comment #4)
> First, I notice that the configure output shows some things missing that
> actually do exist in Fedora.  These *could* be added as BuildRequires,
> although I recognize you may have reasons for not wishing to do so:
> libguess-devel, db4-devel, libtranslate-devel, aspell.
I will think about this. Before I need more knowledges about this posibilites. So I built a library with only thats requires which I enough good understand.

> Second, there is a compiler warning that probably should not be ignored:
> 
> rccstring.c: In function 'rccStringFixID':
> rccstring.c:67:44: warning: array subscript is above array bounds
> [-Warray-bound
> s]
> 
> This warning points to an off-by-one error.  This line:
> 
> memcpy(lang, header->language, 2); lang[3] = 0;
> 
> should really be this:
> 
> memcpy(lang, header->language, 2); lang[2] = 0;
Thanks! I will forward this to upstream.

> Third, the unused direct shared library dependency warnings from rpmlint can
> be eliminated by adding this to the %configure line:
> LDFLAGS="-Wl,--as-needed $RPM_LD_FLAGS".
Hm...

> Fourth, another option for the Source0 download URL is Source0:
> http://downloads.sourceforge.net/rusxmms/%{name}-%{version}.tar.bz2 (see
> https://fedoraproject.org/wiki/Packaging:SourceURL#Sourceforge.net).  (I'm
> not saying you have to switch, just that sourceforge is a known quantity
> when it comes to downloads.)
Sourceforge hasn't librcc-0.2.9.tar.gz so I use dside.dyndns.org.
I will request to an author to use sourceforge for all sources.

> [!]: Patches link to upstream bugs/comments/lists or are otherwise justified.
In really the author allready known about this and he promised to update librcc on the next week.

Comment 6 Ivan Romanov 2012-11-01 17:55:12 UTC
So do you approve the package?

Comment 7 Jerry James 2012-11-01 22:05:36 UTC
(In reply to comment #5)
> I will think about this. Before I need more knowledges about this
> posibilites. So I built a library with only thats requires which I enough
> good understand.

Sure, I understand.

> Thanks! I will forward this to upstream.

Let's patch the bug for Fedora, also, so Fedora users don't suffer its (admittedly unknown) consequences.

> > Third, the unused direct shared library dependency warnings from rpmlint can
> > be eliminated by adding this to the %configure line:
> > LDFLAGS="-Wl,--as-needed $RPM_LD_FLAGS".
> Hm...

I don't understand your reply.  I actually did a build with the modified %configure line I proposed, and it worked fine.  Eliminating unused library links is a good thing; for example, it reduces address space pressure on 32-bit builds.

> > Fourth, another option for the Source0 download URL is Source0:
> > http://downloads.sourceforge.net/rusxmms/%{name}-%{version}.tar.bz2 (see
> > https://fedoraproject.org/wiki/Packaging:SourceURL#Sourceforge.net).  (I'm
> > not saying you have to switch, just that sourceforge is a known quantity
> > when it comes to downloads.)
> Sourceforge hasn't librcc-0.2.9.tar.gz so I use dside.dyndns.org.
> I will request to an author to use sourceforge for all sources.

This works for me:

$ wget http://downloads.sourceforge.net/rusxmms/librcc-0.2.9.tar.bz2

So it looks like librcc-0.2.9.tar.bz2 is already there.


(In reply to comment #6)
> So do you approve the package?

I would first like to see a modified spec file with (a) a patch for the off-by-one error, and (b) unused direct dependencies on shared libraries eliminated (whether using -Wl,--as-needed or some other mechanism).

Comment 8 Ivan Romanov 2012-11-02 08:04:40 UTC
I can't reproduce W: unused-direct-shlib-dependency. 
My rpmlint output
$ rpmlint librcc-0.2.9-2.fc19.i686.rpm librcc-0.2.9-2.fc19.src.rpm librcc-debuginfo-0.2.9-2.fc19.i686.rpm librcc-devel-0.2.9-2.fc19.i686.rpm librcc-gtk2-0.2.9-2.fc19.i686.rpm
librcc.i686: W: spelling-error %description -l en_US multi -> mulch, mufti
librcc.i686: W: spelling-error %description -l en_US playlists -> play lists, play-lists, stylists
librcc.i686: W: spelling-error %description -l en_US recoding -> recording, receding, decoding
librcc.i686: W: spelling-error %description -l en_US encodings -> encoding, encoding s, recordings
librcc.i686: W: incoherent-version-in-changelog 0.2.9-1 ['0.2.9-2.fc19', '0.2.9-2']
librcc.src: W: spelling-error %description -l en_US multi -> mulch, mufti
librcc.src: W: spelling-error %description -l en_US playlists -> play lists, play-lists, stylists
librcc.src: W: spelling-error %description -l en_US recoding -> recording, receding, decoding
librcc.src: W: spelling-error %description -l en_US encodings -> encoding, encoding s, recordings
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/ui/internal.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/internal.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/plugin.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rcclock.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/plugin.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rcctranslate.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rcctranslate.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/lngconfig.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/lngconfig.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/ui/rccmenu.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/ui/rccmenu.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/fs.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/librcc.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/fs.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/librcc.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccspell.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccspell.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rcchome.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccconfig.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/fake_rcd.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rcchome.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccconfig.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/opt.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/ui/null.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/opt.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/engines/western.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccdb4.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/lng.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/lng.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccdb4.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/curconfig.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/ui/rccnames.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rcciconv.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rcciconv.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccstring.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccmutex.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccmutex.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/external/rcclibtranslate.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/external/rcclibtranslate.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rcclist.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rcclist.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccstring.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccxml.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/ui/librccui.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccxml.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/engine.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/engine.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccexternal.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccexternal.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rcclocale.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/recode.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccenca.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/ui/librccui.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/rccenca.h
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/ui/gtk.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/src/lngrecode.c
librcc-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/librcc-0.2.9/ui/rccnames.h
librcc-devel.i686: E: incorrect-fsf-address /usr/include/librccui.h
librcc-devel.i686: E: incorrect-fsf-address /usr/share/doc/librcc-devel-0.2.9/examples/example2.c
librcc-devel.i686: E: incorrect-fsf-address /usr/share/doc/librcc-devel-0.2.9/examples/rcc-gtk-config.c
librcc-devel.i686: E: incorrect-fsf-address /usr/include/librcc.h
librcc-devel.i686: E: incorrect-fsf-address /usr/share/doc/librcc-devel-0.2.9/examples/example1.c
librcc-gtk2.i686: W: spelling-error %description -l en_US devel -> delve, devil, revel
librcc-gtk2.i686: W: no-documentation
5 packages and 0 specfiles checked; 62 errors, 11 warnings.

Spec URL: https://raw.github.com/drizt/librcc-package/14723b5a58a21d62d8da46bbb9a9b2f5aef3a7f5/librcc.spec
SRPM URL: https://raw.github.com/drizt/librcc-package/14723b5a58a21d62d8da46bbb9a9b2f5aef3a7f5/librcc-0.2.9-2.fc19.src.rpm

Comment 9 Jerry James 2012-11-02 21:26:58 UTC
(In reply to comment #8)
> I can't reproduce W: unused-direct-shlib-dependency. 

That test can only be done on installed RPMs.  Try either (1) installing your RPMs, then running "rpmlint librcc librcc-devel librcc-gtk2", or (2) running fedora-review on your package (e.g., "fedora-review -n 871037").

Comment 11 Ivan Romanov 2012-11-03 09:11:23 UTC
Package Review
==============

Key:
[x] = Pass
[!] = Fail
[-] = Not applicable
[?] = Not evaluated
[ ] = Manual review needed


===== MUST items =====

C/C++:
[x]: Package does not contain any libtool archives (.la)
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Rpath absent or only used for internal libs.
[x]: Development (unversioned) .so files in -devel subpackage, if present.
     Note: Unversioned so-files in private %_libdir subdirectory (see
     attachment). Verify they are not in ld path.
[-]: Static libraries in -static subpackage, if present.
     Note: ocaml-zarith-devel-1.1-2.fc19.i686.rpm :
     /usr/lib/ocaml/zarith/libzarith.a ocaml-zarith-devel-1.1-2.fc19.i686.rpm
     : /usr/lib/ocaml/zarith/zarith.a
     It's OK because ocaml packages have exception

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package contains no bundled libraries.
[x]: Changelog in prescribed format.
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Sources contain only permissible code or content.
[x]: Each %files section contains %defattr if rpm < 4.4
[x]: Macros in Summary, %description expandable at SRPM build time.
[-]: Package contains desktop file if it is a GUI application.
[x]: Development files must be in a -devel package
[x]: Package requires other packages for directories it uses.
[x]: Package uses nothing in %doc for runtime.
[x]: Package is not known to require ExcludeArch.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Fully versioned dependency in subpackages, if present.
[x]: Package complies to the Packaging Guidelines
[x]: Spec file lacks Packager, Vendor, PreReq tags.
[-]: Large documentation files are in a -doc subpackage, if required.
[x]: If (and only if) the source package includes the text of the license(s)
     in its own file, then that file, containing the text of the license(s)
     for the package is included in %doc.
[x]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "Unknown or generated". 1 files have unknown license. Detailed output of
     licensecheck in /home/taurus/870522-Packaging_OCaml_ocaml-foolib/srpm
     /review-ocaml-zarith/licensecheck.txt
[x]: License file installed when any subpackage combination is installed.
[x]: Package consistently uses macro is (instead of hard-coded directory
     names).
[x]: Package is named using only allowed ASCII characters.
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
     Note: Package contains no Conflicts: tag(s)
[x]: Package do not use a name that already exist
[x]: Package obeys FHS, except libexecdir and /usr/target.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: Package installs properly.
[x]: Package is not relocatable.
[x]: Requires correct, justified where necessary.
[x]: CheckResultdir
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: Sources used to build the package match the upstream source, as provided
     in the spec URL.
[x]: Spec file is legible and written in American English.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[-]: Package contains systemd file(s) if in need.
[x]: File names are valid UTF-8.
[x]: Useful -debuginfo package or justification otherwise.
     no -debuginfo package because it's impossible to get this for ocaml packages
===== SHOULD items =====

Generic:
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[-]: If the source package does not include license text(s) as a separate file
     from upstream, the packager SHOULD query upstream to include it.
[x]: Dist tag is present.
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Final provides and requires are sane (rpm -q --provides and rpm -q
     --requires).
[?]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: The placement of pkgconfig(.pc) files are correct.
[x]: SourceX tarball generation or download is documented.
[x]: SourceX / PatchY prefixed with %{name}.
     Note: Source0 (zarith-1.1.tgz)
     It's Ok for ocaml packages because ocaml libraries must be prefixed with ocaml-
[x]: SourceX is a working URL.
[-]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[x]: %check is present and all tests pass.
[!]: Packages should try to preserve timestamps of original installed files.
[x]: Spec use %global instead of %define.

===== EXTRA items =====

Generic:
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).


Rpmlint
-------
Checking: ocaml-zarith-1.1-2.fc19.i686.rpm
          ocaml-zarith-1.1-2.fc19.src.rpm
          ocaml-zarith-devel-1.1-2.fc19.i686.rpm
ocaml-zarith.i686: W: spelling-error %description -l en_US mlip -> lip, limp, slip
ocaml-zarith.i686: W: spelling-error %description -l en_US unboxed -> unbowed, unbounded
ocaml-zarith.i686: W: spelling-error %description -l en_US mli -> mil, ml, mi
ocaml-zarith.src: W: spelling-error %description -l en_US mlip -> lip, limp, slip
ocaml-zarith.src: W: spelling-error %description -l en_US unboxed -> unbowed, unbounded
ocaml-zarith.src: W: spelling-error %description -l en_US mli -> mil, ml, mi
ocaml-zarith.src:61: W: configure-without-libdir-spec
3 packages and 0 specfiles checked; 0 errors, 7 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint ocaml-zarith ocaml-zarith-devel
ocaml-zarith.i686: W: spelling-error %description -l en_US mlip -> lip, limp, slip
ocaml-zarith.i686: W: spelling-error %description -l en_US unboxed -> unbowed, unbounded
ocaml-zarith.i686: W: spelling-error %description -l en_US mli -> mil, ml, mi
2 packages and 0 specfiles checked; 0 errors, 3 warnings.
# echo 'rpmlint-done:'



Requires
--------
ocaml-zarith-1.1-2.fc19.i686.rpm (rpmlib, GLIBC filtered):
    
    libc.so.6  
    libgmp.so.10  
    ocaml(Buffer) = 3f6c994721573c9f8b5411e6824249f4
    ocaml(Callback) = 6fd6d47b2f6a171a493621bc5edbfb32
    ocaml(Format) = 6e6b7b75c544ef4ca673a763aec805af
    ocaml(Pervasives) = 4836c254f0eacad92fbf67abc525fdda
    ocaml(String) = 54ba2685e6ed154753718e9c8becb28b
    ocaml(Z) = b27d0f2445fc2d3f044189fa31b0f57e
    ocaml(runtime) = 4.00.1
    rtld(GNU_HASH)  

ocaml-zarith-devel-1.1-2.fc19.i686.rpm (rpmlib, GLIBC filtered):
    
    ocaml-zarith(x86-32) = 1.1-2.fc19



Provides
--------
ocaml-zarith-1.1-2.fc19.i686.rpm:
    
    dllzarith.so  
    ocaml(Big_int_Z) = f150ff948d48683a97c88495b008ffc3
    ocaml(Q) = d92b4e11b932f950c4cd6f400316fd95
    ocaml(Z) = b27d0f2445fc2d3f044189fa31b0f57e
    ocaml-zarith = 1.1-2.fc19
    ocaml-zarith(x86-32) = 1.1-2.fc19
    zarith.cmxs  

ocaml-zarith-devel-1.1-2.fc19.i686.rpm:
    
    ocaml-zarith-devel = 1.1-2.fc19
    ocaml-zarith-devel(x86-32) = 1.1-2.fc19



Unversioned so-files
--------------------
ocaml-zarith-1.1-2.fc19.i686.rpm: /usr/lib/ocaml/stublibs/dllzarith.so

MD5-sum check
-------------
http://forge.ocamlcore.org/frs/download.php/835/zarith-1.1.tgz :
  CHECKSUM(SHA256) this package     : a0ba322c8d4f5bffa43f1c571e839baa0c7b155b67630bbd8481df21eb636b6e
  CHECKSUM(SHA256) upstream package : a0ba322c8d4f5bffa43f1c571e839baa0c7b155b67630bbd8481df21eb636b6e


Generated by fedora-review 0.3.0 (c78e275) last change: 2012-09-24
Buildroot used: fedora-rawhide-i386
Command line :/usr/bin/fedora-review -r -n ocaml-zarith-1.1-2.fc19

============= PACKAGE APPROVED ===================================

Comment 12 Ivan Romanov 2012-11-03 09:13:00 UTC
Sorry ... wrong tab

Comment 13 Jerry James 2012-11-04 03:29:22 UTC
Heh, no worries.  It looks like you fixed everything, so this package is APPROVED.

Comment 14 Ivan Romanov 2012-11-04 06:13:31 UTC
Thanks

New Package SCM Request
=======================
Package Name: librcc
Short Description: RusXMMS Charset Conversion Library
Owners: ivanromanov
Branches: f17 f18 el6
InitialCC:

Comment 15 Gwyn Ciesla 2012-11-05 13:07:52 UTC
Git done (by process-git-requests).

Comment 16 Fedora Update System 2012-11-05 17:54:18 UTC
librcc-0.2.9-3.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/librcc-0.2.9-3.fc18

Comment 17 Fedora Update System 2012-11-05 17:55:36 UTC
librcc-0.2.9-3.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/librcc-0.2.9-3.fc17

Comment 18 Fedora Update System 2012-11-05 17:57:07 UTC
librcc-0.2.9-3.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/librcc-0.2.9-3.el6

Comment 19 Fedora Update System 2012-11-05 22:44:42 UTC
librcc-0.2.9-3.fc18 has been pushed to the Fedora 18 testing repository.

Comment 20 Fedora Update System 2012-11-15 02:44:19 UTC
librcc-0.2.9-3.fc17 has been pushed to the Fedora 17 stable repository.

Comment 21 Fedora Update System 2012-11-24 20:03:24 UTC
librcc-0.2.9-3.el6 has been pushed to the Fedora EPEL 6 stable repository.

Comment 22 Ivan Romanov 2015-05-04 12:02:52 UTC
Package Change Request
=======================
Package Name: librcc
Owners: ivanromanov
New Branches: epel7
InitialCC: ivanromanov

Comment 23 Gwyn Ciesla 2015-05-04 19:46:01 UTC
Git done (by process-git-requests).


Note You need to log in before you can comment on or make changes to this bug.