Bug 1048493 (icecat) - Review Request: icecat - GNU version of Firefox browser
Summary: Review Request: icecat - GNU version of Firefox browser
Keywords:
Status: CLOSED ERRATA
Alias: icecat
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Denis Fateyev
QA Contact: Fedora Extras Quality Assurance
URL: http://copr-fe.cloud.fedoraproject.or...
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-01-04 17:00 UTC by Antonio
Modified: 2014-10-20 17:43 UTC (History)
6 users (show)

Fixed In Version: icecat-24.0-14.fc19
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-09-10 13:28:43 UTC
denis: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Mozilla Foundation 517422 None None None Never
Red Hat Bugzilla 517856 None CLOSED xulrunner bundles multiple libraries 2018-10-03 17:39:43 UTC
Red Hat Bugzilla 1128754 None CLOSED Review Request: mozilla-requestpolicy - Firefox and Seamonkey extension that gives you control over cross-site requests 2018-10-03 17:39:43 UTC

Internal Links: 1128754

Description Antonio 2014-01-04 17:00:06 UTC
Spec URL: http://sagitter.fedorapeople.org/Icecat/icecat.spec
SRPM URL: http://kojipkgs.fedoraproject.org//work/tasks/4556/6354556/icecat-24.0-1.fc21.src.rpm

Description: GNUZilla Icecat is a fully-free fork of Mozilla Firefox.
Four extensions are included to this version of IceCat:

* GNU LibreJS
* The IceCat Privacy Extension
* Https-Everywhere
* Request Policy
  Blocks third party requests.

Fedora Account System Username: sagitter

Note:

- Some time ago I read that icecat can not be included officially in Fedora because a "Firefox browser" already exists. I wanted to package it anyway, if you think icecat is still useless in Fedora, please help me to check this .spec file at least. I can also close this review without to obtain the approval of this package.

- Icecat building considers both browser and xulrunner compilation. The x86 and x86_64 RPMs are built in about 7 hours; the armv7 one in few hours plus.  

x86/x86_64 builds: http://koji.fedoraproject.org/koji/taskinfo?taskID=6344714
armv7 build: http://koji.fedoraproject.org/koji/taskinfo?taskID=6354555

I don't know if I can change something to speed up the compilation.

- Part of the spec file (all changes on lang files) is taken from the Firefox spec file in Fedora.

- This package contains rpaths. Internal libraries for this package are present in the %{mozappdir} directory and this should be passable.
http://fedoraproject.org/wiki/Packaging:Guidelines#Rpath_for_Internal_Libraries

Comment 2 Denis Fateyev 2014-01-07 19:07:28 UTC
Some notes first:

1) Please use %global instead of %define, as recommended in official guidelines;

2) There is something complicated with the license, please clarify it;

3) Don't need to mix macros-style calls with normal calls:

   for i in 16 22 24 32 36 48 64 72 96 128 256 ; do
     mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${i}x${i}/apps
   ... 
   install -D %{SOURCE1} \
   ...
   ##Define static files location
   %{__mkdir_p} $RPM_BUILD_ROOT%{icecat_static} 

   --- better to leave only one (normal paths are now preferable);

4) Use "install" with '-p' option to preserve timestamps;

5) "export PREFIX='%{_prefix}'" and "export LIBDIR='%{_libdir}'" - are they
   really needed? Haven't checked yet, just asking first.

Comment 3 Antonio 2014-01-08 16:24:10 UTC
Hi Denis.

(In reply to Denis Fateyev from comment #2)
> 5) "export PREFIX='%{_prefix}'" and "export LIBDIR='%{_libdir}'" - are they
>    really needed? Haven't checked yet, just asking first.

Since %configure is not called, I think 'export' are necessary, even if I have not tried without them yet.

Spec URL: http://sagitter.fedorapeople.org/Icecat/icecat.spec
SRPM URL: http://sagitter.fedorapeople.org/Icecat/icecat-24.0-2.fc20.src.rpm

Comment 4 Denis Fateyev 2014-01-10 15:38:52 UTC
Sorry for the delay here. Will be reviewed soon.

Comment 5 Denis Fateyev 2014-01-12 21:52:36 UTC
Package Review
==============

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


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

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Package does not contain any libtool archives (.la)
[x]: Rpath absent or only used for internal libs.

Generic:
[x]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
     Note: Using prebuilt packages
[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]: 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.
[?]: License field in the package spec file matches the actual license.
     Note: There is no build directory. Running licensecheck on vanilla
     upstream sources. Licenses found: "GPL", "LGPL (v2.1 or later) (with
     incorrect FSF address)", "BSD (3 clause) ISC", "LGPL (v2 or later) (with
     incorrect FSF address)", "Apache (v2.0) BSD (2 clause)", "ISC", "Public
     domain", "GPL (v3 or later)", "zlib/libpng", "libpng", "BSD (2 clause)",
     "Apache (v2.0)", "GPL (v2 or later)", "MIT/X11 (BSD like)", "MPL (v1.1)",
     "*No copyright* Public domain", "BSD (4 clause) ISC", "BSD (3 clause)",
     "MPL (v1.1) GPL (unversioned/unknown version)", "LGPL", "Unknown or
     generated", "BSD (4 clause)", "BSL (v1.0)", "*No copyright* GPL (v3 or
     later)", "MPL (v1.0) LGPL (v2 or later) (with incorrect FSF address)",
     "*No copyright* Beerware", "Apache (v2.0) MIT/X11 (BSD like)", "LGPL
     (v2.1 or later)", "BSD (3 clause) MIT/X11 (BSD like)". 18480 files have
     unknown license. Detailed output of licensecheck in
     /home/mock/sandbox/prebuilt/icecat/licensecheck.txt
[x]: If the package is under multiple licenses, the licensing breakdown must
     be documented in the spec.
[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.
     Note: Using prebuilt rpms.
[?]: Package contains no bundled libraries without FPC exception.
     Note: Especially check following dirs for bundled code:
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/media/webrtc/signaling/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/testing/mozbase/manifestdestiny/tests/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/media/webrtc/trunk/webrtc/modules/audio_processing/aec/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/media/webrtc/trunk/webrtc/test/libtest/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-unpacked/Source0/icecat-24.0
     /addon-sdk/source/python-lib/cuddlefish/tests/static-
     files/packages/third_party, /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/ipc/chromium/src/third_party,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/media/webrtc/trunk/webrtc/modules/audio_device/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/js/src/ctypes/libffi/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/testing/gtest/gmock/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/media/webrtc/trunk/webrtc/modules/video_capture/external,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/media/libnestegg/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/media/webrtc/trunk/webrtc/modules/video_render/external,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/netwerk/srtp/src/crypto/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/media/webrtc/trunk/tools/gyp/test/rules/src/external,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/media/libtheora/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/gfx/ots/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/media/webrtc/trunk/webrtc/modules/audio_coding/codecs/g711/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/media/webrtc/trunk/webrtc/common_audio/resampler/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/security/nss/lib/libpkix/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/browser/branding/unofficial/extensions/jid1-KtlZuoiikVfFew@jetpack/resources/librejs/data/third_party,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/media/omx-plugin/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/media/webrtc/trunk/webrtc/modules/audio_processing/agc/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/media/webrtc/signaling/src/sipcc/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/gfx/angle/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/netwerk/srtp/src/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/python/mozbuild/mozbuild/test/backend/data/external_make_dirs/external,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/security/nss/lib/dbm/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp8/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/media/webrtc/trunk/webrtc/modules/remote_bitrate_estimator/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/nsprpub/pr/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/media/webrtc/trunk/webrtc/modules/video_capture/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/media/webrtc/signaling/src/sipcc/cpr/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/media/webrtc/trunk/webrtc/video_engine/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/testing/gtest/gtest/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/ipc/chromium/src/base/third_party,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/media/webrtc/trunk/webrtc/modules/audio_processing/aecm/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/media/webvtt/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/toolkit/crashreporter/google-
     breakpad/src/common/android/include, /home/mock/sandbox/prebuilt/icecat
     /upstream-unpacked/Source0/icecat-24.0/gfx/angle/src/third_party,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/toolkit/crashreporter/google-
     breakpad/src/common/android/testing/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/media/webrtc/trunk/testing/gtest/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/media/webrtc/trunk/tools/gyp/test/mac/libraries,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/toolkit/crashreporter/google-
     breakpad/src/third_party, /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/media/webrtc/trunk/webrtc/common_audio/vad/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/media/webrtc/trunk/webrtc/voice_engine/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/media/libtremor/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/media/libvpx/vpx_mem/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/memory/jemalloc/src/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/media/libopus/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/media/webrtc/trunk/webrtc/common_audio/signal_processing/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/modules/freetype2/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/media/mtransport/third_party,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/media/webrtc/trunk/webrtc/modules/bitrate_controller/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/media/webrtc/trunk/third_party,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/media/libvorbis/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/media/libogg/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/media/webrtc/trunk/webrtc/modules/audio_processing/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/media/webrtc/trunk/webrtc/modules/audio_processing/ns/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/media/libcubeb/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/nsprpub/lib/libc/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/media/webrtc/trunk/webrtc/video_engine/test/libvietest/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/media/webrtc/trunk/webrtc/common_video/libyuv/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/gfx/graphite2/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/media/webrtc/trunk/webrtc/modules/audio_coding/codecs/g722/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/modules/freetype2/builds/amiga/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/gfx/skia/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/media/webrtc/trunk/webrtc/modules/pacing/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/caps/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/media/webrtc/trunk/webrtc/modules/audio_coding/codecs/cng/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/media/webrtc/trunk/webrtc/modules/video_render/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/media/webrtc/trunk/webrtc/common_video/jpeg/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/media/webrtc/trunk/webrtc/modules/audio_coding/codecs/pcm16b/include,
     /home/mock/sandbox/prebuilt/icecat/upstream-
     unpacked/Source0/icecat-24.0/xpcom/tests/external
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[x]: Package contains desktop file if it is a GUI application.
[x]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[x]: Package does not contain duplicates in %files.
[x]: Package consistently uses macros (instead of hard-coded directory names).
[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]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[x]: Package is not known to require an ExcludeArch tag.
[x]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 163840 bytes in 12 files.
[x]: Package complies to the Packaging Guidelines
[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 must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[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]: Permissions on files are set properly.
[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

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

Generic:
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Reviewer should test that the package builds in mock.
[x]: 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]: 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.
     Note: Package contains tarball without URL, check comments
[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.
[x]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed files.
[x]: Sources can be downloaded from URI in Source: tag
[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]: Fully versioned dependency in subpackages if applicable.
[x]: Uses parallel make %{?_smp_mflags} macro.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

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

Generic:
[x]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.
     Note: Arch-ed rpms have a total of 8622080 bytes in /usr/share
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).


Rpmlint
-------
Checking: icecat-24.0-2.fc19.src.rpm
icecat.src: W: strange-permission icecat-24.0.tar.gz 0600L
icecat.src: W: strange-permission icecat-disable-neon.patch 0600L
icecat.src: W: %ifarch-applied-patch Patch1: %{name}-disable-neon.patch
icecat.src: W: invalid-url Source4: icecat-langpacks.tar.gz
1 packages and 0 specfiles checked; 0 errors, 4 warnings.


Rpmlint (installed packages)
----------------------------
[mock@fc19-amd64 icecat]$ rpmlint icecat
icecat.x86_64: W: obsolete-not-provided mozilla
icecat.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-24.0/icecat ['%{mozappdir}']
icecat.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-24.0/libmozsqlite3.so ['%{mozappdir}']
icecat.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-24.0/icecat-bin ['%{mozappdir}']
icecat.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-24.0/mozilla-xremote-client ['%{mozappdir}']
icecat.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-24.0/components/libmozgnome.so ['%{mozappdir}']
icecat.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-24.0/browser/components/libbrowsercomps.so ['%{mozappdir}']
icecat.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-24.0/libmozalloc.so ['%{mozappdir}']
icecat.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-24.0/components/libdbusservice.so ['%{mozappdir}']
icecat.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-24.0/libxul.so ['%{mozappdir}']
icecat.x86_64: E: missing-call-to-setgroups /usr/lib64/icecat-24.0/libxul.so
icecat.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-24.0/xulrunner-stub ['%{mozappdir}']
icecat.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-24.0/webapprt-stub ['%{mozappdir}']
icecat.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-24.0/plugin-container ['%{mozappdir}']
icecat.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-24.0/xulrunner ['%{mozappdir}']
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/inspector/selector-search.js
icecat.x86_64: E: wrong-script-end-of-line-encoding /usr/lib64/icecat-24.0/browser/modules/devtools/inspector/selector-search.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/extensions/privacy_features@gnuzilla.gnu.org/chrome/locale/es-AR/privacy_features.properties
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/VariablesViewController.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/Parser.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/StyleSheetEditor.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/chrome/browser/content/browser/devtools/profiler/cleopatra/css/ui.css
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/components/NetworkGeolocationProvider.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/modules/devtools/gcli.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/modules/devtools/SourceMap.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/framework/toolbox.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/DeveloperToolbar.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/inspector/highlighter.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/StyleEditorDebuggee.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/chrome/en-US/locale/browser/devtools/tilt.properties
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/styleinspector/css-logic.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/tilt/tilt-utils.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/chrome/browser/content/browser/devtools/profiler/cleopatra/images/circlearrow.svg
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/markupview/markup-view.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/shared/telemetry.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/modules/osfile/osfile_win_allthreads.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/modules/osfile/osfile_unix_allthreads.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/ProfilerPanel.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/SplitView.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/gDevTools.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/modules/osfile/_PromiseWorker.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/AppCacheUtils.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/BuiltinCommands.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/modules/osfile/osfile_async_front.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/ViewHelpers.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/main.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/inspector/selection.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/LayoutHelpers.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/tilt/TiltWorkerCrafter.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/framework/webconsole.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/DebuggerProcess.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/modules/osfile/osfile_shared_front.jsm
icecat.x86_64: E: incorrect-fsf-address /usr/lib64/icecat-24.0/browser/extensions/https-everywhere@eff.org/chrome/content/code/NSS.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/modules/osfile/osfile_win_back.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/modules/osfile/ospath_unix_back.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/CmdTilt.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/ProfilerHelpers.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/modules/osfile/osfile_async_worker.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/tilt/tilt-visualizer.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/shared/undo.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/ProfilerController.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/tilt/TiltWorkerPicker.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/CmdScratchpad.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/StyleEditorPanel.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/responsivedesign.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/framework/toolbox-options.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/framework/toolbox-hosts.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/styleinspector/rule-view.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/chrome/browser/content/browser/devtools/profiler/cleopatra/css/tree.css
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/modules/devtools/Templater.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/chrome/browser/content/browser/devtools/profiler/cleopatra/js/ProgressReporter.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/shared/inplace-editor.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/modules/osfile/osfile_shared_allthreads.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/DOMHelpers.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/modules/osfile/osfile_unix_back.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/DebuggerPanel.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/CmdInspect.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/chrome/browser/content/browser/devtools/cleopatra.html
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/chrome/browser/content/browser/devtools/profiler/cleopatra/js/parser.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/tilt/tilt-gl.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/modules/osfile/osfile_unix_front.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/FloatingScrollbars.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/shared/event-emitter.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/CmdEdit.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/framework/sidebar.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/tilt/tilt-visualizer-style.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/modules/osfile/osfile_win_front.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/chrome/browser/content/browser/devtools/profiler/cleopatra/images/throbber.svg
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/StyleEditorUI.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/AutocompletePopup.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/tabview/utils.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/scratchpad-manager.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/VariablesView.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/inspector/breadcrumbs.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/chrome/browser/content/browser/devtools/profiler/cleopatra/images/treetwisty.svg
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/modules/osfile/ospath_win_back.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/chrome/browser/content/browser/devtools/profiler/cleopatra/js/parserWorker.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/styleinspector/computed-view.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/inspector/inspector-panel.js
icecat.x86_64: E: zero-length /usr/lib64/icecat-24.0/browser/chrome/browser/content/browser/devtools/profiler/cleopatra/images/noise.png
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/shared/theme-switching.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/CmdResize.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/chrome/browser/content/browser/devtools/profiler/cleopatra/js/tree.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/gcli.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/chrome/browser/content/browser/devtools/profiler/cleopatra/js/ui.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/modules/Promise.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/tilt/tilt.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/Commands.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/cmd-profiler.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/framework/target.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/StyleEditorUtil.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/BreadcrumbsWidget.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/tilt/tilt-math.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/styleinspector/style-inspector.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/CmdDebugger.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/NetMonitorPanel.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/SideMenuWidget.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/Jsbeautify.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/chrome/en-US/locale/en-US/pipnss/pipnss.properties
icecat.x86_64: W: no-manual-page-for-binary icecat
1 packages and 0 specfiles checked; 118 errors, 2 warnings.


Requires
--------

icecat (glibc, rpmlib filtered):
   /bin/bash  
   /bin/sh  
   fedora-bookmarks  
   libX11.so.6()(64bit)  
   libXext.so.6()(64bit)  
   libXrender.so.1()(64bit)  
   libXt.so.6()(64bit)  
   libasound.so.2()(64bit)  
   libasound.so.2(ALSA_0.9)(64bit)  
   libasound.so.2(ALSA_0.9.0rc4)(64bit)  
   libatk-1.0.so.0()(64bit)  
   libcairo.so.2()(64bit)  
   libdbus-1.so.3()(64bit)  
   libdbus-glib-1.so.2()(64bit)  
   libdl.so.2()(64bit)  
   libfontconfig.so.1()(64bit)  
   libfreetype.so.6()(64bit)  
   libgcc_s.so.1()(64bit)  
   libgdk-x11-2.0.so.0()(64bit)  
   libgdk_pixbuf-2.0.so.0()(64bit)  
   libgio-2.0.so.0()(64bit)  
   libglib-2.0.so.0()(64bit)  
   libgobject-2.0.so.0()(64bit)  
   libgthread-2.0.so.0()(64bit)  
   libgtk-x11-2.0.so.0()(64bit)  
   libhunspell-1.3.so.0()(64bit)  
   libm.so.6()(64bit)  
   libmozalloc.so()(64bit)  
   libmozsqlite3.so()(64bit)  
   libnspr4.so()(64bit)  
   libnss3.so()(64bit)  
   libnss3.so(NSS_3.10)(64bit)  
   libnss3.so(NSS_3.10.2)(64bit)  
   libnss3.so(NSS_3.11)(64bit)  
   libnss3.so(NSS_3.11.1)(64bit)  
   libnss3.so(NSS_3.11.7)(64bit)  
   libnss3.so(NSS_3.12)(64bit)  
   libnss3.so(NSS_3.12.3)(64bit)  
   libnss3.so(NSS_3.12.9)(64bit)  
   libnss3.so(NSS_3.13)(64bit)  
   libnss3.so(NSS_3.2)(64bit)  
   libnss3.so(NSS_3.3)(64bit)  
   libnss3.so(NSS_3.4)(64bit)  
   libnss3.so(NSS_3.5)(64bit)  
   libnss3.so(NSS_3.6)(64bit)  
   libnss3.so(NSS_3.7)(64bit)  
   libnss3.so(NSS_3.9)(64bit)  
   libnss3.so(NSS_3.9.2)(64bit)  
   libnss3.so(NSS_3.9.3)(64bit)  
   libnssutil3.so()(64bit)  
   libnssutil3.so(NSSUTIL_3.12)(64bit)  
   libnssutil3.so(NSSUTIL_3.12.3)(64bit)  
   libnssutil3.so(NSSUTIL_3.13)(64bit)  
   libpango-1.0.so.0()(64bit)  
   libpangocairo-1.0.so.0()(64bit)  
   libpangoft2-1.0.so.0()(64bit)  
   libplc4.so()(64bit)  
   libplds4.so()(64bit)  
   libpthread.so.0()(64bit)  
   librt.so.1()(64bit)  
   libsmime3.so()(64bit)  
   libsmime3.so(NSS_3.13)(64bit)  
   libsmime3.so(NSS_3.15)(64bit)  
   libsmime3.so(NSS_3.2)(64bit)  
   libsmime3.so(NSS_3.3)(64bit)  
   libsmime3.so(NSS_3.4)(64bit)  
   libsmime3.so(NSS_3.4.1)(64bit)  
   libsmime3.so(NSS_3.6)(64bit)  
   libsmime3.so(NSS_3.9.3)(64bit)  
   libssl3.so()(64bit)  
   libssl3.so(NSS_3.12.6)(64bit)  
   libssl3.so(NSS_3.13)(64bit)  
   libssl3.so(NSS_3.13.2)(64bit)  
   libssl3.so(NSS_3.14)(64bit)  
   libssl3.so(NSS_3.2)(64bit)  
   libssl3.so(NSS_3.4)(64bit)  
   libvpx.so.1()(64bit)  
   libxul.so()(64bit)  
   libxul.so(xul24.0)(64bit)  
   libz.so.1()(64bit)  
   rtld(GNU_HASH)  

icecat-devel (glibc, rpmlib filtered):
   /bin/sh  
   /usr/bin/env  
   /usr/bin/pkg-config  
   icecat(x86-64) = 24.0-2.fc19
   pkgconfig(nspr) >= 4.10.2


Provides
--------

icecat:
   icecat
   icecat(x86-64)
   libbrowsercomps.so()(64bit)
   libbrowsercomps.so(EXPORTED)(64bit)
   libdbusservice.so()(64bit)
   libdbusservice.so(EXPORTED)(64bit)
   libmozalloc.so()(64bit)
   libmozgnome.so()(64bit)
   libmozgnome.so(EXPORTED)(64bit)
   libmozsqlite3.so()(64bit)
   libxul.so()(64bit)
   libxul.so(xul24.0)(64bit)
   mimehandler(application/vnd.mozilla.xul+xml)
   mimehandler(application/xhtml+xml)
   mimehandler(text/html)
   mimehandler(text/mml)
   mimehandler(text/xml)
   mimehandler(x-scheme-handler/http)
   mimehandler(x-scheme-handler/https)
   webclient

icecat-devel:
   icecat-devel
   icecat-devel(x86-64)
   icecat-static
   pkgconfig(libxul)
   pkgconfig(libxul-embedding)
   pkgconfig(mozilla-js)
   pkgconfig(mozilla-plugin)


Source checksums
----------------
http://ftp.gnu.org/gnu/gnuzilla/24/icecat-24.0.tar.gz :
  CHECKSUM(SHA256) this package     : 2a79e6db8831a4047030a0451036a34a97fde455fba7a949efde34052b97bfef
  CHECKSUM(SHA256) upstream package : 2a79e6db8831a4047030a0451036a34a97fde455fba7a949efde34052b97bfef


Generated by fedora-review 0.5.1 (bb9bf27) last change: 2013-12-13
Command line :/usr/bin/fedora-review --rpm-spec --prebuilt --define DISTTAG=f19 -v --name icecat
Buildroot used: fedora-19-x86_64
Active plugins: Generic, Shell-api, C/C++
Disabled plugins: Java, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP, Ruby
Disabled flags: EXARCH, EPEL5, BATCH

----------------------------
Now review notes:

Koji scratch builds used: 
https://koji.fedoraproject.org/koji/taskinfo?taskID=6390515 (Fedora 19)
https://koji.fedoraproject.org/koji/taskinfo?taskID=6390802 (Rawhide)

1) Still unsure about License tag: probably, this format in spec is allowed, but I'm unsure. Marked as "non-evaluated" for now, it requires more clarification. "Firefox" and "xulrunner" both use simplified tag;

2) "Package contains no bundled libraries without FPC exception" - have no idea whether it's actual here, could you check them, or clear the issue providing more details?

