Please do not reply directly to this email. All additional comments should be made in the comments box of this bug. https://bugzilla.redhat.com/show_bug.cgi?id=767042 --- Comment #3 from Jerry James <loganjerry@xxxxxxxxx> 2011-12-21 15:13:59 EST --- If you are going to build this package for Fedora only, then there are several elements of the spec file that are not needed. These lines: %global _use_internal_dependency_generator 0 %global __find_requires /usr/lib/rpm/ocaml-find-requires.sh %global __find_provides /usr/lib/rpm/ocaml-find-provides.sh are still specified on the wiki even though they haven't been necessary for a few Fedora releases. In fact, if you remove these, you'll see Requires on libc and libm show up that don't show up with these lines in place. Unfortunately, a Provides of dlljs_of_ocaml.so() also shows up, but it can be filtered like this: %global __provides_exclude_from ^%{_libdir}/ocaml/stublibs/.*\.so$ All current versions of Fedora were released with ocaml 3.12.0, so you can omit the ">= 3.10.0" on the BuildRequires of ocaml. Finally, the "rm -rf $RPM_BUILD_ROOT" at the top of %install and the %defattr in %files can be omitted. If you are going to build for EPEL, disregard everything above this line. Legend: +: OK -: must be fixed =: should be fixed (at your discretion) N: not applicable MUST: [-] rpmlint output: js-of-ocaml.x86_64: W: unstripped-binary-or-object /usr/bin/js_of_ocaml js-of-ocaml.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ocaml/js_of_ocaml/regexp.mli js-of-ocaml.x86_64: E: incorrect-fsf-address /usr/lib64/ocaml/js_of_ocaml/regexp.mli js-of-ocaml.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ocaml/js_of_ocaml/libjs_of_ocaml.a js-of-ocaml.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ocaml/js_of_ocaml/form.mli js-of-ocaml.x86_64: E: incorrect-fsf-address /usr/lib64/ocaml/js_of_ocaml/form.mli js-of-ocaml.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ocaml/js_of_ocaml/js.mli js-of-ocaml.x86_64: E: incorrect-fsf-address /usr/lib64/ocaml/js_of_ocaml/js.mli js-of-ocaml.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ocaml/js_of_ocaml/event_arrows.mli js-of-ocaml.x86_64: E: incorrect-fsf-address /usr/lib64/ocaml/js_of_ocaml/event_arrows.mli js-of-ocaml.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ocaml/js_of_ocaml/dom_events.mli js-of-ocaml.x86_64: E: incorrect-fsf-address /usr/lib64/ocaml/js_of_ocaml/dom_events.mli js-of-ocaml.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ocaml/js_of_ocaml/dom.mli js-of-ocaml.x86_64: E: incorrect-fsf-address /usr/lib64/ocaml/js_of_ocaml/dom.mli js-of-ocaml.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ocaml/js_of_ocaml/xmlHttpRequest.mli js-of-ocaml.x86_64: E: incorrect-fsf-address /usr/lib64/ocaml/js_of_ocaml/xmlHttpRequest.mli js-of-ocaml.x86_64: E: incorrect-fsf-address /usr/lib64/ocaml/js_of_ocaml/runtime.js js-of-ocaml.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ocaml/js_of_ocaml/file.mli js-of-ocaml.x86_64: E: incorrect-fsf-address /usr/lib64/ocaml/js_of_ocaml/file.mli js-of-ocaml.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ocaml/js_of_ocaml/url.mli js-of-ocaml.x86_64: E: incorrect-fsf-address /usr/lib64/ocaml/js_of_ocaml/url.mli js-of-ocaml.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ocaml/js_of_ocaml/firebug.mli js-of-ocaml.x86_64: E: incorrect-fsf-address /usr/lib64/ocaml/js_of_ocaml/firebug.mli js-of-ocaml.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ocaml/js_of_ocaml/CSS.mli js-of-ocaml.x86_64: E: incorrect-fsf-address /usr/lib64/ocaml/js_of_ocaml/CSS.mli js-of-ocaml.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ocaml/js_of_ocaml/dom_html.mli js-of-ocaml.x86_64: E: incorrect-fsf-address /usr/lib64/ocaml/js_of_ocaml/dom_html.mli js-of-ocaml.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ocaml/js_of_ocaml/lwt_js.mli js-of-ocaml.x86_64: E: incorrect-fsf-address /usr/lib64/ocaml/js_of_ocaml/lwt_js.mli js-of-ocaml.x86_64: W: devel-file-in-non-devel-package /usr/lib64/ocaml/js_of_ocaml/json.mli js-of-ocaml.x86_64: E: incorrect-fsf-address /usr/lib64/ocaml/js_of_ocaml/json.mli js-of-ocaml.x86_64: W: no-manual-page-for-binary js_of_ocaml js-of-ocaml.x86_64: W: ocaml-naming-policy-not-applied /usr/lib64/ocaml/js_of_ocaml/regexp.mli js-of-ocaml-doc.noarch: E: incorrect-fsf-address /usr/share/doc/js-of-ocaml-doc-1.0.9/examples/graph_viewer/viewer_js.ml js-of-ocaml-doc.noarch: E: incorrect-fsf-address /usr/share/doc/js-of-ocaml-doc-1.0.9/examples/wiki/main.ml js-of-ocaml-doc.noarch: E: incorrect-fsf-address /usr/share/doc/js-of-ocaml-doc-1.0.9/examples/graph_viewer/svg.ml js-of-ocaml-doc.noarch: E: incorrect-fsf-address /usr/share/doc/js-of-ocaml-doc-1.0.9/examples/graph_viewer/converter.ml js-of-ocaml-doc.noarch: E: incorrect-fsf-address /usr/share/doc/js-of-ocaml-doc-1.0.9/examples/graph_viewer/main.ml js-of-ocaml-doc.noarch: E: incorrect-fsf-address /usr/share/doc/js-of-ocaml-doc-1.0.9/examples/graph_viewer/scene_json.ml js-of-ocaml-doc.noarch: E: incorrect-fsf-address /usr/share/doc/js-of-ocaml-doc-1.0.9/examples/planet/planet.ml js-of-ocaml-doc.noarch: E: incorrect-fsf-address /usr/share/doc/js-of-ocaml-doc-1.0.9/examples/wysiwyg/main.ml js-of-ocaml-doc.noarch: E: incorrect-fsf-address /usr/share/doc/js-of-ocaml-doc-1.0.9/examples/graph_viewer/viewer_common.ml js-of-ocaml-doc.noarch: E: incorrect-fsf-address /usr/share/doc/js-of-ocaml-doc-1.0.9/examples/graph_viewer/dot_file.ml js-of-ocaml-doc.noarch: E: incorrect-fsf-address /usr/share/doc/js-of-ocaml-doc-1.0.9/examples/graph_viewer/dot_lexer.mll js-of-ocaml-doc.noarch: E: incorrect-fsf-address /usr/share/doc/js-of-ocaml-doc-1.0.9/examples/graph_viewer/dot_lexer.mli js-of-ocaml-doc.noarch: E: incorrect-fsf-address /usr/share/doc/js-of-ocaml-doc-1.0.9/examples/wiki/wikicreole.ml js-of-ocaml-doc.noarch: E: incorrect-fsf-address /usr/share/doc/js-of-ocaml-doc-1.0.9/examples/graph_viewer/scene.mli js-of-ocaml-doc.noarch: E: incorrect-fsf-address /usr/share/doc/js-of-ocaml-doc-1.0.9/examples/cubes/cubes.ml js-of-ocaml-doc.noarch: E: incorrect-fsf-address /usr/share/doc/js-of-ocaml-doc-1.0.9/examples/graph_viewer/viewer.ml js-of-ocaml-doc.noarch: E: incorrect-fsf-address /usr/share/doc/js-of-ocaml-doc-1.0.9/examples/graph_viewer/scene.ml js-of-ocaml-doc.noarch: E: incorrect-fsf-address /usr/share/doc/js-of-ocaml-doc-1.0.9/examples/graph_viewer/dot_graph.mli js-of-ocaml-doc.noarch: E: incorrect-fsf-address /usr/share/doc/js-of-ocaml-doc-1.0.9/examples/graph_viewer/dot_file.mli js-of-ocaml-doc.noarch: E: incorrect-fsf-address /usr/share/doc/js-of-ocaml-doc-1.0.9/examples/graph_viewer/dot_parser.mly js-of-ocaml-doc.noarch: E: incorrect-fsf-address /usr/share/doc/js-of-ocaml-doc-1.0.9/examples/graph_viewer/scene_extents.mli js-of-ocaml-doc.noarch: E: incorrect-fsf-address /usr/share/doc/js-of-ocaml-doc-1.0.9/examples/graph_viewer/dot_render.ml js-of-ocaml-doc.noarch: E: incorrect-fsf-address /usr/share/doc/js-of-ocaml-doc-1.0.9/examples/wiki/wiki_syntax.ml js-of-ocaml-doc.noarch: E: incorrect-fsf-address /usr/share/doc/js-of-ocaml-doc-1.0.9/examples/graph_viewer/viewer.mli js-of-ocaml-doc.noarch: E: incorrect-fsf-address /usr/share/doc/js-of-ocaml-doc-1.0.9/examples/graph_viewer/viewer_common.mli js-of-ocaml-doc.noarch: E: incorrect-fsf-address /usr/share/doc/js-of-ocaml-doc-1.0.9/examples/wiki/wikicreole.mll js-of-ocaml-doc.noarch: E: incorrect-fsf-address /usr/share/doc/js-of-ocaml-doc-1.0.9/examples/graph_viewer/dot_render.mli js-of-ocaml-doc.noarch: E: incorrect-fsf-address /usr/share/doc/js-of-ocaml-doc-1.0.9/examples/graph_viewer/scene_json.mli js-of-ocaml-doc.noarch: E: incorrect-fsf-address /usr/share/doc/js-of-ocaml-doc-1.0.9/examples/graph_viewer/scene_extents.ml js-of-ocaml-doc.noarch: E: incorrect-fsf-address /usr/share/doc/js-of-ocaml-doc-1.0.9/examples/graph_viewer/dot_graph.ml js-of-ocaml-doc.noarch: W: hidden-file-or-dir /usr/share/doc/js-of-ocaml-doc-1.0.9/examples/graph_viewer/.depend 2 packages and 1 specfiles checked; 45 errors, 19 warnings. The unstripped binary is okay. As you noted, programs containing ocaml bytecode do not survive being stripped. However, you also have to worry about prelink. You need to add a file to /etc/prelink.conf.d to blacklist the binary. See the ocaml-ocamlnet spec file for an example of how to do this. I assume the devel-file-in-non-devel-package warnings are because those devel files are needed in the translation process. Is that right? Please talk to upstream about fixing the FSF's address. This is not a blocker, though. I'm not sure what to think of the ocaml naming policy warning. I guess rpmlint wants this package to be named ocaml-js-of-ocaml? I doubt the hidden file is needed. What do you think? [=] follows package naming guidelines: why did you change the underscores to hyphens? Since upstream uses underscores, this package is granted the exception mentioned in https://fedoraproject.org/wiki/Packaging:NamingGuidelines#Separators. Reverting back to underscores would also let you use %{name} in more places in the spec file, and also drop the "-n js_of_ocaml-%{version}" from the %setup invocation. [+] spec file base name matches package name [+] package meets the packaging guidelines: but consider adding "-p" to the "cp" invocations, as per https://fedoraproject.org/wiki/Packaging:Guidelines#Timestamps. [+] package uses a Fedora approved license [+] license field matches the actual license: not quite. The LICENSE file mentions exceptions, so the license should be "LGPLv2+ with exceptions". Also, some of the examples are GPLv2+ (e.g., examples/graph_viewer/scene.mli), and one is WTFPL (examples/boulderdash/boulderdash.ml). I think the -doc subpackage will need to have a license along the lines of "(LGPLv2+ with exceptions) and GPLv2+ and WTFPL". [+] license file is included in %doc [+] spec file is in American English [+] spec file is legible [+] sources match upstream: md5sum is e3ddba862f046859eb0d0456853d195a for both [+] package builds on at least one primary arch (tried x86_64) [-] appropriate use of ExcludeArch: this spec file must contain this line: ExclusiveArch: %{ocaml_arches} [+] all build requirements in BuildRequires [N] spec file handles locales properly [N] ldconfig in %post and %postun [+] no bundled copies of system libraries [N] no relocatable packages [+] package owns all directories that it creates [+] no files listed twice in %files [+] proper permissions on files [+] consistent use of macros [+] code or permissible content [+] large documentation in -doc [+] no runtime dependencies in %doc [N] header files in -devel [N] static libraries in -static [N] .so in -devel: this package has an .so, but it is in the right place [N] -devel requires main package [+] package contains no libtool archives [N] package contains a desktop file, uses desktop-file-install [+] package does not own files/dirs owned by other packages [+] all filenames in UTF-8 SHOULD: [N] query upstream for license text [N] description and summary contains available translations [+] package builds in mock: tried fedora-rawhide-i386 [+] package builds on all supported arches: tried i386 and x86_64 [-] package functions as described: only minimal testing [+] sane scriptlets [+] subpackages require the main package [N] placement of pkgconfig files [+] file dependencies versus package dependencies [=] package contains man pages for binaries/scripts -- Configure bugmail: https://bugzilla.redhat.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. _______________________________________________ package-review mailing list package-review@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/package-review