[Bug 3345] Review request: kodi - Media center
RPM Fusion Bugzilla
noreply at rpmfusion.org
Sun Dec 28 20:03:08 CET 2014
https://bugzilla.rpmfusion.org/show_bug.cgi?id=3345
Jonathan Dieter <jdieter at gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
CC| |jdieter at gmail.com
Blocks|2 |3
AssignedTo|rpmfusion-package-review at rp |jdieter at gmail.com
|mfusion.org |
--- Comment #7 from Jonathan Dieter <jdieter at gmail.com> 2014-12-28 20:03:08 CET ---
Mike P, I'm assuming since you didn't take the bug, you're not actually doing
the formal review, so I'm taking it. Please feel free to take it back if you
want to do the formal review and are already either a Fedora packager or an RPM
Fusion packager.
Package Review
==============
Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable
Major Issues (details in list)
==============================
- Licensing in spec isn't exhaustive
- Bundled libs
===== MUST items =====
C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Development (unversioned) .so files in -devel subpackage, if present.
[x]: Package does not contain any libtool archives (.la)
[x]: Rpath absent or only used for internal libs.
Generic:
[!]: If the package is under multiple licenses, the licensing breakdown must
be documented in the spec.
The spec doesn't yet acknowledge the multiple licenses, so the breakdown
isn't documented.
[!]: License field in the package spec file matches the actual license.
The licenses listed in the spec are GPLv2+ and GPLv3+, which is just a
subset of the licenses actually listed in the source files. This is
particularly true when the licensing for the bundled libraries is
included. I think this may mean the license should be a combination of
all of the below. *Gulp*
Note: Checking patched sources after %prep for licenses. Licenses found:
"LGPL (v2.1 or later) (with incorrect FSF address)", "LGPL (v2) (with
incorrect FSF address)", "GPL (v2) (with incorrect FSF address)", "LGPL
(v2 or later) (with incorrect FSF address)", "BSD (2 clause) LGPL (v2 or
later) (with incorrect FSF address)", "LGPL (with incorrect FSF
address)", "ISC", "GPL (v2.1 or later)", "*No copyright* GPL (v2 or
later)", "*No copyright* MIT/X11 (BSD like)", "PHP (v3.01)", "*No
copyright* GPL (v2 or later) (with incorrect FSF address)", "LGPL (v2 or
later)", "GPL (v3 or later)", "*No copyright* GPL (v2.1 or later)",
"Public domain GPL (v2 or later)", "zlib/libpng", "BSD (2 clause) GPL (v2
or later)", "GPL (v2 or later) (with incorrect FSF address)", "BSD (2
clause)", "Apache (v2.0)", "GPL (with incorrect FSF address)", "MIT/X11
(BSD like)", "*No copyright* LGPL (v2.1 or later) (with incorrect FSF
address)", "*No copyright* Public domain", "BSD", "BSD (3 clause)",
"Public domain MIT/X11 (BSD like)", "GPL (v2 or later)", "BSD (2 clause)
MIT/X11 (BSD like)", "Unknown or generated", "BSD (4 clause)", "BSL
(v1.0)", "LGPL (v2.1 or later)", "GPL (v2)", "MPL (v1.1) GPL
(unversioned/unknown version) GPL (v2 or later)". 1420 files have unknown
license. Detailed output of licensecheck in attached licensecheck.txt
[!]: Package contains no bundled libraries without FPC exception.
As was the case with xbmc, kodi contains a large number of bundled
libraries. I would really like to see if we can break off a few more of
them, particularly the ones that are already in Fedora. At the very
least, let's split off common libraries that are bundled in the bundled
libraries (i.e. zlib in libupnp).
A small list of libraries I'd really like to see split off:
- libprojectM
- afpfs-ng (might already be used as a system lib, but still in lib dir)
- zlib from libupnp
[!]: License file installed when any subpackage combination is installed.
License file is not installed when kodi-eventclients is installed
[!]: Package consistently uses macros (instead of hard-coded directory names).
In the %build section, two paths are directly specified. Is the spec file
the most appropriate place for these includes?
[!]: Requires correct, justified where necessary.
Manual requires aren't arch-specific. (e.g. we should Require:
libbluray%{?_isa} rather than just Require: libbluray)
[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 must own all directories that it creates.
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[x]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[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]: Spec file is legible and written in American English.
[x]: gtk-update-icon-cache is invoked in %postun and %posttrans if package
contains icons.
[x]: Useful -debuginfo package or justification otherwise.
[x]: Package is not known to require an ExcludeArch tag.
[x]: Package successfully compiles and builds into binary rpms on at least one
supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
Note: There are rpmlint messages (see attachment).
[x]: Package requires other packages for directories it uses.
[x]: Package does not own files or directories owned by other packages.
[x]: All build dependencies are listed in BuildRequires, except for any that
are listed in the exceptions section of Packaging Guidelines.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
beginning of %install.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Package contains desktop file if it is a GUI application.
[x]: Package installs a %{name}.desktop using desktop-file-install or desktop-
file-validate if there is such a file.
[x]: Package does not contain duplicates in %files.
[x]: Package use %makeinstall only when make install' ' DESTDIR=... doesn't
work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package do not use a name that already exist
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as provided
in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
%{name}.spec.
[x]: File names are valid UTF-8.
[x]: Packages must not store files under /srv, /opt or /usr/local
[-]: Package contains systemd file(s) if in need.
[-]: Large documentation must go in a -doc subpackage. Large could be size
(~1MB) or number of files.
Note: Documentation size is 122880 bytes in 19 files.
[-]: Each %files section contains %defattr if rpm < 4.4
Python:
[x]: Package meets the Packaging Guidelines::Python
[x]: Binary eggs must be removed in %prep
[-]: Python eggs must not download any dependencies during the build process.
[-]: A package which is used by another package via an egg interface should
provide egg info.
===== SHOULD items =====
Generic:
[!]: Fully versioned dependency in subpackages if applicable.
Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in kodi-devel
, kodi-eventclients , kodi-eventclients-devel
[!]: Install man pages for binaries
Man pages are available, but not installed properly. Instead, they are
currently listed as %doc
[!]: Package should compile and build into binary rpms on all supported
architectures.
Is there a reason we have ExcludeArch: ppc64?
[x]: Avoid bundling fonts in non-fonts packages.
[x]: Final provides and requires are sane (see attachments).
[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: Patches link to upstream bugs/comments/lists or are otherwise justified.
[x]: SourceX tarball generation or download is documented.
[x]: Packages should try to preserve timestamps of original installed files.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[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)
[x]: Dist tag is present (not strictly required in GL).
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Uses parallel make %{?_smp_mflags} macro.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.
[-]: Description and summary sections in the package spec file contains
translations for supported Non-English languages, if available.
[-]: %check is present and all tests pass.
[-]: If the source package does not include license text(s) as a separate file
from upstream, the packager SHOULD query upstream to include it.
===== EXTRA items =====
Generic:
[!]: Large data in /usr/share should live in a noarch subpackage if package is
arched.
Not sure if 47MB is worth the effort of splitting this into a noarch
package.
Note: Arch-ed rpms have a total of 47022080 bytes in /usr/share
kodi-14.0-1.fc21.x86_64.rpm:47001600
See:
http://fedoraproject.org/wiki/Packaging:ReviewGuidelines#Package_Review_Guidelines
[!]: Package should not use obsolete m4 macros
I don't consider these showstoppers, but thought they should be listed
Note: Some obsoleted macros found, see end of comment.
See: https://fedorahosted.org/FedoraReview/wiki/AutoTools
[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.
AutoTools: Obsoleted m4s found
------------------------------
AM_PROG_LIBTOOL found in:
kodi-14.0/xbmc/visualizations/Goom/goom2k4-0/configure.in:8
AC_PROG_LIBTOOL found in: kodi-14.0/lib/gtest/configure.ac:30,
kodi-14.0/lib/libdvd/libdvdnav/configure.ac:100,
kodi-14.0/lib/cpluff/configure.ac:63,
kodi-14.0/lib/cpluff/examples/configure.ac:31, kodi-14.0/configure.in:588
--
Configure bugmail: https://bugzilla.rpmfusion.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
You are the assignee for the bug.
More information about the rpmfusion-developers
mailing list