3) Multiple issues with "%{mozappdir}" should be sorted;

4) Why not to use "xulrunner" already packaged in Fedora?

5) Approval status in uncertain due the issue mentioned in the first post: "Some time ago I read that icecat can not be included officially in Fedora because a "Firefox browser" already exists."

Comment 6 Kevin Fenzi 2014-01-13 00:19:32 UTC
I'm not sure why I am needinfo here? What info do you seek from me?

The number 5 issue above? 

See: https://fedorahosted.org/fesco/ticket/810
"forks are allowed provided they do not conflict or interfere with other packages."

Comment 7 Denis Fateyev 2014-01-13 08:29:21 UTC
Kevin, thanks for the clarification and the link anyway ;-) Antonio, seems it's clear with the latest issue now, please work with another ones.

Comment 8 Antonio 2014-01-16 18:25:34 UTC
(In reply to Denis Fateyev from comment #5)
> 
> ----------------------------
> Now review notes:
> 
> Koji scratch builds used: 
> https://koji.fedoraproject.org/koji/taskinfo?taskID=6390515 (Fedora 19)
> https://koji.fedoraproject.org/koji/taskinfo?taskID=6390802 (Rawhide)
> 
> 1) Still unsure about License tag: probably, this format in spec is allowed,
> but I'm unsure. Marked as "non-evaluated" for now, it requires more
> clarification. "Firefox" and "xulrunner" both use simplified tag;
> 
> 2) "Package contains no bundled libraries without FPC exception" - have no
> idea whether it's actual here, could you check them, or clear the issue
> providing more details?

I've tried to remove some of them. However it seems to me that some sources from third cannot be cancelled without break the compilation (for example, there is not any build config option to use libvorbis system libraries; this happens for xulrunner currently built in Fedora as well). 

> 
> 3) Multiple issues with "%{mozappdir}" should be sorted;
> 
> 4) Why not to use "xulrunner" already packaged in Fedora?

To avoid possible incompatibilities between xulrunner in Fedora and Icecat in future.


Spec URL: http://sagitter.fedorapeople.org/Icecat/icecat.spec
SRPM URL: http://sagitter.fedorapeople.org/Icecat/icecat-24.0-3.fc20.src.rpm
Koji build: http://koji.fedoraproject.org/koji/taskinfo?taskID=6409801

Comment 9 Denis Fateyev 2014-01-25 19:30:27 UTC
(In reply to Antonio Trande from comment #8)
>  
> > 2) "Package contains no bundled libraries without FPC exception" - have no
> > idea whether it's actual here, could you check them, or clear the issue
> > providing more details?
> 
> I've tried to remove some of them. However it seems to me that some sources
> from third cannot be cancelled without break the compilation (for example,
> there is not any build config option to use libvorbis system libraries; this
> happens for xulrunner currently built in Fedora as well). 

I've just looked through the spec and recent changes. Anyway, I think you should try something with CFLAGS/LDFLAGS to minimize bundled libs as much as possible. These libraries mentioned in spec..

> ## --with-system-png won't work because the system's libpng doesn't have APNG support
> ## libpng in source tree are necessary
> #rm -f media/libpng/png.h
> #rm -f media/libpng/pngconf.h

> ##It doesn't seems possible to remove these library sources
> ##without break the compilation
> #rm -rf media/libtheora
> #rm -rf media/libvorbis
> #rm -f media/libogg/include/ogg/*.h
> #rm -f media/libopus/include/*.h

.. are not explicitly allowed to be bundled in packages. I've also noticed "libffi" references which is already packaged in Fedora. For bundled libraries policy, you may refer this document for details: https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries
This is a stopper here. I doubt we can omit this requirement.

> > 3) Multiple issues with "%{mozappdir}" should be sorted;

Can you reduce the amount of warnings related to that? Seems there was also a 'rpmlint' complain.
 
> > 4) Why not to use "xulrunner" already packaged in Fedora?

> To avoid possible incompatibilities between xulrunner in Fedora and Icecat in future.

Same applied here, could you test with the system xulrunner anyway?

Comment 10 Antonio 2014-01-26 17:48:12 UTC
(In reply to Denis Fateyev from comment #9)
> (In reply to Antonio Trande from comment #8)
> >  
> > > 2) "Package contains no bundled libraries without FPC exception" - have no
> > > idea whether it's actual here, could you check them, or clear the issue
> > > providing more details?
> > 
> > I've tried to remove some of them. However it seems to me that some sources
> > from third cannot be cancelled without break the compilation (for example,
> > there is not any build config option to use libvorbis system libraries; this
> > happens for xulrunner currently built in Fedora as well). 
> 
> I've just looked through the spec and recent changes. Anyway, I think you
> should try something with CFLAGS/LDFLAGS to minimize bundled libs as much as
> possible. These libraries mentioned in spec..
> 
> > ## --with-system-png won't work because the system's libpng doesn't have APNG support
> > ## libpng in source tree are necessary
> > #rm -f media/libpng/png.h
> > #rm -f media/libpng/pngconf.h

I already annotated in the comment the reason why system libpng can't be linked. :)

> 
> > ##It doesn't seems possible to remove these library sources
> > ##without break the compilation
> > #rm -rf media/libtheora
> > #rm -rf media/libvorbis
> > #rm -f media/libogg/include/ogg/*.h
> > #rm -f media/libopus/include/*.h

In particular for these libraries doesn't exist any option to link against the same ones in the system and I think there is a reason. Also, in their sub-directories in /media, some mozilla-specific patches are included and used for the compilation. See https://bugzilla.mozilla.org/show_bug.cgi?id=517422

Probably this is valid even for other libraries linked against the system ones; for example see media/libvpx. I hope this not compromise Icecat functionalities.

> 
> .. are not explicitly allowed to be bundled in packages. I've also noticed
> "libffi" references which is already packaged in Fedora. 

That's right, I'm fixing.

> For bundled
> libraries policy, you may refer this document for details:
> https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries
> This is a stopper here. I doubt we can omit this requirement.

I agree. Also guidelines (https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries#Needing_unreleased_features) say: 

"When an application needs unreleased features of a library and that library has committed to those features (usually, the changes are checked into the trunk branch of the upstream's revision control system) but the library has not yet made a release that has that code an exception may be granted to bundle that library until the Fedora packages contain the necessary extra features"

and there are security reasons to do that in Icecat.

> 
> > > 3) Multiple issues with "%{mozappdir}" should be sorted;
> 
> Can you reduce the amount of warnings related to that? Seems there was also
> a 'rpmlint' complain.

If you refer to 'binary-or-shlib-defines-rpath' errors, rpaths exist for same reasons because some libraries are patched/compiled in Icecat. They are also located in a private lib directory, so allowed.
http://fedoraproject.org/wiki/Packaging:Guidelines#Rpath_for_Internal_Libraries

Comment 11 Greg` 2014-01-27 04:42:05 UTC
all ' icecat ' is an looks like to me is a aka ESR builds of firefox only. is it worth packaging a what maybe a useless package.

Comment 12 Martin Stransky 2014-01-27 09:04:23 UTC
There's a discussion about abandoning xulrunner. Official Firefox builds in Fedora are stand-alone builds now. So I guess the icecat package should not be based on xulrunner.

Anyway, it may be also useful to check difference between Icecat and Firefox and ship just those ones. For instance, if the only changes are some extension, we can bundle them to an official Firefox package (say in icecat-extensions rpm)  which would be much easier to maintain. But that's just a nit :)

Comment 13 Denis Fateyev 2014-01-27 09:13:24 UTC
Glenn Randers-Pehrson (the current 'libpng' maintainer) answered:

> Note that it's a one-line change to mozilla's configure.in to allow a non-apng
> supporting libpng to work.  At line 3154 in today's Nightly, change
> AC_MSG_ERROR to AC_MSG_RESULT and you'll get the warning "--with-system-png
> won't work because the system's libpng doesn't have APNG" but configure will
> continue and build a non-APNG-supporting Firefox.

> If icecat's image/decoders/nsPNGDecoder.cpp is up-to-date with current 
> mozilla-central it should work OK.  If not, there was one place I had to add
> "#ifdef PNG_APNG_SUPPORTED" within the past couple of months.

After that we can get rid of bundled libpng, at least. As for others (libtheora, libvorbis, libogg, libopus), I haven't checked yet.

Comment 14 Antonio 2014-01-27 15:58:10 UTC
(In reply to Martin Stransky from comment #12)
> There's a discussion about abandoning xulrunner. Official Firefox builds in
> Fedora are stand-alone builds now. So I guess the icecat package should not
> be based on xulrunner.
> 

Although xulrunner lengthens the building, I think it's better don't base Icecat on xulrunner.


(In reply to Denis Fateyev from comment #13)
Let me see what I can do. Thanks.

Comment 15 Antonio 2014-01-28 16:42:05 UTC
(In reply to Denis Fateyev from comment #13)
> Glenn Randers-Pehrson (the current 'libpng' maintainer) answered:
> 
> > Note that it's a one-line change to mozilla's configure.in to allow a non-apng
> > supporting libpng to work.  At line 3154 in today's Nightly, change
> > AC_MSG_ERROR to AC_MSG_RESULT and you'll get the warning "--with-system-png
> > won't work because the system's libpng doesn't have APNG" but configure will
> > continue and build a non-APNG-supporting Firefox.
> 
> > If icecat's image/decoders/nsPNGDecoder.cpp is up-to-date with current 
> > mozilla-central it should work OK.  If not, there was one place I had to add
> > "#ifdef PNG_APNG_SUPPORTED" within the past couple of months.
> 
> After that we can get rid of bundled libpng, at least. As for others
> (libtheora, libvorbis, libogg, libopus), I haven't checked yet.

Spec URL: http://sagitter.fedorapeople.org/Icecat/icecat.spec
SRPM URL: http://sagitter.fedorapeople.org/Icecat/icecat-24.0-4.fc20.src.rpm
Koji build f20: http://koji.fedoraproject.org/koji/taskinfo?taskID=6461207

Notes

It's built just the browser temporarily.
Latest changes:
- Build browser alone
- Added libffi/libpng linkage from system to .mozconfig file
- Added a patch to exclude APNG support missing error for libpng
- Added libpng-devel BR

Comment 16 Denis Fateyev 2014-02-04 21:05:51 UTC
Updated review including latest changes:

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

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


Issues:
=======
- 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.
  Note: Cannot find COPYING in rpm(s)
  See:
  http://fedoraproject.org/wiki/Packaging/LicensingGuidelines#License_Text
- This seems like a Java package, please install fedora-review-plugin-java to
  get additional checks


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

C/C++:
[!]: Provides: bundled(gnulib) in place as required.
     Note: Sources not installed
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Rpath absent or only used for internal libs.
     Note: See rpmlint output
[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.
[x]: Header files in -devel subpackage, if present.
[x]: Package does not contain any libtool archives (.la)

Generic:
[x]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
     Note: Using prebuilt packages
[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]: License field in the package spec file matches the actual license.
     Note: There is no build directory. Running licensecheck on vanilla
     upstream sources. No licenses found. Please check the source files for
     licenses manually.
[x]: License file installed when any subpackage combination is installed.
[x]: If the package is under multiple licenses, the licensing breakdown must
     be documented in the spec.
[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.
     Note: Using prebuilt rpms.
[!]: Package contains no bundled libraries without FPC exception.
[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 does not contain duplicates in %files.
[x]: Package consistently uses macros (instead of hard-coded directory names).
[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]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[x]: update-desktop-database is invoked in %post and %postun if package
     contains desktop file(s) with a MimeType: entry.
     Note: desktop file(s) with MimeType entry in icecat
[x]: gtk-update-icon-cache is invoked in %postun and %posttrans if package
     contains icons.
     Note: icons in icecat
[x]: Useful -debuginfo package or justification otherwise.
[x]: Package is not known to require an ExcludeArch tag.
[x]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 81920 bytes in 6 files.
[x]: Package complies to the Packaging Guidelines
[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 must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[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]: Permissions on files are set properly.
[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.
[!]: Static libraries in -static or -devel subpackage, providing -devel if
     present.
     Note: Package has .a files: icecat-devel.
[x]: File names are valid UTF-8.
[x]: Packages must not store files under /srv, /opt or /usr/local

Java:
[-]: Bundled jar/class files should be removed before build
     Note: Can't find any BUILD directory (--prebuilt option?)

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

Generic:
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Reviewer should test that the package builds in mock.
[!]: Uses parallel make %{?_smp_mflags} macro.
[x]: 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]: 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.
     Note: Package contains tarball without URL, check comments
[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.
[x]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed files.
[x]: Sources can be downloaded from URI in Source: tag
[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]: Fully versioned dependency in subpackages if applicable.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

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

Generic:
[-]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.
     Note: Arch-ed rpms have a total of 4280320 bytes in /usr/share
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).


Rpmlint
-------
Checking: icecat-24.0-4.fc20.x86_64.rpm
          icecat-devel-24.0-4.fc20.x86_64.rpm
          icecat-24.0-4.fc20.src.rpm
icecat.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-24.0/icecat ['%{mozappdir}']
icecat.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-24.0/icecat-bin ['%{mozappdir}']
icecat.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-24.0/mozilla-xremote-client ['%{mozappdir}']
icecat.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-24.0/components/libmozgnome.so ['%{mozappdir}']
icecat.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-24.0/browser/components/libbrowsercomps.so ['%{mozappdir}']
icecat.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-24.0/libmozalloc.so ['%{mozappdir}']
icecat.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-24.0/components/libdbusservice.so ['%{mozappdir}']
icecat.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-24.0/libxul.so ['%{mozappdir}']
icecat.x86_64: E: missing-call-to-setgroups /usr/lib64/icecat-24.0/libxul.so
icecat.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-24.0/webapprt-stub ['%{mozappdir}']
icecat.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-24.0/plugin-container ['%{mozappdir}']
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/inspector/selector-search.js
icecat.x86_64: E: wrong-script-end-of-line-encoding /usr/lib64/icecat-24.0/browser/modules/devtools/inspector/selector-search.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/extensions/privacy_features@gnuzilla.gnu.org/chrome/locale/es-AR/privacy_features.properties
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/VariablesViewController.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/Parser.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/StyleSheetEditor.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/chrome/browser/content/browser/devtools/profiler/cleopatra/css/ui.css
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/components/NetworkGeolocationProvider.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/modules/devtools/gcli.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/modules/osfile/osfile_async_worker.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/modules/devtools/SourceMap.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/framework/toolbox.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/DeveloperToolbar.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/inspector/highlighter.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/StyleEditorDebuggee.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/chrome/en-US/locale/browser/devtools/tilt.properties
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/styleinspector/css-logic.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/tilt/tilt-utils.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/chrome/browser/content/browser/devtools/profiler/cleopatra/images/circlearrow.svg
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/markupview/markup-view.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/shared/telemetry.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/modules/osfile/osfile_win_allthreads.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/modules/osfile/osfile_unix_allthreads.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/ProfilerPanel.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/SplitView.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/gDevTools.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/modules/osfile/_PromiseWorker.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/AppCacheUtils.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/BuiltinCommands.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/modules/osfile/osfile_async_front.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/ViewHelpers.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/main.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/inspector/selection.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/LayoutHelpers.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/tilt/TiltWorkerCrafter.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/framework/webconsole.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/DebuggerProcess.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/modules/osfile/osfile_shared_front.jsm
icecat.x86_64: E: incorrect-fsf-address /usr/lib64/icecat-24.0/browser/extensions/https-everywhere@eff.org/chrome/content/code/NSS.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/modules/osfile/osfile_win_back.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/modules/osfile/ospath_unix_back.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/CmdTilt.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/ProfilerHelpers.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/tilt/tilt-visualizer.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/shared/undo.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/ProfilerController.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/tilt/TiltWorkerPicker.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/CmdScratchpad.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/StyleEditorPanel.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/responsivedesign.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/framework/toolbox-options.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/framework/toolbox-hosts.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/styleinspector/rule-view.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/chrome/browser/content/browser/devtools/profiler/cleopatra/css/tree.css
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/modules/devtools/Templater.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/chrome/browser/content/browser/devtools/profiler/cleopatra/js/ProgressReporter.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/shared/inplace-editor.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/modules/osfile/osfile_shared_allthreads.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/DOMHelpers.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/modules/osfile/osfile_unix_back.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/DebuggerPanel.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/CmdInspect.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/chrome/browser/content/browser/devtools/cleopatra.html
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/chrome/browser/content/browser/devtools/profiler/cleopatra/js/parser.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/tilt/tilt-gl.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/CmdResize.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/modules/osfile/osfile_unix_front.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/FloatingScrollbars.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/shared/event-emitter.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/CmdEdit.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/framework/sidebar.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/tilt/tilt-visualizer-style.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/modules/osfile/osfile_win_front.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/chrome/browser/content/browser/devtools/profiler/cleopatra/images/throbber.svg
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/StyleEditorUI.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/AutocompletePopup.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/tabview/utils.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/scratchpad-manager.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/VariablesView.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/inspector/breadcrumbs.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/chrome/browser/content/browser/devtools/profiler/cleopatra/images/treetwisty.svg
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/modules/osfile/ospath_win_back.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/chrome/browser/content/browser/devtools/profiler/cleopatra/js/parserWorker.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/styleinspector/computed-view.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/inspector/inspector-panel.js
icecat.x86_64: E: zero-length /usr/lib64/icecat-24.0/browser/chrome/browser/content/browser/devtools/profiler/cleopatra/images/noise.png
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/shared/theme-switching.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/chrome/browser/content/browser/devtools/profiler/cleopatra/js/tree.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/gcli.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/chrome/browser/content/browser/devtools/profiler/cleopatra/js/ui.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/modules/Promise.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/tilt/tilt.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/Commands.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/cmd-profiler.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/framework/target.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/StyleEditorUtil.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/BreadcrumbsWidget.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/tilt/tilt-math.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/styleinspector/style-inspector.js
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/CmdDebugger.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/NetMonitorPanel.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/SideMenuWidget.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/browser/modules/devtools/Jsbeautify.jsm
icecat.x86_64: E: script-without-shebang /usr/lib64/icecat-24.0/chrome/en-US/locale/en-US/pipnss/pipnss.properties
icecat.x86_64: W: no-manual-page-for-binary icecat
icecat.x86_64: W: desktopfile-without-binary /usr/share/applications/icecat-24.0.desktop icecat
icecat-devel.x86_64: W: unstripped-binary-or-object /usr/lib64/icecat-devel-24.0/sdk/bin/xpcshell
icecat-devel.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-devel-24.0/sdk/bin/xpcshell ['%{mozappdir}']
icecat-devel.x86_64: W: no-documentation
icecat-devel.x86_64: E: incorrect-fsf-address /usr/include/icecat-24.0/cairo/cairo-features.h
icecat-devel.x86_64: E: non-executable-script /usr/lib64/icecat-devel-24.0/sdk/bin/xpidl.py 0644L /usr/bin/env
icecat-devel.x86_64: E: non-executable-script /usr/lib64/icecat-devel-24.0/sdk/bin/header.py 0644L /usr/bin/env
icecat-devel.x86_64: W: cross-directory-hard-link /usr/include/icecat-24.0/CompositorParent.h /usr/include/icecat-24.0/mozilla/layers/CompositorParent.h
icecat-devel.x86_64: W: cross-directory-hard-link /usr/include/icecat-24.0/mozilla/Selection.h /usr/include/icecat-24.0/Selection.h
icecat-devel.x86_64: E: incorrect-fsf-address /usr/include/icecat-24.0/cairo/cairo-platform.h
icecat-devel.x86_64: W: cross-directory-hard-link /usr/include/icecat-24.0/mozilla/layers/CompositorChild.h /usr/include/icecat-24.0/CompositorChild.h
icecat-devel.x86_64: W: dangling-symlink /usr/lib64/icecat-devel-24.0/bin /usr/lib64/icecat-24.0
icecat-devel.x86_64: W: cross-directory-hard-link /usr/include/icecat-24.0/mozilla/layers/D3D9SurfaceImage.h /usr/include/icecat-24.0/D3D9SurfaceImage.h
icecat-devel.x86_64: W: spurious-executable-perm /usr/include/icecat-24.0/skia/SkAdvancedTypefaceMetrics.h
icecat-devel.x86_64: W: cross-directory-hard-link /usr/include/icecat-24.0/mozilla/layers/ShadowLayersManager.h /usr/include/icecat-24.0/ShadowLayersManager.h
icecat-devel.x86_64: W: cross-directory-hard-link /usr/include/icecat-24.0/ImageHost.h /usr/include/icecat-24.0/mozilla/layers/ImageHost.h
icecat-devel.x86_64: E: non-executable-script /usr/lib64/icecat-devel-24.0/sdk/bin/typelib.py 0644L /usr/bin/env
icecat.src:83: W: unversioned-explicit-provides webclient
icecat.src:192: W: macro-in-comment %{xulrunnerdir}
icecat.src:297: W: macro-in-comment %{_libdir}
icecat.src: W: %ifarch-applied-patch Patch1: %{name}-disable-neon.patch
icecat.src: W: invalid-url Source4: icecat-langpacks.tar.gz
3 packages and 0 specfiles checked; 121 errors, 17 warnings.




Rpmlint (installed packages)
----------------------------
Cannot parse rpmlint output:


Requires
--------
icecat-devel (rpmlib, GLIBC filtered):
    /bin/sh
    /usr/bin/env
    icecat(x86-64)

icecat (rpmlib, GLIBC filtered):
    /bin/bash
    /bin/sh
    fedora-bookmarks
    ld-linux-x86-64.so.2()(64bit)
    libX11.so.6()(64bit)
    libXext.so.6()(64bit)
    libXrender.so.1()(64bit)
    libXt.so.6()(64bit)
    libasound.so.2()(64bit)
    libasound.so.2(ALSA_0.9)(64bit)
    libasound.so.2(ALSA_0.9.0rc4)(64bit)
    libatk-1.0.so.0()(64bit)
    libc.so.6()(64bit)
    libcairo.so.2()(64bit)
    libdbus-1.so.3()(64bit)
    libdbus-glib-1.so.2()(64bit)
    libdl.so.2()(64bit)
    libffi.so.6()(64bit)
    libfontconfig.so.1()(64bit)
    libfreetype.so.6()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libgcc_s.so.1(GCC_3.3)(64bit)
    libgcc_s.so.1(GCC_3.4)(64bit)
    libgcc_s.so.1(GCC_4.0.0)(64bit)
    libgdk-x11-2.0.so.0()(64bit)
    libgdk_pixbuf-2.0.so.0()(64bit)
    libgio-2.0.so.0()(64bit)
    libglib-2.0.so.0()(64bit)
    libgobject-2.0.so.0()(64bit)
    libgthread-2.0.so.0()(64bit)
    libgtk-x11-2.0.so.0()(64bit)
    libhunspell-1.3.so.0()(64bit)
    libjpeg.so.62()(64bit)
    libjpeg.so.62(LIBJPEG_6.2)(64bit)
    libm.so.6()(64bit)
    libmozalloc.so()(64bit)
    libnspr4.so()(64bit)
    libnss3.so()(64bit)
    libnss3.so(NSS_3.10)(64bit)
    libnss3.so(NSS_3.10.2)(64bit)
    libnss3.so(NSS_3.11)(64bit)
    libnss3.so(NSS_3.11.1)(64bit)
    libnss3.so(NSS_3.11.7)(64bit)
    libnss3.so(NSS_3.12)(64bit)
    libnss3.so(NSS_3.12.3)(64bit)
    libnss3.so(NSS_3.12.9)(64bit)
    libnss3.so(NSS_3.13)(64bit)
    libnss3.so(NSS_3.2)(64bit)
    libnss3.so(NSS_3.3)(64bit)
    libnss3.so(NSS_3.4)(64bit)
    libnss3.so(NSS_3.5)(64bit)
    libnss3.so(NSS_3.6)(64bit)
    libnss3.so(NSS_3.7)(64bit)
    libnss3.so(NSS_3.9)(64bit)
    libnss3.so(NSS_3.9.2)(64bit)
    libnss3.so(NSS_3.9.3)(64bit)
    libnssutil3.so()(64bit)
    libnssutil3.so(NSSUTIL_3.12)(64bit)
    libnssutil3.so(NSSUTIL_3.12.3)(64bit)
    libnssutil3.so(NSSUTIL_3.13)(64bit)
    libpango-1.0.so.0()(64bit)
    libpangocairo-1.0.so.0()(64bit)
    libpangoft2-1.0.so.0()(64bit)
    libplc4.so()(64bit)
    libplds4.so()(64bit)
    libpng16.so.16()(64bit)
    libpng16.so.16(PNG16_0)(64bit)
    libpthread.so.0()(64bit)
    libpulse.so.0()(64bit)
    librt.so.1()(64bit)
    libsmime3.so()(64bit)
    libsmime3.so(NSS_3.13)(64bit)
    libsmime3.so(NSS_3.15)(64bit)
    libsmime3.so(NSS_3.2)(64bit)
    libsmime3.so(NSS_3.3)(64bit)
    libsmime3.so(NSS_3.4)(64bit)
    libsmime3.so(NSS_3.4.1)(64bit)
    libsmime3.so(NSS_3.6)(64bit)
    libsmime3.so(NSS_3.9.3)(64bit)
    libsqlite3.so.0()(64bit)
    libssl3.so()(64bit)
    libssl3.so(NSS_3.12.6)(64bit)
    libssl3.so(NSS_3.13)(64bit)
    libssl3.so(NSS_3.13.2)(64bit)
    libssl3.so(NSS_3.14)(64bit)
    libssl3.so(NSS_3.2)(64bit)
    libssl3.so(NSS_3.4)(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    libvpx.so.1()(64bit)
    libxul.so()(64bit)
    libxul.so(xul24.0)(64bit)
    libz.so.1()(64bit)
    nspr
    nss
    rtld(GNU_HASH)



Provides
--------
icecat-devel:
    icecat-devel
    icecat-devel(x86-64)
    icecat-static

icecat:
    icecat
    icecat(x86-64)
    libbrowsercomps.so()(64bit)
    libbrowsercomps.so(EXPORTED)(64bit)
    libdbusservice.so()(64bit)
    libdbusservice.so(EXPORTED)(64bit)
    libmozalloc.so()(64bit)
    libmozgnome.so()(64bit)
    libmozgnome.so(EXPORTED)(64bit)
    libxul.so()(64bit)
    libxul.so(xul24.0)(64bit)
    mimehandler(application/vnd.mozilla.xul+xml)
    mimehandler(application/xhtml+xml)
    mimehandler(text/html)
    mimehandler(text/mml)
    mimehandler(text/xml)
    mimehandler(x-scheme-handler/http)
    mimehandler(x-scheme-handler/https)
    webclient



Unversioned so-files
--------------------
icecat: /usr/lib64/icecat-24.0/browser/components/libbrowsercomps.so
icecat: /usr/lib64/icecat-24.0/components/libdbusservice.so
icecat: /usr/lib64/icecat-24.0/components/libmozgnome.so
icecat: /usr/lib64/icecat-24.0/libmozalloc.so
icecat: /usr/lib64/icecat-24.0/libxul.so

Source checksums
----------------
http://ftp.gnu.org/gnu/gnuzilla/24/icecat-24.0.tar.gz :
  CHECKSUM(SHA256) this package     : 2a79e6db8831a4047030a0451036a34a97fde455fba7a949efde34052b97bfef
  CHECKSUM(SHA256) upstream package : 2a79e6db8831a4047030a0451036a34a97fde455fba7a949efde34052b97bfef


Generated by fedora-review 0.5.1 (bb9bf27) last change: 2013-12-13
Command line :/usr/bin/fedora-review --rpm-spec --prebuilt --name icecat
Buildroot used: fedora-20-x86_64
Active plugins: Generic, Shell-api, Java, C/C++
Disabled plugins: Python, SugarActivity, fonts, Haskell, Ocaml, Perl, R, PHP, Ruby
Disabled flags: EXARCH, EPEL5, BATCH, DISTTAG

----------------------------
Now review notes:

1) Please remove bundled "jemalloc" since Fedora already has the packaged one;

2) As for bundled "libtheora" and others, there is some doubt whether we really need them bundled nowadays, that Mozilla thread is aged (anyway, I'm going to check this out shortly);

3) Please decide with the issue whether "xulrunner" is bundled here or not? This triggers "xulrunner-devel" presence in build dependencies;

4) Right now, "-devel" contains both static and dynamic libs, seems violates this: https://fedoraproject.org/wiki/Packaging:Guidelines#Packaging_Static_Libraries_2

5) Maybe "make %{?_smp_mflags}" would also work?

6) Strange: "icecat.x86_64: W: desktopfile-without-binary /usr/share/applications/icecat-24.0.desktop icecat", also warnings like "unversioned-explicit-provides", and so on;

7) Probably, better to provide links to i18n ".xpi" files separately instead of preparing a solid archive. It will form a bunch of files but allows to check URL consistency and checksums, as well. Not a requirement, but a suggestion;

8) Please mark all eventually bundled components as "bundled()"; 

9) I agree that it's applicable here -
 "When an application needs unreleased features of a library and that library has committed to those features (usually, the changes are checked into the trunk branch of the upstream's revision control system) but the library has not yet made a release that has that code an exception may be granted to bundle that library until the Fedora packages contain the necessary extra features" 

 - but it requires to request an exception from FPC, anyway. From guidelines:
 "You must note that the library has been granted an exception in a spec file comment with a link to the FPC ticket where the exception was granted."

Comment 17 Antonio 2014-02-06 19:36:46 UTC
1) Please remove bundled "jemalloc" since Fedora already has the packaged one;

Done.

2) As for bundled "libtheora" and others, there is some doubt whether we really need them bundled nowadays, that Mozilla thread is aged (anyway, I'm going to check this out shortly);

3) Please decide with the issue whether "xulrunner" is bundled here or not? This triggers "xulrunner-devel" presence in build dependencies;

Bearing in mind the Martin's comment (comment#12), xulrunner is compiled even if I can also not do that for now. We see what FPC says.

4) Right now, "-devel" contains both static and dynamic libs, seems violates this: https://fedoraproject.org/wiki/Packaging:Guidelines#Packaging_Static_Libraries_2

A static sub-package is built now.

5) Maybe "make %{?_smp_mflags}" would also work?

Fixed.

6) Strange: "icecat.x86_64: W: desktopfile-without-binary /usr/share/applications/icecat-24.0.desktop icecat", also warnings like "unversioned-explicit-provides", and so on;

Fixed now.

7) Probably, better to provide links to i18n ".xpi" files separately instead of preparing a solid archive. It will form a bunch of files but allows to check URL consistency and checksums, as well. Not a requirement, but a suggestion;

Maybe this complicates too much the file spec.

8) Please mark all eventually bundled components as "bundled()"; 

Done.

9) I agree that it's applicable here -
 "When an application needs unreleased features of a library and that library has committed to those features (usually, the changes are checked into the trunk branch of the upstream's revision control system) but the library has not yet made a release that has that code an exception may be granted to bundle that library until the Fedora packages contain the necessary extra features" 

 - but it requires to request an exception from FPC, anyway. From guidelines:
 "You must note that the library has been granted an exception in a spec file comment with a link to the FPC ticket where the exception was granted."

https://fedorahosted.org/fpc/ticket/391

Spec URL: http://sagitter.fedorapeople.org/Icecat/icecat.spec
SRPM URL: http://sagitter.fedorapeople.org/Icecat/icecat-24.0-5.fc20.src.rpm

Comment 19 Denis Fateyev 2014-02-08 15:13:39 UTC
BTW, you can get rid of multiple "non-executable-script" rpmlint errors dropping executable flag on such files.
https://fedoraproject.org/wiki/Common_Rpmlint_issues#script-without-shebang

Comment 20 Antonio 2014-02-08 15:48:03 UTC
(In reply to Denis Fateyev from comment #19)
> BTW, you can get rid of multiple "non-executable-script" rpmlint errors
> dropping executable flag on such files.
> https://fedoraproject.org/wiki/Common_Rpmlint_issues#script-without-shebang

Already done *after* latest koji build; see file spec.

##Fix executable permissions
pushd $RPM_BUILD_ROOT%{_libdir}/%{icecat_devel}/sdk/bin
 for i in `find . -type f \( -name "*.py" -o -name "xpcshell" \)`; do
 chmod a+x $i
done
popd

Comment 21 Antonio 2014-02-08 15:49:04 UTC
> > BTW, you can get rid of multiple "non-executable-script" rpmlint errors
> > dropping executable flag on such files.
> > https://fedoraproject.org/wiki/Common_Rpmlint_issues#script-without-shebang
> 
> Already done *after* latest koji build; see file spec.
> 
> ##Fix executable permissions
> pushd $RPM_BUILD_ROOT%{_libdir}/%{icecat_devel}/sdk/bin
>  for i in `find . -type f \( -name "*.py" -o -name "xpcshell" \)`; do
>  chmod a+x $i
> done
> popd

and

##Remove spurious executable permissions
pushd $RPM_BUILD_ROOT%{icecatappdir}
for i in `find . -perm /111 -type f \( -name "*.js" -o -name "*.jsm" \)`; do
chmod a-x $i
done
popd

Comment 22 Denis Fateyev 2014-02-08 16:45:00 UTC
Sorry, seems I was looking at the previous rpmlint report ;-) Well, waiting info from FPC.

Comment 23 Antonio 2014-03-13 19:56:19 UTC
(In reply to Denis Fateyev from comment #22)
> Well, waiting info from FPC.

We are waiting for a new Icecat release (27.0.1). 
After that I can definitively work on removing of bundled files (see bz#517856#c15).

Comment 24 Denis Fateyev 2014-03-13 20:35:02 UTC
Great, I watched FPC thread and discussions. I will perform a new package review immediately when the new version is available for test.

Comment 25 Antonio 2014-03-30 12:25:07 UTC
New build:

Spec URL: http://sagitter.fedorapeople.org/Icecat/icecat.spec
SRPM URL: http://sagitter.fedorapeople.org/Icecat/icecat-24.0-8.fc20.src.rpm

Koji build for f20: http://koji.fedoraproject.org/koji/taskinfo?taskID=6687444 

Most but not all bundled files are removed; i hope that i can manage more easily the others in the new release.
Built browser and xulrunner.

Comment 26 Antonio 2014-04-10 17:35:25 UTC
Spec URL: http://sagitter.fedorapeople.org/Icecat/icecat.spec
SRPM URL: http://sagitter.fedorapeople.org/Icecat/icecat-24.0-9.fc20.src.rpm

Unless new Icecat 27 will disclosed in the meantime, this release should be ready for review.

Although there are new specific criteria (https://fedoraproject.org/wiki/User:Toshio/Bundling_relaxation) for allowing bundling of code in Icecat (and Firefox), they need to be integrated and made official; for this reason, the FPC ticket (#391) is *not* positively closed yet.

Comment 27 Denis Fateyev 2014-05-16 11:05:07 UTC
Any changes occured in the spec since the last conversation?
(I'd like to get them if any to perform new formal review)

BTW, that's a pity that Icecat has no updates since that time.

Comment 28 Antonio 2014-05-16 12:29:15 UTC
(In reply to Denis Fateyev from comment #27)
> Any changes occured in the spec since the last conversation?
> (I'd like to get them if any to perform new formal review)
> 
> BTW, that's a pity that Icecat has no updates since that time.

No news for the moment and upstream seems no inclined to grant other informations about next release.

FPC ticket will be closed soon (i hope).

Comment 29 Antonio 2014-07-18 08:27:58 UTC
Spec URL: http://sagitter.fedorapeople.org/Icecat/icecat.spec
SRPM URL: http://sagitter.fedorapeople.org/Icecat/icecat-24.0-10.fc20.src.rpm

Added freetype2 system-headers list for Fedora>=21 (patch5)

Comment 30 Denis Fateyev 2014-07-21 22:05:26 UTC
Updated review for "icecat-24.0-10":


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

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


Issues:
=======
- 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.
  Note: Cannot find COPYING in rpm(s)
  See:
  http://fedoraproject.org/wiki/Packaging/LicensingGuidelines#License_Text
- This seems like a Java package, please install fedora-review-plugin-java to
  get additional checks
- Bundled jar/class files should be removed before build
  Note: Jar files in source (see attachment)
  See: http://fedoraproject.org/wiki/Packaging:Java#Pre-
  built_JAR_files_.2F_Other_bundled_software'
- Binary eggs must be removed in %prep
  Note: Binary egg files not removed in %prep:
  ./python/virtualenv/virtualenv_support/setuptools-0.6c11-py2.5.egg
  ./python/virtualenv/virtualenv_support/setuptools-0.6c11-py2.7.egg
  ./python/virtualenv/virtualenv_support/setuptools-0.6c11-py2.6.egg
  See:
  http://fedoraproject.org/wiki/Packaging:Python#Packaging_eggs_and_setuptools_concerns


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

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[-]: Rpath absent or only used for internal libs.
     Note: See rpmlint output
[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.
[x]: Header files in -devel subpackage, if present.
[x]: Package does not contain any libtool archives (.la)

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.
[!]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "BSD (4 clause) ISC", "LGPL (v2.1 or later) (with incorrect FSF
     address)", "BSD (3 clause) ISC", "*No copyright* MPL (v2.0)", "Apache
     (v2.0) BSD (2 clause)", "*No copyright* BSD (3 clause)", "ISC", "*No
     copyright* Apache (v2.0)", "Public domain", "GPL (v3 or later)", "BSD (2
     clause)", "Apache (v2.0)", "GPL (v2 or later)", "*No copyright* Public
     domain MPL (v2.0)", "MIT/X11 (BSD like)", "*No copyright* Public domain",
     "BSD (3 clause)", "*No copyright* Beerware MPL (v2.0)", "LGPL (v2.1 or
     later)", "MPL (v2.0) BSD (3 clause)", "LGPL", "Unknown or generated",
     "BSD (4 clause)", "GPL", "*No copyright* GPL (v3 or later)", "BSD (3
     clause) MIT/X11 (BSD like)", "MPL (v2.0) MIT/X11 (BSD like)", "Apache
     (v2.0) MIT/X11 (BSD like)", "MPL (v2.0)", "MPL (v1.0) LGPL (v2 or later)
     (with incorrect FSF address)", "MPL (v1.1) GPL (unversioned/unknown
     version)", "MPL (v2.0) BSD (2 clause)". 1823 files have unknown license.
     Detailed output of licensecheck in
     /home/mock/sandbox/test/icecat/licensecheck.txt
[!]: License file installed when any subpackage combination is installed.
[!]: If the package is under multiple licenses, the licensing breakdown must
     be documented in the spec.
[x]: %build honors applicable compiler flags or justifies otherwise.
[!]: Package contains no bundled libraries without FPC exception.
[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 consistently uses macros (instead of hard-coded directory names).
[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]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[x]: Package contains systemd file(s) if in need.
[x]: update-desktop-database is invoked in %post and %postun if package
     contains desktop file(s) with a MimeType: entry.
     Note: desktop file(s) with MimeType entry in icecat
[x]: gtk-update-icon-cache is invoked in %postun and %posttrans if package
     contains icons.
     Note: icons in icecat
[x]: Useful -debuginfo package or justification otherwise.
[-]: Package is not known to require an ExcludeArch tag.
[x]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 307200 bytes in 17 files.
[x]: Package complies to the Packaging Guidelines
[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 must own all directories that it creates.
[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]: Permissions on files are set properly.
[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]: Static libraries in -static or -devel subpackage, providing -devel if
     present.
     Note: Package has .a files: icecat-static.
[x]: File names are valid UTF-8.
[x]: Packages must not store files under /srv, /opt or /usr/local

Python:
[-]: 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.
[-]: Package meets the Packaging Guidelines::Python
[x]: Package contains BR: python2-devel or python3-devel

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

Generic:
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: 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]: Final provides and requires are sane (see attachments).
[x]: Fully versioned dependency in subpackages if applicable.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in icecat-
     static
[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.
[-]: SourceX tarball generation or download is documented.
     Note: Package contains tarball without URL, check comments
[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.
[x]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed files.
[x]: Sources can be downloaded from URI in Source: tag
[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]: The placement of pkgconfig(.pc) files are correct.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

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

Generic:
[x]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.
     Note: Arch-ed rpms have a total of 4536320 bytes in /usr/share
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).


Rpmlint
-------
Checking: icecat-24.0-10.fc20.x86_64.rpm
          icecat-devel-24.0-10.fc20.x86_64.rpm
          icecat-static-24.0-10.fc20.x86_64.rpm
          icecat-24.0-10.fc20.src.rpm
icecat.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-24.0/icecat ['%{mozappdir}']
icecat.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-24.0/icecat-bin ['%{mozappdir}']
icecat.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-24.0/mozilla-xremote-client ['%{mozappdir}']
icecat.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-24.0/components/libmozgnome.so ['%{mozappdir}']
icecat.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-24.0/browser/components/libbrowsercomps.so ['%{mozappdir}']
icecat.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-24.0/libmozalloc.so ['%{mozappdir}']
icecat.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-24.0/components/libdbusservice.so ['%{mozappdir}']
icecat.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-24.0/libxul.so ['%{mozappdir}']
icecat.x86_64: E: missing-call-to-setgroups /usr/lib64/icecat-24.0/libxul.so
icecat.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-24.0/xulrunner-stub ['%{mozappdir}']
icecat.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-24.0/webapprt-stub ['%{mozappdir}']
icecat.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-24.0/plugin-container ['%{mozappdir}']
icecat.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-24.0/xulrunner ['%{mozappdir}']
icecat.x86_64: E: incorrect-fsf-address /usr/lib64/icecat-24.0/browser/extensions/https-everywhere@eff.org/chrome/content/code/NSS.js
icecat.x86_64: W: no-manual-page-for-binary icecat
icecat.x86_64: W: desktopfile-without-binary /usr/share/applications/icecat-24.0.desktop icecat
icecat-devel.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-devel-24.0/sdk/bin/xpcshell ['%{mozappdir}']
icecat-devel.x86_64: W: no-documentation
icecat-devel.x86_64: E: script-without-shebang /usr/lib64/icecat-devel-24.0/sdk/bin/xpidllex.py
icecat-devel.x86_64: W: dangling-symlink /usr/lib64/icecat-devel-24.0/bin /usr/lib64/icecat-24.0
icecat-devel.x86_64: E: script-without-shebang /usr/lib64/icecat-devel-24.0/sdk/bin/xpidlyacc.py
icecat.src: W: %ifarch-applied-patch Patch1: %{name}-disable-neon.patch
icecat.src: W: invalid-url Source4: icecat-langpacks.tar.gz
4 packages and 0 specfiles checked; 17 errors, 6 warnings.


Rpmlint (installed packages)
----------------------------
# rpmlint icecat-devel icecat-static icecat
icecat-devel.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-devel-24.0/sdk/bin/xpcshell ['%{mozappdir}']
icecat-devel.x86_64: W: no-documentation
icecat-devel.x86_64: E: script-without-shebang /usr/lib64/icecat-devel-24.0/sdk/bin/xpidllex.py
icecat-devel.x86_64: W: dangling-symlink /usr/lib64/icecat-devel-24.0/bin /usr/lib64/icecat-24.0
icecat-devel.x86_64: E: script-without-shebang /usr/lib64/icecat-devel-24.0/sdk/bin/xpidlyacc.py
icecat.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-24.0/icecat ['%{mozappdir}']
icecat.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-24.0/icecat-bin ['%{mozappdir}']
icecat.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-24.0/mozilla-xremote-client ['%{mozappdir}']
icecat.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-24.0/components/libmozgnome.so ['%{mozappdir}']
icecat.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-24.0/browser/components/libbrowsercomps.so ['%{mozappdir}']
icecat.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-24.0/libmozalloc.so ['%{mozappdir}']
icecat.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-24.0/components/libdbusservice.so ['%{mozappdir}']
icecat.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-24.0/libxul.so ['%{mozappdir}']
icecat.x86_64: E: missing-call-to-setgroups /usr/lib64/icecat-24.0/libxul.so
icecat.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-24.0/xulrunner-stub ['%{mozappdir}']
icecat.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-24.0/webapprt-stub ['%{mozappdir}']
icecat.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-24.0/plugin-container ['%{mozappdir}']
icecat.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/icecat-24.0/xulrunner ['%{mozappdir}']
icecat.x86_64: E: incorrect-fsf-address /usr/lib64/icecat-24.0/browser/extensions/https-everywhere@eff.org/chrome/content/code/NSS.js
icecat.x86_64: W: no-manual-page-for-binary icecat
3 packages and 0 specfiles checked; 17 errors, 3 warnings.
# echo 'rpmlint-done:'


Requires
--------
icecat-devel (rpmlib, GLIBC filtered):
    /bin/sh
    /usr/bin/env
    /usr/bin/pkg-config
    icecat(x86-64)
    ld-linux-x86-64.so.2()(64bit)
    libc.so.6()(64bit)
    libdl.so.2()(64bit)
    libgcc_s.so.1()(64bit)
    libm.so.6()(64bit)
    libmozalloc.so()(64bit)
    libnspr4.so()(64bit)
    libplc4.so()(64bit)
    libplds4.so()(64bit)
    libpthread.so.0()(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    libxul.so()(64bit)
    libxul.so(xul24.0)(64bit)
    pkgconfig(nspr)
    rtld(GNU_HASH)

icecat-static (rpmlib, GLIBC filtered):

icecat (rpmlib, GLIBC filtered):
    /bin/bash
    /bin/sh
    fedora-bookmarks
    ld-linux-x86-64.so.2()(64bit)
    libX11.so.6()(64bit)
    libXext.so.6()(64bit)
    libXrender.so.1()(64bit)
    libXt.so.6()(64bit)
    libasound.so.2()(64bit)
    libasound.so.2(ALSA_0.9)(64bit)
    libasound.so.2(ALSA_0.9.0rc4)(64bit)
    libatk-1.0.so.0()(64bit)
    libc.so.6()(64bit)
    libcairo.so.2()(64bit)
    libdbus-1.so.3()(64bit)
    libdbus-glib-1.so.2()(64bit)
    libdl.so.2()(64bit)
    libevent-2.0.so.5()(64bit)
    libffi.so.6()(64bit)
    libfontconfig.so.1()(64bit)
    libfreetype.so.6()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libgcc_s.so.1(GCC_3.3)(64bit)
    libgcc_s.so.1(GCC_3.4)(64bit)
    libgcc_s.so.1(GCC_4.0.0)(64bit)
    libgdk-x11-2.0.so.0()(64bit)
    libgdk_pixbuf-2.0.so.0()(64bit)
    libgio-2.0.so.0()(64bit)
    libglib-2.0.so.0()(64bit)
    libgobject-2.0.so.0()(64bit)
    libgthread-2.0.so.0()(64bit)
    libgtk-x11-2.0.so.0()(64bit)
    libhunspell-1.3.so.0()(64bit)
    libjpeg.so.62()(64bit)
    libjpeg.so.62(LIBJPEG_6.2)(64bit)
    libm.so.6()(64bit)
    libmozalloc.so()(64bit)
    libnspr4.so()(64bit)
    libnss3.so()(64bit)
    libnss3.so(NSS_3.10)(64bit)
    libnss3.so(NSS_3.10.2)(64bit)
    libnss3.so(NSS_3.11)(64bit)
    libnss3.so(NSS_3.11.1)(64bit)
    libnss3.so(NSS_3.11.7)(64bit)
    libnss3.so(NSS_3.12)(64bit)
    libnss3.so(NSS_3.12.3)(64bit)
    libnss3.so(NSS_3.12.9)(64bit)
    libnss3.so(NSS_3.13)(64bit)
    libnss3.so(NSS_3.2)(64bit)
    libnss3.so(NSS_3.3)(64bit)
    libnss3.so(NSS_3.4)(64bit)
    libnss3.so(NSS_3.5)(64bit)
    libnss3.so(NSS_3.6)(64bit)
    libnss3.so(NSS_3.7)(64bit)
    libnss3.so(NSS_3.9)(64bit)
    libnss3.so(NSS_3.9.2)(64bit)
    libnss3.so(NSS_3.9.3)(64bit)
    libnssutil3.so()(64bit)
    libnssutil3.so(NSSUTIL_3.12)(64bit)
    libnssutil3.so(NSSUTIL_3.12.3)(64bit)
    libnssutil3.so(NSSUTIL_3.13)(64bit)
    libpango-1.0.so.0()(64bit)
    libpangocairo-1.0.so.0()(64bit)
    libpangoft2-1.0.so.0()(64bit)
    libpixman-1.so.0()(64bit)
    libplc4.so()(64bit)
    libplds4.so()(64bit)
    libpng16.so.16()(64bit)
    libpng16.so.16(PNG16_0)(64bit)
    libpthread.so.0()(64bit)
    libpulse.so.0()(64bit)
    librt.so.1()(64bit)
    libsmime3.so()(64bit)
    libsmime3.so(NSS_3.13)(64bit)
    libsmime3.so(NSS_3.15)(64bit)
    libsmime3.so(NSS_3.2)(64bit)
    libsmime3.so(NSS_3.3)(64bit)
    libsmime3.so(NSS_3.4)(64bit)
    libsmime3.so(NSS_3.4.1)(64bit)
    libsmime3.so(NSS_3.6)(64bit)
    libsmime3.so(NSS_3.9.3)(64bit)
    libsqlite3.so.0()(64bit)
    libssl3.so()(64bit)
    libssl3.so(NSS_3.12.6)(64bit)
    libssl3.so(NSS_3.13)(64bit)
    libssl3.so(NSS_3.13.2)(64bit)
    libssl3.so(NSS_3.14)(64bit)
    libssl3.so(NSS_3.2)(64bit)
    libssl3.so(NSS_3.4)(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    libvpx.so.1()(64bit)
    libxul.so()(64bit)
    libxul.so(xul24.0)(64bit)
    libz.so.1()(64bit)
    nspr
    nss
    rtld(GNU_HASH)


Provides
--------
icecat-devel:
    icecat-devel
    icecat-devel(x86-64)
    pkgconfig(libxul)
    pkgconfig(libxul-embedding)
    pkgconfig(mozilla-js)
    pkgconfig(mozilla-plugin)

icecat-static:
    icecat-static
    icecat-static(x86-64)

icecat:
    application()
    application(icecat-24.0.desktop)
    bundled(double-conversion)
    bundled(expat)
    bundled(graphite2)
    bundled(hurfbuzz)
    bundled(libogg)
    bundled(libtheora)
    bundled(libvorbis)
    bundled(opus)
    bundled(ots)
    bundled(python-virtualenv)
    bundled(snappy)
    bundled(soundtouch)
    bundled(xulrunner)
    icecat
    icecat(x86-64)
    libbrowsercomps.so()(64bit)
    libbrowsercomps.so(EXPORTED)(64bit)
    libdbusservice.so()(64bit)
    libdbusservice.so(EXPORTED)(64bit)
    libmozalloc.so()(64bit)
    libmozgnome.so()(64bit)
    libmozgnome.so(EXPORTED)(64bit)
    libxul.so()(64bit)
    libxul.so(xul24.0)(64bit)
    mimehandler(application/vnd.mozilla.xul+xml)
    mimehandler(application/xhtml+xml)
    mimehandler(text/html)
    mimehandler(text/mml)
    mimehandler(text/xml)
    mimehandler(x-scheme-handler/http)
    mimehandler(x-scheme-handler/https)


Unversioned so-files
--------------------
icecat: /usr/lib64/icecat-24.0/browser/components/libbrowsercomps.so
icecat: /usr/lib64/icecat-24.0/components/libdbusservice.so
icecat: /usr/lib64/icecat-24.0/components/libmozgnome.so
icecat: /usr/lib64/icecat-24.0/libmozalloc.so
icecat: /usr/lib64/icecat-24.0/libxul.so

Source checksums
----------------
http://ftp.gnu.org/gnu/gnuzilla/24/icecat-24.0.tar.gz :
  CHECKSUM(SHA256) this package     : 2a79e6db8831a4047030a0451036a34a97fde455fba7a949efde34052b97bfef
  CHECKSUM(SHA256) upstream package : 2a79e6db8831a4047030a0451036a34a97fde455fba7a949efde34052b97bfef


Jar and class files in source
-----------------------------
./icecat-24.0/modules/libjar/test/unit/data/test_bug370103.jar
./icecat-24.0/toolkit/components/search/tests/xpcshell/data/searchTest.jar
./icecat-24.0/toolkit/mozapps/extensions/test/addons/test_chromemanifest_3/inner.jar
./icecat-24.0/toolkit/mozapps/extensions/test/addons/test_install4/addon5.jar
./icecat-24.0/toolkit/mozapps/extensions/test/addons/test_install4/addon7.jar
./icecat-24.0/toolkit/mozapps/extensions/test/addons/test_install4/badaddon.jar
./icecat-24.0/dom/tests/mochitest/dom-level2-html/files/applet2.class
./icecat-24.0/dom/tests/mochitest/dom-level2-html/files/applets/org/w3c/domts/DOMTSApplet.class
./icecat-24.0/dom/tests/mochitest/whatwg/postMessage.jar
./icecat-24.0/content/base/test/file_bug804395.jar
./icecat-24.0/content/base/test/file_CrossSiteXHR_inner.jar
./icecat-24.0/content/html/content/test/bug392567.jar
./icecat-24.0/browser/branding/unofficial/extensions/requestpolicy@requestpolicy.com/chrome/requestpolicy.jar
./icecat-24.0/docshell/test/bug369814.jar
./icecat-24.0/build/mobile/robocop/robotium-solo-3.6.jar
./icecat-24.0/build/mobile/sutagent/android/network-libs/commons-net-ftp-2.0.jar
./icecat-24.0/build/mobile/sutagent/android/network-libs/commons-net-2.0-javadoc.jar
./icecat-24.0/build/mobile/sutagent/android/network-libs/commons-net-2.0-sources.jar
./icecat-24.0/build/mobile/sutagent/android/network-libs/commons-net-2.0.jar
./icecat-24.0/build/mobile/sutagent/android/network-libs/jmdns.jar
./icecat-24.0/xpcom/tests/regorder/extension2.jar
./icecat-24.0/config/tests/test.manifest.jar


Generated by fedora-review 0.5.1 (bb9bf27) last change: 2013-12-13
Command line :/usr/bin/fedora-review -rn icecat-24.0-10.fc20.src.rpm
Buildroot used: fedora-20-x86_64
Active plugins: Python, Shell-api, Generic, Java, C/C++
Disabled plugins: fonts, SugarActivity, Ocaml, Haskell, Perl, R, PHP, Ruby
Disabled flags: EXARCH, EPEL5, BATCH, DISTTAG


Notes:
-----
1) It looks like some Public Domain components present here so you can add "Public Domain" to license tag;

2) It's worth at least to try to get rid of rpath here;

3) Still unaware of FPC exception for icecat bundled libs;

4) Take into account python and jar notes above;

Also, you can look through the warning list above, and fix issues if applicable.

Comment 31 Antonio 2014-07-25 18:54:41 UTC
Spec URL: http://sagitter.fedorapeople.org/Icecat/icecat.spec
SRPM URL: http://sagitter.fedorapeople.org/Icecat/icecat-24.0-11.fc20.src.rpm

- Remove precompiled .egg files
- Remove bundled jar/class files
- Delete chrpaths
- Added 'Public Domain' license
- Added a patch for using system Python Virtualenv (patch6)

Koji build in rawhide: http://koji.fedoraproject.org/koji/taskinfo?taskID=7192749

Thank you Denis for your patience.

Comment 32 Antonio 2014-08-02 08:06:52 UTC
(In reply to Denis Fateyev from comment #22)
> Well, waiting info from FPC.

FPC ticket is closed and fixed.
We can go on with this review.

Comment 33 Antonio 2014-08-10 11:07:59 UTC
I add Russell into CC list because packager of HTTPS-everywhere extension.

Removing ./icecat-24.0/browser/branding/unofficial/extensions/requestpolicy@requestpolicy.com/chrome/requestpolicy.jar seems prevent RequestPolicy extension usage in latest release of Icecat. I'm thinking to package this extension separately.

@Russell.
HTTPS-everywhere is already packaged in Fedora so I prefer to not package it in Icecat. Is HTTPS-everywhere extension in Fedora ready to be used in Icecat too?

Thanks.

Comment 34 Antonio 2014-08-10 18:49:03 UTC
Spec URL: http://sagitter.fedorapeople.org/Icecat/icecat.spec
SRPM URL: http://sagitter.fedorapeople.org/Icecat/icecat-24.0-12.fc20.src.rpm

HTTPS-everywhere and RequestPolicy are not packaged in Icecat anymore.
The first one is already packaged in Fedora, RequestPolicy (updated) will be proposed soon.

Comment 35 Russell Golden 2014-08-13 17:49:03 UTC
(In reply to Antonio Trande from comment #33)
> @Russell.
> HTTPS-everywhere is already packaged in Fedora so I prefer to not package it
> in Icecat. Is HTTPS-everywhere extension in Fedora ready to be used in
> Icecat too?
> 
> Thanks.

Upstream does its Linux testing on Debian, which only ships Icecat. I'm pretty much the main source for Fedora/RHEL testing. I imagine that any such issues have long since been hammered out.

Naturally, whether Icecat looks in the same path for extensions as Firefox is another story. If it doesn't, I can just add a symlink to the spec file.

Comment 36 Antonio 2014-08-14 09:12:11 UTC
(In reply to Russell Golden from comment #35)
> 
> Naturally, whether Icecat looks in the same path for extensions as Firefox
> is another story. If it doesn't, I can just add a symlink to the spec file.

I guess Icecat looks in the same extension paths of Firefox. On my PC, currently Icecat is using extensions for Firefox packaged in Fedora, including this https://bugzilla.redhat.com/show_bug.cgi?id=1128754.

If you wish, you yourself can test latest release hosted on my Copr project, http://copr-fe.cloud.fedoraproject.org/coprs/sagitter/Icecat/.

Thank you.

Comment 37 Russell Golden 2014-08-14 18:32:08 UTC
(In reply to Antonio Trande from comment #36)
> I guess Icecat looks in the same extension paths of Firefox. On my PC,
> currently Icecat is using extensions for Firefox packaged in Fedora,
> including this https://bugzilla.redhat.com/show_bug.cgi?id=1128754.


I see no reason that there would be a problem, then. If HTTPS Everywhere stops working, file a bug report and I'll see what I can do.

Comment 38 Denis Fateyev 2014-08-19 14:56:01 UTC
Updated review for "icecat-24.0-12".

Koji rawhide build is here: https://koji.fedoraproject.org/koji/taskinfo?taskID=7413668 , everyone involved is encouraged to look through, make some tests and give feedback since we're at the finish line.


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

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


Issues:
=======
- 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.
  Note: Cannot find COPYING in rpm(s)
  See:
  http://fedoraproject.org/wiki/Packaging/LicensingGuidelines#License_Text


===== 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.
     Note: Unversioned so-files in private %_libdir subdirectory (see
     attachment). Verify they are not in ld path.
[x]: Header 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:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[!]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "BSD (4 clause) ISC", "LGPL (v2.1 or later) (with incorrect FSF
     address)", "BSD (3 clause) ISC", "*No copyright* MPL (v2.0)", "Apache
     (v2.0) BSD (2 clause)", "*No copyright* BSD (3 clause)", "ISC", "*No
     copyright* Apache (v2.0)", "Public domain", "GPL (v3 or later)", "BSD (2
     clause)", "Apache (v2.0)", "GPL (v2 or later)", "*No copyright* Public
     domain MPL (v2.0)", "MIT/X11 (BSD like)", "*No copyright* Public domain",
     "BSD (3 clause)", "*No copyright* Beerware MPL (v2.0)", "LGPL (v2.1 or
     later)", "MPL (v2.0) BSD (3 clause)", "LGPL", "Unknown or generated",
     "BSD (4 clause)", "GPL", "*No copyright* GPL (v3 or later)", "BSD (3
     clause) MIT/X11 (BSD like)", "MPL (v2.0) MIT/X11 (BSD like)", "Apache
     (v2.0) MIT/X11 (BSD like)", "MPL (v2.0)", "MPL (v1.0) LGPL (v2 or later)
     (with incorrect FSF address)", "MPL (v1.1) GPL (unversioned/unknown
     version)", "MPL (v2.0) BSD (2 clause)". 1743 files have unknown license.
     Detailed output of licensecheck in
     /home/mock/sandbox/test/icecat/licensecheck.txt
[x]: License file installed when any subpackage combination is installed.
[x]: If the package is under multiple licenses, the licensing breakdown must
     be documented in the spec.
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: Package contains no bundled libraries without FPC exception.
[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 consistently uses macros (instead of hard-coded directory names).
[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]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[x]: Package contains systemd file(s) if in need.
[x]: update-desktop-database is invoked in %post and %postun if package
     contains desktop file(s) with a MimeType: entry.
     Note: desktop file(s) with MimeType entry in icecat
[x]: gtk-update-icon-cache is invoked in %postun and %posttrans if package
     contains icons.
     Note: icons in icecat
[x]: Useful -debuginfo package or justification otherwise.
[x]: Package is not known to require an ExcludeArch tag.
[x]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 307200 bytes in 17 files.
[x]: Package complies to the Packaging Guidelines
[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 must own all directories that it creates.
[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]: Permissions on files are set properly.
[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]: Static libraries in -static or -devel subpackage, providing -devel if
     present.
     Note: Package has .a files: icecat-static.
[x]: File names are valid UTF-8.
[x]: Packages must not store files under /srv, /opt or /usr/local

Python:
[x]: Python eggs must not download any dependencies during the build process.
[x]: A package which is used by another package via an egg interface should
     provide egg info.
[x]: Package meets the Packaging Guidelines::Python
[x]: Package contains BR: python2-devel or python3-devel
[x]: Binary eggs must be removed in %prep

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

Generic:
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: 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]: Final provides and requires are sane (see attachments).
[x]: Fully versioned dependency in subpackages if applicable.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in icecat-
     static
[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.
     Note: Package contains tarball without URL, check comments
[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.
[x]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed files.
[x]: Sources can be downloaded from URI in Source: tag
[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]: The placement of pkgconfig(.pc) files are correct.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

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

Generic:
[x]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.
     Note: Arch-ed rpms have a total of 4536320 bytes in /usr/share
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).


Rpmlint
-------
Checking: icecat-24.0-12.fc20.x86_64.rpm
          icecat-devel-24.0-12.fc20.x86_64.rpm
          icecat-static-24.0-12.fc20.x86_64.rpm
          icecat-24.0-12.fc20.src.rpm
icecat.x86_64: E: missing-call-to-setgroups /usr/lib64/icecat-24.0/libxul.so
icecat.x86_64: W: no-manual-page-for-binary icecat
icecat.x86_64: W: desktopfile-without-binary /usr/share/applications/icecat-24.0.desktop icecat
icecat-devel.x86_64: W: no-documentation
icecat-devel.x86_64: E: script-without-shebang /usr/lib64/icecat-devel-24.0/sdk/bin/xpidllex.py
icecat-devel.x86_64: W: dangling-symlink /usr/lib64/icecat-devel-24.0/bin /usr/lib64/icecat-24.0
icecat-devel.x86_64: E: script-without-shebang /usr/lib64/icecat-devel-24.0/sdk/bin/xpidlyacc.py
icecat.src: W: %ifarch-applied-patch Patch1: %{name}-disable-neon.patch
icecat.src: W: invalid-url Source4: icecat-langpacks.tar.gz
4 packages and 0 specfiles checked; 3 errors, 6 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint icecat-devel icecat-static icecat
icecat-devel.x86_64: W: no-documentation
icecat-devel.x86_64: E: script-without-shebang /usr/lib64/icecat-devel-24.0/sdk/bin/xpidllex.py
icecat-devel.x86_64: W: dangling-symlink /usr/lib64/icecat-devel-24.0/bin /usr/lib64/icecat-24.0
icecat-devel.x86_64: E: script-without-shebang /usr/lib64/icecat-devel-24.0/sdk/bin/xpidlyacc.py
icecat.x86_64: E: missing-call-to-setgroups /usr/lib64/icecat-24.0/libxul.so
icecat.x86_64: W: no-manual-page-for-binary icecat
3 packages and 0 specfiles checked; 3 errors, 3 warnings.
# echo 'rpmlint-done:'



Requires
--------
icecat-devel (rpmlib, GLIBC filtered):
    /bin/sh
    /usr/bin/env
    /usr/bin/pkg-config
    icecat(x86-64)
    ld-linux-x86-64.so.2()(64bit)
    libc.so.6()(64bit)
    libdl.so.2()(64bit)
    libgcc_s.so.1()(64bit)
    libm.so.6()(64bit)
    libmozalloc.so()(64bit)
    libnspr4.so()(64bit)
    libplc4.so()(64bit)
    libplds4.so()(64bit)
    libpthread.so.0()(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    libxul.so()(64bit)
    libxul.so(xul24.0)(64bit)
    pkgconfig(nspr)
    rtld(GNU_HASH)

icecat-static (rpmlib, GLIBC filtered):

icecat (rpmlib, GLIBC filtered):
    /bin/bash
    /bin/sh
    fedora-bookmarks
    ld-linux-x86-64.so.2()(64bit)
    libX11.so.6()(64bit)
    libXext.so.6()(64bit)
    libXrender.so.1()(64bit)
    libXt.so.6()(64bit)
    libasound.so.2()(64bit)
    libasound.so.2(ALSA_0.9)(64bit)
    libasound.so.2(ALSA_0.9.0rc4)(64bit)
    libatk-1.0.so.0()(64bit)
    libc.so.6()(64bit)
    libcairo.so.2()(64bit)
    libdbus-1.so.3()(64bit)
    libdbus-glib-1.so.2()(64bit)
    libdl.so.2()(64bit)
    libevent-2.0.so.5()(64bit)
    libffi.so.6()(64bit)
    libfontconfig.so.1()(64bit)
    libfreetype.so.6()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libgcc_s.so.1(GCC_3.3)(64bit)
    libgcc_s.so.1(GCC_3.4)(64bit)
    libgcc_s.so.1(GCC_4.0.0)(64bit)
    libgdk-x11-2.0.so.0()(64bit)
    libgdk_pixbuf-2.0.so.0()(64bit)
    libgio-2.0.so.0()(64bit)
    libglib-2.0.so.0()(64bit)
    libgobject-2.0.so.0()(64bit)
    libgthread-2.0.so.0()(64bit)
    libgtk-x11-2.0.so.0()(64bit)
    libhunspell-1.3.so.0()(64bit)
    libjpeg.so.62()(64bit)
    libjpeg.so.62(LIBJPEG_6.2)(64bit)
    libm.so.6()(64bit)
    libmozalloc.so()(64bit)
    libnspr4.so()(64bit)
    libnss3.so()(64bit)
    libnss3.so(NSS_3.10)(64bit)
    libnss3.so(NSS_3.10.2)(64bit)
    libnss3.so(NSS_3.11)(64bit)
    libnss3.so(NSS_3.11.1)(64bit)
    libnss3.so(NSS_3.11.7)(64bit)
    libnss3.so(NSS_3.12)(64bit)
    libnss3.so(NSS_3.12.3)(64bit)
    libnss3.so(NSS_3.12.9)(64bit)
    libnss3.so(NSS_3.13)(64bit)
    libnss3.so(NSS_3.2)(64bit)
    libnss3.so(NSS_3.3)(64bit)
    libnss3.so(NSS_3.4)(64bit)
    libnss3.so(NSS_3.5)(64bit)
    libnss3.so(NSS_3.6)(64bit)
    libnss3.so(NSS_3.7)(64bit)
    libnss3.so(NSS_3.9)(64bit)
    libnss3.so(NSS_3.9.2)(64bit)
    libnss3.so(NSS_3.9.3)(64bit)
    libnssutil3.so()(64bit)
    libnssutil3.so(NSSUTIL_3.12)(64bit)
    libnssutil3.so(NSSUTIL_3.12.3)(64bit)
    libnssutil3.so(NSSUTIL_3.13)(64bit)
    libpango-1.0.so.0()(64bit)
    libpangocairo-1.0.so.0()(64bit)
    libpangoft2-1.0.so.0()(64bit)
    libpixman-1.so.0()(64bit)
    libplc4.so()(64bit)
    libplds4.so()(64bit)
    libpng16.so.16()(64bit)
    libpng16.so.16(PNG16_0)(64bit)
    libpthread.so.0()(64bit)
    libpulse.so.0()(64bit)
    librt.so.1()(64bit)
    libsmime3.so()(64bit)
    libsmime3.so(NSS_3.13)(64bit)
    libsmime3.so(NSS_3.15)(64bit)
    libsmime3.so(NSS_3.2)(64bit)
    libsmime3.so(NSS_3.3)(64bit)
    libsmime3.so(NSS_3.4)(64bit)
    libsmime3.so(NSS_3.4.1)(64bit)
    libsmime3.so(NSS_3.6)(64bit)
    libsmime3.so(NSS_3.9.3)(64bit)
    libsqlite3.so.0()(64bit)
    libssl3.so()(64bit)
    libssl3.so(NSS_3.12.6)(64bit)
    libssl3.so(NSS_3.13)(64bit)
    libssl3.so(NSS_3.13.2)(64bit)
    libssl3.so(NSS_3.14)(64bit)
    libssl3.so(NSS_3.2)(64bit)
    libssl3.so(NSS_3.4)(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    libvpx.so.1()(64bit)
    libxul.so()(64bit)
    libxul.so(xul24.0)(64bit)
    libz.so.1()(64bit)
    mozilla-filesystem
    nspr
    nss
    rtld(GNU_HASH)



Provides
--------
icecat-devel:
    icecat-devel
    icecat-devel(x86-64)
    pkgconfig(libxul)
    pkgconfig(libxul-embedding)
    pkgconfig(mozilla-js)
    pkgconfig(mozilla-plugin)

icecat-static:
    icecat-static
    icecat-static(x86-64)

icecat:
    application()
    application(icecat-24.0.desktop)
    bundled(double-conversion)
    bundled(expat)
    bundled(graphite2)
    bundled(hurfbuzz)
    bundled(libogg)
    bundled(libtheora)
    bundled(libvorbis)
    bundled(opus)
    bundled(ots)
    bundled(snappy)
    bundled(soundtouch)
    bundled(xulrunner)
    icecat
    icecat(x86-64)
    libbrowsercomps.so()(64bit)
    libbrowsercomps.so(EXPORTED)(64bit)
    libdbusservice.so()(64bit)
    libdbusservice.so(EXPORTED)(64bit)
    libmozalloc.so()(64bit)
    libmozgnome.so()(64bit)
    libmozgnome.so(EXPORTED)(64bit)
    libxul.so()(64bit)
    libxul.so(xul24.0)(64bit)
    mimehandler(application/vnd.mozilla.xul+xml)
    mimehandler(application/xhtml+xml)
    mimehandler(text/html)
    mimehandler(text/mml)
    mimehandler(text/xml)
    mimehandler(x-scheme-handler/http)
    mimehandler(x-scheme-handler/https)



Unversioned so-files
--------------------
icecat: /usr/lib64/icecat-24.0/browser/components/libbrowsercomps.so
icecat: /usr/lib64/icecat-24.0/components/libdbusservice.so
icecat: /usr/lib64/icecat-24.0/components/libmozgnome.so
icecat: /usr/lib64/icecat-24.0/libmozalloc.so
icecat: /usr/lib64/icecat-24.0/libxul.so

Source checksums
----------------
http://ftp.gnu.org/gnu/gnuzilla/24/icecat-24.0.tar.gz :
  CHECKSUM(SHA256) this package     : 2a79e6db8831a4047030a0451036a34a97fde455fba7a949efde34052b97bfef
  CHECKSUM(SHA256) upstream package : 2a79e6db8831a4047030a0451036a34a97fde455fba7a949efde34052b97bfef


Generated by fedora-review 0.5.1 (bb9bf27) last change: 2013-12-13
Command line :/usr/bin/fedora-review --rpm-spec -n icecat-24.0-12.fc20.src.rpm
Buildroot used: fedora-20-x86_64
Active plugins: Python, Generic, Shell-api, C/C++
Disabled plugins: Java, SugarActivity, fonts, Haskell, Ocaml, Perl, R, PHP, Ruby
Disabled flags: EXARCH, EPEL5, BATCH, DISTTAG


------
Notes:
1) I think it would proper to mention BSD, MIT, ISC and Apache licenses for components in the license tag too, with appropriate license sources;

2) Are those requires needed beside bundled versions?
BuildRequires:  expat-devel
BuildRequires:  libogg-devel
BuildRequires:  libvorbis-devel
BuildRequires:  opus-devel
BuildRequires:  snappy-devel
BuildRequires:  soundtouch-devel

3) If system xulrunner can be used here, we can put "Provides: bundled(xulrunner)" into conditionals since it won't be really bundled if "system_xulrunner" is set;

4) Maybe you can get rid of "W: dangling-symlink" above;

5) Strange message in build.log (maybe ok, I didn't check in detail):
extracting debug info from /builddir/build/BUILDROOT/icecat-24.0-12.fc22.x86_64/usr/lib64/icecat-24.0/icecat
extracting debug info from /builddir/build/BUILDROOT/icecat-24.0-12.fc22.x86_64/usr/lib64/icecat-24.0/icecat-bin
*** WARNING: identical binaries are copied, not linked:
        /usr/lib64/icecat-24.0/icecat-bin
   and  /usr/lib64/icecat-24.0/icecat

and many "warning: File listed twice: /usr/lib64/icecat-24.0/langpacks/langpack-zh-TW@icecat.gnuzilla.org.xpi", etc.

Comment 39 Antonio 2014-08-19 17:25:23 UTC
(In reply to Denis Fateyev from comment #38)
> ------
> Notes:
...
> 
> 3) If system xulrunner can be used here, we can put "Provides:
> bundled(xulrunner)" into conditionals since it won't be really bundled if
> "system_xulrunner" is set;

Have you read the comment#12?
I prefer not use system xulrunner. 

> 
> 5) Strange message in build.log (maybe ok, I didn't check in detail):
> extracting debug info from
> /builddir/build/BUILDROOT/icecat-24.0-12.fc22.x86_64/usr/lib64/icecat-24.0/
> icecat
> extracting debug info from
> /builddir/build/BUILDROOT/icecat-24.0-12.fc22.x86_64/usr/lib64/icecat-24.0/
> icecat-bin
> *** WARNING: identical binaries are copied, not linked:
>         /usr/lib64/icecat-24.0/icecat-bin
>    and  /usr/lib64/icecat-24.0/icecat

Yep. Other files have been symlinked but these have not same name and don't know what icecat-bin does. 

> 
> and many "warning: File listed twice:
> /usr/lib64/icecat-24.0/langpacks/langpack-zh-TW@icecat.gnuzilla.org.xpi",
> etc.

I must verify why they appear.

Comment 40 Denis Fateyev 2014-08-19 18:30:45 UTC
(In reply to Antonio Trande from comment #39)
> (In reply to Denis Fateyev from comment #38)
> > ------
> > Notes:
> ...
> > 
> > 3) If system xulrunner can be used here, we can put "Provides:
> > bundled(xulrunner)" into conditionals since it won't be really bundled if
> > "system_xulrunner" is set;
> 
> Have you read the comment#12?
> I prefer not use system xulrunner.

OK, then you can just drop the "system_xulrunner" conditional from the spec.

Comment 41 Antonio 2014-08-22 09:02:39 UTC
Spec URL: http://sagitter.fedorapeople.org/Icecat/icecat.spec
SRPM URL: http://sagitter.fedorapeople.org/Icecat/icecat-24.0-13.fc20.src.rpm

- Removed system xulrunner conditional
- Ghosted all .xpi language files (handled by %%find_lang)
- Added BSD, ISC, MIT, Apache2.0 licenses

Note:

"File listed twice" warnings are still there even though language files are not double in the package.

Comment 42 Denis Fateyev 2014-08-23 11:51:10 UTC
Updated review for "icecat-24.0-13".

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

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


Issues:
=======
- 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.
  Note: Cannot find COPYING in rpm(s)
  See:
  http://fedoraproject.org/wiki/Packaging/LicensingGuidelines#License_Text


===== 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.
     Note: Unversioned so-files in private %_libdir subdirectory (see
     attachment). Verify they are not in ld path.
[x]: Header 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:
[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]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "BSD (4 clause) ISC", "LGPL (v2.1 or later) (with incorrect FSF
     address)", "BSD (3 clause) ISC", "*No copyright* MPL (v2.0)", "Apache
     (v2.0) BSD (2 clause)", "*No copyright* BSD (3 clause)", "ISC", "*No
     copyright* Apache (v2.0)", "Public domain", "GPL (v3 or later)", "BSD (2
     clause)", "Apache (v2.0)", "GPL (v2 or later)", "*No copyright* Public
     domain MPL (v2.0)", "MIT/X11 (BSD like)", "*No copyright* Public domain",
     "BSD (3 clause)", "*No copyright* Beerware MPL (v2.0)", "LGPL (v2.1 or
     later)", "MPL (v2.0) BSD (3 clause)", "LGPL", "Unknown or generated",
     "BSD (4 clause)", "GPL", "*No copyright* GPL (v3 or later)", "BSD (3
     clause) MIT/X11 (BSD like)", "MPL (v2.0) MIT/X11 (BSD like)", "Apache
     (v2.0) MIT/X11 (BSD like)", "MPL (v2.0)", "MPL (v1.0) LGPL (v2 or later)
     (with incorrect FSF address)", "MPL (v1.1) GPL (unversioned/unknown
     version)", "MPL (v2.0) BSD (2 clause)". 1743 files have unknown license.
     Detailed output of licensecheck in
     /home/mock/sandbox/test/icecat/licensecheck.txt
[x]: License file installed when any subpackage combination is installed.
[x]: If the package is under multiple licenses, the licensing breakdown must
     be documented in the spec.
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: Package contains no bundled libraries without FPC exception.
[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 consistently uses macros (instead of hard-coded directory names).
[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]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[x]: Package contains systemd file(s) if in need.
[x]: update-desktop-database is invoked in %post and %postun if package
     contains desktop file(s) with a MimeType: entry.
     Note: desktop file(s) with MimeType entry in icecat
[x]: gtk-update-icon-cache is invoked in %postun and %posttrans if package
     contains icons.
     Note: icons in icecat
[x]: Useful -debuginfo package or justification otherwise.
[x]: Package is not known to require an ExcludeArch tag.
[x]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
[x]: Packages must not store files under /srv, /opt or /usr/local
[x]: Package complies to the Packaging Guidelines
[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 must own all directories that it creates.
[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]: Permissions on files are set properly.
[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]: Static libraries in -static or -devel subpackage, providing -devel if
     present.
     Note: Package has .a files: icecat-static.
[x]: File names are valid UTF-8.

Python:
[x]: Binary eggs must be removed in %prep
[x]: Python eggs must not download any dependencies during the build process.
[x]: A package which is used by another package via an egg interface should
     provide egg info.
[x]: Package meets the Packaging Guidelines::Python
[x]: Package contains BR: python2-devel or python3-devel

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

Generic:
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: 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]: Final provides and requires are sane (see attachments).
[!]: Fully versioned dependency in subpackages if applicable.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in icecat-
     static
[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.
     Note: Package contains tarball without URL, check comments
[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.
[x]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed files.
[x]: Sources can be downloaded from URI in Source: tag
[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]: The placement of pkgconfig(.pc) files are correct.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

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

Generic:
[x]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.
     Note: Test run failed
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).


Rpmlint
-------
Checking: icecat-24.0-13.fc20.x86_64.rpm
          icecat-devel-24.0-13.fc20.x86_64.rpm
          icecat-static-24.0-13.fc20.x86_64.rpm
          icecat-24.0-13.fc20.src.rpm
icecat.x86_64: E: missing-call-to-setgroups /usr/lib64/icecat-24.0/libxul.so
icecat.x86_64: W: no-manual-page-for-binary icecat
icecat.x86_64: W: desktopfile-without-binary /usr/share/applications/icecat-24.0.desktop icecat
icecat-devel.x86_64: W: no-documentation
icecat-devel.x86_64: E: script-without-shebang /usr/lib64/icecat-devel-24.0/sdk/bin/xpidllex.py
icecat-devel.x86_64: W: dangling-symlink /usr/lib64/icecat-devel-24.0/bin /usr/lib64/icecat-24.0
icecat-devel.x86_64: E: script-without-shebang /usr/lib64/icecat-devel-24.0/sdk/bin/xpidlyacc.py
icecat.src: W: %ifarch-applied-patch Patch1: %{name}-disable-neon.patch
icecat.src: W: invalid-url Source5: icecat-COPYING-licensefiles.tar.gz
icecat.src: W: invalid-url Source4: icecat-langpacks.tar.gz
4 packages and 0 specfiles checked; 3 errors, 7 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint icecat-devel icecat-static icecat
icecat-devel.x86_64: W: no-documentation
icecat-devel.x86_64: E: script-without-shebang /usr/lib64/icecat-devel-24.0/sdk/bin/xpidllex.py
icecat-devel.x86_64: W: dangling-symlink /usr/lib64/icecat-devel-24.0/bin /usr/lib64/icecat-24.0
icecat-devel.x86_64: E: script-without-shebang /usr/lib64/icecat-devel-24.0/sdk/bin/xpidlyacc.py
icecat.x86_64: E: missing-call-to-setgroups /usr/lib64/icecat-24.0/libxul.so
icecat.x86_64: W: no-manual-page-for-binary icecat
3 packages and 0 specfiles checked; 3 errors, 3 warnings.
# echo 'rpmlint-done:'



Requires
--------
icecat-devel (rpmlib, GLIBC filtered):
    /bin/sh
    /usr/bin/env
    /usr/bin/pkg-config
    icecat(x86-64)
    ld-linux-x86-64.so.2()(64bit)
    libc.so.6()(64bit)
    libdl.so.2()(64bit)
    libgcc_s.so.1()(64bit)
    libm.so.6()(64bit)
    libmozalloc.so()(64bit)
    libnspr4.so()(64bit)
    libplc4.so()(64bit)
    libplds4.so()(64bit)
    libpthread.so.0()(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    libxul.so()(64bit)
    libxul.so(xul24.0)(64bit)
    pkgconfig(nspr)
    rtld(GNU_HASH)

icecat-static (rpmlib, GLIBC filtered):

icecat (rpmlib, GLIBC filtered):
    /bin/bash
    /bin/sh
    fedora-bookmarks
    ld-linux-x86-64.so.2()(64bit)
    libX11.so.6()(64bit)
    libXext.so.6()(64bit)
    libXrender.so.1()(64bit)
    libXt.so.6()(64bit)
    libasound.so.2()(64bit)
    libasound.so.2(ALSA_0.9)(64bit)
    libasound.so.2(ALSA_0.9.0rc4)(64bit)
    libatk-1.0.so.0()(64bit)
    libc.so.6()(64bit)
    libcairo.so.2()(64bit)
    libdbus-1.so.3()(64bit)
    libdbus-glib-1.so.2()(64bit)
    libdl.so.2()(64bit)
    libevent-2.0.so.5()(64bit)
    libffi.so.6()(64bit)
    libfontconfig.so.1()(64bit)
    libfreetype.so.6()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libgcc_s.so.1(GCC_3.3)(64bit)
    libgcc_s.so.1(GCC_3.4)(64bit)
    libgcc_s.so.1(GCC_4.0.0)(64bit)
    libgdk-x11-2.0.so.0()(64bit)
    libgdk_pixbuf-2.0.so.0()(64bit)
    libgio-2.0.so.0()(64bit)
    libglib-2.0.so.0()(64bit)
    libgobject-2.0.so.0()(64bit)
    libgthread-2.0.so.0()(64bit)
    libgtk-x11-2.0.so.0()(64bit)
    libhunspell-1.3.so.0()(64bit)
    libjpeg.so.62()(64bit)
    libjpeg.so.62(LIBJPEG_6.2)(64bit)
    libm.so.6()(64bit)
    libmozalloc.so()(64bit)
    libnspr4.so()(64bit)
    libnss3.so()(64bit)
    libnss3.so(NSS_3.10)(64bit)
    libnss3.so(NSS_3.10.2)(64bit)
    libnss3.so(NSS_3.11)(64bit)
    libnss3.so(NSS_3.11.1)(64bit)
    libnss3.so(NSS_3.11.7)(64bit)
    libnss3.so(NSS_3.12)(64bit)
    libnss3.so(NSS_3.12.3)(64bit)
    libnss3.so(NSS_3.12.9)(64bit)
    libnss3.so(NSS_3.13)(64bit)
    libnss3.so(NSS_3.2)(64bit)
    libnss3.so(NSS_3.3)(64bit)
    libnss3.so(NSS_3.4)(64bit)
    libnss3.so(NSS_3.5)(64bit)
    libnss3.so(NSS_3.6)(64bit)
    libnss3.so(NSS_3.7)(64bit)
    libnss3.so(NSS_3.9)(64bit)
    libnss3.so(NSS_3.9.2)(64bit)
    libnss3.so(NSS_3.9.3)(64bit)
    libnssutil3.so()(64bit)
    libnssutil3.so(NSSUTIL_3.12)(64bit)
    libnssutil3.so(NSSUTIL_3.12.3)(64bit)
    libnssutil3.so(NSSUTIL_3.13)(64bit)
    libpango-1.0.so.0()(64bit)
    libpangocairo-1.0.so.0()(64bit)
    libpangoft2-1.0.so.0()(64bit)
    libpixman-1.so.0()(64bit)
    libplc4.so()(64bit)
    libplds4.so()(64bit)
    libpng16.so.16()(64bit)
    libpng16.so.16(PNG16_0)(64bit)
    libpthread.so.0()(64bit)
    libpulse.so.0()(64bit)
    librt.so.1()(64bit)
    libsmime3.so()(64bit)
    libsmime3.so(NSS_3.13)(64bit)
    libsmime3.so(NSS_3.15)(64bit)
    libsmime3.so(NSS_3.2)(64bit)
    libsmime3.so(NSS_3.3)(64bit)
    libsmime3.so(NSS_3.4)(64bit)
    libsmime3.so(NSS_3.4.1)(64bit)
    libsmime3.so(NSS_3.6)(64bit)
    libsmime3.so(NSS_3.9.3)(64bit)
    libsqlite3.so.0()(64bit)
    libssl3.so()(64bit)
    libssl3.so(NSS_3.12.6)(64bit)
    libssl3.so(NSS_3.13)(64bit)
    libssl3.so(NSS_3.13.2)(64bit)
    libssl3.so(NSS_3.14)(64bit)
    libssl3.so(NSS_3.2)(64bit)
    libssl3.so(NSS_3.4)(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    libvpx.so.1()(64bit)
    libxul.so()(64bit)
    libxul.so(xul24.0)(64bit)
    libz.so.1()(64bit)
    mozilla-filesystem
    nspr
    nss
    rtld(GNU_HASH)



Provides
--------
icecat-devel:
    icecat-devel
    icecat-devel(x86-64)
    pkgconfig(libxul)
    pkgconfig(libxul-embedding)
    pkgconfig(mozilla-js)
    pkgconfig(mozilla-plugin)

icecat-static:
    icecat-static
    icecat-static(x86-64)

icecat:
    application()
    application(icecat-24.0.desktop)
    bundled(double-conversion)
    bundled(expat)
    bundled(graphite2)
    bundled(hurfbuzz)
    bundled(libogg)
    bundled(libtheora)
    bundled(libvorbis)
    bundled(opus)
    bundled(ots)
    bundled(snappy)
    bundled(soundtouch)
    bundled(xulrunner)
    icecat
    icecat(x86-64)
    libbrowsercomps.so()(64bit)
    libbrowsercomps.so(EXPORTED)(64bit)
    libdbusservice.so()(64bit)
    libdbusservice.so(EXPORTED)(64bit)
    libmozalloc.so()(64bit)
    libmozgnome.so()(64bit)
    libmozgnome.so(EXPORTED)(64bit)
    libxul.so()(64bit)
    libxul.so(xul24.0)(64bit)
    mimehandler(application/vnd.mozilla.xul+xml)
    mimehandler(application/xhtml+xml)
    mimehandler(text/html)
    mimehandler(text/mml)
    mimehandler(text/xml)
    mimehandler(x-scheme-handler/http)
    mimehandler(x-scheme-handler/https)



Unversioned so-files
--------------------
icecat: /usr/lib64/icecat-24.0/browser/components/libbrowsercomps.so
icecat: /usr/lib64/icecat-24.0/components/libdbusservice.so
icecat: /usr/lib64/icecat-24.0/components/libmozgnome.so
icecat: /usr/lib64/icecat-24.0/libmozalloc.so
icecat: /usr/lib64/icecat-24.0/libxul.so

Source checksums
----------------
http://ftp.gnu.org/gnu/gnuzilla/24/icecat-24.0.tar.gz :
  CHECKSUM(SHA256) this package     : 2a79e6db8831a4047030a0451036a34a97fde455fba7a949efde34052b97bfef
  CHECKSUM(SHA256) upstream package : 2a79e6db8831a4047030a0451036a34a97fde455fba7a949efde34052b97bfef


Generated by fedora-review 0.5.1 (bb9bf27) last change: 2013-12-13
Command line :/usr/bin/fedora-review --rpm-spec -n icecat-24.0-13.fc20.src.rpm
Buildroot used: fedora-20-x86_64
Active plugins: Python, Generic, Shell-api, C/C++
Disabled plugins: Java, SugarActivity, fonts, Haskell, Ocaml, Perl, R, PHP, Ruby
Disabled flags: EXARCH, EPEL5, BATCH, DISTTAG

Notes:
------
1) Please add "%{name}%{?_isa}" dependency to icecat-static (seems we have overlooked that before);

2) Add "Provides: webclient" to the spec as Firefox does;

3) You may also clean up the spec in a bit after "It doeesn't seem possible to link.." comment where the bundled libs are mentioned. Up to you but it makes the spec more readable (not a blocker);

4) Manpage for Firefox is pretty short, and it would fit IceCat with minimal changes. You may adopt "firefox.1" from its package. It would solve two rpmlint warnings (also, not a blocker).

Comment 43 Antonio 2014-08-23 19:53:01 UTC
(In reply to Denis Fateyev from comment #42)
> 
> Notes:
> ------
> 1) Please add "%{name}%{?_isa}" dependency to icecat-static (seems we have
> overlooked that before);

Why? It's not necessary

> 
> 3) You may also clean up the spec in a bit after "It doeesn't seem possible
> to link.." comment where the bundled libs are mentioned. Up to you but it
> makes the spec more readable (not a blocker);

I need to underline all locations of bundled files  for next modifications.

Comment 44 Antonio 2014-08-26 19:52:20 UTC
Spec URL: http://sagitter.fedorapeople.org/Icecat/icecat.spec
SRPM URL: http://sagitter.fedorapeople.org/Icecat/icecat-24.0-14.fc20.src.rpm

- Added "Provides: webclient"
- Added help2man BR
- Generated and installed manpage file

Comment 45 Denis Fateyev 2014-08-27 15:14:54 UTC
There are some issues with the build:

Koji scratch build:
https://koji.fedoraproject.org/koji/taskinfo?taskID=7462792

Tail log:
https://koji.fedoraproject.org/koji/getfile?taskID=7462795&name=build.log&offset=-4000

Comment 46 Antonio 2014-08-28 14:27:35 UTC
(In reply to Denis Fateyev from comment #45)
> There are some issues with the build:
> 
> Koji scratch build:
> https://koji.fedoraproject.org/koji/taskinfo?taskID=7462792
> 
> Tail log:
> https://koji.fedoraproject.org/koji/getfile?taskID=7462795&name=build.
> log&offset=-4000

Yes, I know.
Please, try again with release 24.0-14.

Comment 47 Denis Fateyev 2014-08-29 07:35:48 UTC
Koji scratch build: https://koji.fedoraproject.org/koji/taskinfo?taskID=7475366
Package is APPROVED. Congratulations!

Comment 48 Antonio 2014-08-29 13:02:46 UTC
Thank you Denis.

New Package SCM Request
=======================
Package Name: icecat 
Short Description: GNU version of Firefox browser
Upstream URL: http://www.gnu.org/software/gnuzilla/
Owners: sagitter
Branches: f19 f20 f21

Comment 49 Gwyn Ciesla 2014-08-29 15:53:33 UTC
Git done (by process-git-requests).

Comment 50 Fedora Update System 2014-08-30 13:41:48 UTC
icecat-24.0-14.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/icecat-24.0-14.fc20

Comment 51 Fedora Update System 2014-08-30 13:41:56 UTC
icecat-24.0-14.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/icecat-24.0-14.fc19

Comment 52 Fedora Update System 2014-09-02 06:44:15 UTC
icecat-24.0-14.fc19 has been pushed to the Fedora 19 testing repository.

Comment 53 Marcin Juszkiewicz 2014-09-09 12:27:59 UTC
Just for note:

Package does not build on AArch64 which is secondary architecture. Probably similar for ppc64le (another secondary).

All required patches were already merged into Mozilla repositories. I do not plan to work on digging out old patches which were made for firefox 24 just to get GNU fork of already obsoleted browser.

Comment 54 Antonio 2014-09-09 12:56:55 UTC
(In reply to Marcin Juszkiewicz from comment #53)
> Just for note:
> 
> Package does not build on AArch64 which is secondary architecture. Probably
> similar for ppc64le (another secondary).
> 
> All required patches were already merged into Mozilla repositories. I do not
> plan to work on digging out old patches which were made for firefox 24 just
> to get GNU fork of already obsoleted browser.

I well understand your point of view. I hope to have soon a most updated release of Icecat; maybe we can obtain complete RPMs even on secondary archs.

Comment 55 Fedora Update System 2014-09-10 13:28:43 UTC
icecat-24.0-14.fc20 has been pushed to the Fedora 20 stable repository.

Comment 56 Fedora Update System 2014-09-10 13:29:32 UTC
icecat-24.0-14.fc19 has been pushed to the Fedora 19 stable repository.

Comment 57 Marcin Juszkiewicz 2014-10-20 08:56:47 UTC
As icecat is a fork of firefox then please also make use of firefox.spec as a base for your package.

Current rawhide version does not build on aarch64 just because you decided to make use of internal libffi instead of system one.

https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries does not lists libffi as allowed to bundle one.

Comment 58 Antonio 2014-10-20 17:43:00 UTC
(In reply to Marcin Juszkiewicz from comment #57)
> As icecat is a fork of firefox then please also make use of firefox.spec as
> a base for your package.
> 
> Current rawhide version does not build on aarch64 just because you decided
> to make use of internal libffi instead of system one.
> 
> https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries does not lists
> libffi as allowed to bundle one.

Which Icecat release are you talking about? 
Please, open a bug report; this ticket is closed by time.


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