https://bugzilla.redhat.com/show_bug.cgi?id=2278422 wojnilowicz <lukasz.wojnilowicz@xxxxxxxxx> changed: What |Removed |Added ---------------------------------------------------------------------------- Flags| |fedora-review+ --- Comment #8 from wojnilowicz <lukasz.wojnilowicz@xxxxxxxxx> --- The spec file is big, so there are some issues for sure, but I cannot find anymore, so it LGTM. The package is APPROVED. Thanks for explaining the raised issues. BTW, before writing the part under "# These two files are identical", you did know the %fdupes macro, right? It takes all the thinking from you. Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed Issues: ======= - rpmlint reports "python-nbdime.spec: W: invalid-url Source1: nbdime-4.0.1-vendor.tar.xz" but I don't see anything wrong with it. It's self-prepared, and not downloaded, and unpacks properly. - rpmlint reports "python3-nbdime.noarch: W: cross-directory-hard-link /usr/lib/python3.13/site-packages/nbdime/webapp/testnotebooks/base.ipynb /usr/lib/python3.13/site-packages/nbdime/tests/files/multi_cell_nb.ipynb" but I don't see it as an issue because those files are under application's common directory named nbdime. - review.txt mentions several "Creative Commons" licenses that are not listed in the spec file, but I also don't see any file in the binary rpm that it should be assigned to, so I guess it's OK. ===== MUST items ===== 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: Checking patched sources after %prep for licenses. Licenses found: "Unknown or generated", "BSD 3-Clause License", "*No copyright* BSD 3-Clause License", "ISC License and/or MIT License", "*No copyright* ISC License", "MIT License", "*No copyright* MIT License", "MIT License [generated file]", "ISC License", "CNRI Python Open Source GPL Compatible License Agreement and/or GNU General Public License and/or Python License 2.0 and/or Python Software Foundation License 2.0", "*No copyright* GNU General Public License", "*No copyright* Python License 2.0", "*No copyright* Apache License 2.0", "Apache License 2.0", "BSD 3-Clause License and/or ISC License", "BSD 3-Clause License and/or MIT License", "Creative Commons Attribution 4.0", "*No copyright* Creative Commons Attribution 4.0", "*No copyright* BSD 2-Clause License", "BSD 2-Clause License", "Apache License 2.0 and/or Mozilla Public License 1.1", "Academic Free License v2.1 and/or BSD 3-Clause License", "*No copyright* Academic Free License", "*No copyright* Academic Free License v2.1", "*No copyright* Public domain", "MIT License and/or X11 License", "Apache License 2.0 and/or BSD 0-Clause License and/or BSD 2-Clause License and/or BSD 3-Clause License and/or ISC License and/or MIT License", "Apache License 2.0 and/or BSD 2-Clause License", "BSD 2-clause FreeBSD License", "Creative Commons Attribution 3.0", "*No copyright* Creative Commons Attribution 3.0", "*No copyright* BSD 2-Clause License and/or BSD 3-Clause License and/or GNU Lesser General Public License, Version 2.1 and/or MIT License", "*No copyright* Creative Commons CC0 1.0", "*No copyright* BSD 3-Clause Clear License", "Apache License 2.0 and/or MIT License", "BSD 0-Clause License", "*No copyright* BSD 0-Clause License", "*No copyright* The Unlicense", "BSD 2-Clause with views sentence", "*No copyright* GNU Lesser General Public License", "*No copyright* GNU Library General Public License, Version 2.0", "*No copyright* Apache License 2.0 and/or MIT License", "Apache License 2.0 and/or BSD 3-Clause License", "BSD 3-Clause License [generated file]", "Apache License 2.0 and/or BSD 0-Clause License and/or BSD 2-Clause License and/or BSD 3-Clause License and/or ISC License and/or MIT License and/or zlib License [generated file]", "GNU Library General Public License v2 or later". 41592 files have unknown license. Detailed output of licensecheck in /var/lib/copr- rpmbuild/results/python-nbdime/licensecheck.txt [x]: License file installed when any subpackage combination is installed. [x]: Package requires other packages for directories it uses. Note: No known owner of /etc/jupyter/jupyter_notebook_config.d, /etc/jupyter/nbconfig, /usr/share/licenses, /usr/share, /etc/jupyter/nbconfig/notebook.d, /usr/share/man, /usr/lib, /usr/lib/python3.13, /usr, /usr/share/jupyter/nbextensions, /etc/jupyter, /etc, /etc/jupyter/jupyter_server_config.d, /usr/share/doc, /usr/lib/python3.13/site-packages, /usr/bin, /usr/share/jupyter/labextensions, /usr/share/jupyter, /usr/share/man/man1 [x]: Package must own all directories that it creates. Note: Directories without known owners: /etc/jupyter/jupyter_notebook_config.d, /etc/jupyter/nbconfig, /usr/share/licenses, /usr/share, /etc/jupyter/nbconfig/notebook.d, /usr/share/man, /usr/lib, /usr/lib/python3.13, /usr, /usr/share/jupyter/nbextensions, /etc/jupyter, /etc, /etc/jupyter/jupyter_server_config.d, /usr/share/doc, /usr/lib/python3.13/site-packages, /usr/bin, /usr/share/jupyter/labextensions, /usr/share/jupyter, /usr/share/man/man1 [x]: Package contains no bundled libraries without FPC exception. [x]: Changelog in prescribed format. [x]: Sources contain only permissible code or content. [-]: Package contains desktop file if it is a GUI application. [-]: 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. [-]: 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. [-]: Package is not known to require an ExcludeArch tag. [-]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 16252 bytes in 2 files. [z]: 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]: The License field must be a valid SPDX expression. [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]: %config files are marked noreplace or the reason is justified. [x]: Macros in Summary, %description expandable at SRPM build time. [x]: Dist tag is present. [x]: Package does not contain duplicates in %files. [x]: Permissions on files are set properly. [x]: Package must not depend on deprecated() packages. [x]: Package use %makeinstall only when make install DESTDIR=... doesn't work. [x]: Package is named using only allowed ASCII characters. [x]: No %config files under /usr. [x]: Package does not use a name that already exists. [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 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. [x]: Package meets the Packaging Guidelines::Python [x]: Package contains BR: python2-devel or python3-devel [x]: Packages MUST NOT have dependencies (either build-time or runtime) on packages named with the unversioned python- prefix unless no properly versioned package exists. Dependencies on Python packages instead MUST use names beginning with python2- or python3- as appropriate. [x]: Python packages must not contain %{pythonX_site(lib|arch)}/* in %files [x]: Binary eggs must be removed in %prep ===== SHOULD items ===== Generic: [x]: Reviewer should test that the package builds in mock. [-]: 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 python3-nbdime [?]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [-]: Patches link to upstream bugs/comments/lists or are otherwise justified. [x]: SourceX tarball generation or download is documented. Note: Package contains tarball without URL, check comments [-]: Sources are verified with gpgverify first in %prep if upstream publishes signatures. Note: gpgverify is not used. [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]: Buildroot is not present [x]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file [x]: Sources can be downloaded from URI in Source: tag [x]: SourceX is a working URL. [x]: Spec use %global instead of %define unless justified. ===== EXTRA items ===== Generic: [x]: Rpmlint is run on all installed packages. Note: No rpmlint messages. Rpmlint ------- Checking: python3-nbdime-4.0.1-1.fc41.noarch.rpm python-nbdime-doc-4.0.1-1.fc41.noarch.rpm python-nbdime-4.0.1-1.fc41.src.rpm ============================ rpmlint session starts ============================ rpmlint: 2.5.0 configuration: /usr/lib/python3.12/site-packages/rpmlint/configdefaults.toml /etc/xdg/rpmlint/fedora-legacy-licenses.toml /etc/xdg/rpmlint/fedora-spdx-licenses.toml /etc/xdg/rpmlint/fedora.toml /etc/xdg/rpmlint/scoring.toml /etc/xdg/rpmlint/users-groups.toml /etc/xdg/rpmlint/warn-on-functions.toml rpmlintrc: [PosixPath('/tmp/tmp209hyp5_')] checks: 32, packages: 3 python-nbdime.src: E: spelling-error ('nbdiff', '%description -l en_US nbdiff -> diff') python-nbdime.src: E: spelling-error ('nbmerge', '%description -l en_US nbmerge -> merger, merge') python-nbdime.src: E: spelling-error ('nbshow', '%description -l en_US nbshow -> shown') python3-nbdime.noarch: W: python-leftover-require python-jupyter-filesystem python-nbdime.spec: W: invalid-url Source1: nbdime-4.0.1-vendor.tar.xz python3-nbdime.noarch: W: cross-directory-hard-link /usr/lib/python3.13/site-packages/nbdime/webapp/testnotebooks/base.ipynb /usr/lib/python3.13/site-packages/nbdime/tests/files/multi_cell_nb.ipynb 3 packages and 0 specfiles checked; 3 errors, 3 warnings, 19 filtered, 3 badness; has taken 1.4 s Rpmlint (installed packages) ---------------------------- (none): E: there is no installed rpm "python3-nbdime". ============================ rpmlint session starts ============================ rpmlint: 2.5.0 configuration: /usr/lib/python3.13/site-packages/rpmlint/configdefaults.toml /etc/xdg/rpmlint/fedora-legacy-licenses.toml /etc/xdg/rpmlint/fedora-spdx-licenses.toml /etc/xdg/rpmlint/fedora.toml /etc/xdg/rpmlint/scoring.toml /etc/xdg/rpmlint/users-groups.toml /etc/xdg/rpmlint/warn-on-functions.toml checks: 32, packages: 2 0 packages and 0 specfiles checked; 0 errors, 0 warnings, 0 filtered, 0 badness; has taken 0.0 s (none): E: there is no installed rpm "python-nbdime-doc". There are no files to process nor additional arguments. Nothing to do, aborting. Source checksums ---------------- https://github.com/jupyter/nbdime/archive/4.0.1/nbdime-4.0.1.tar.gz : CHECKSUM(SHA256) this package : e211c7ccc3e4e3026306efa3c1283326b08a0958ec0e2b894a95606bfaed8982 CHECKSUM(SHA256) upstream package : e211c7ccc3e4e3026306efa3c1283326b08a0958ec0e2b894a95606bfaed8982 Requires -------- python3-nbdime (rpmlib, GLIBC filtered): ((python3.13dist(gitpython) < 2.1.4 or python3.13dist(gitpython) > 2.1.4) with (python3.13dist(gitpython) < 2.1.5 or python3.13dist(gitpython) > 2.1.5) with (python3.13dist(gitpython) < 2.1.6 or python3.13dist(gitpython) > 2.1.6)) /usr/bin/python3 config(python3-nbdime) fontawesome-fonts-web python(abi) python-jupyter-filesystem python3.13dist(colorama) python3.13dist(jinja2) python3.13dist(jupyter-server) python3.13dist(nbformat) python3.13dist(pygments) python3.13dist(requests) python3.13dist(tornado) python-nbdime-doc (rpmlib, GLIBC filtered): Provides -------- python3-nbdime: bundled(npm(@codemirror/autocomplete)) bundled(npm(@codemirror/commands)) bundled(npm(@codemirror/lang-cpp)) bundled(npm(@codemirror/lang-css)) bundled(npm(@codemirror/lang-html)) bundled(npm(@codemirror/lang-java)) bundled(npm(@codemirror/lang-javascript)) bundled(npm(@codemirror/lang-json)) bundled(npm(@codemirror/lang-markdown)) bundled(npm(@codemirror/lang-php)) bundled(npm(@codemirror/lang-python)) bundled(npm(@codemirror/lang-rust)) bundled(npm(@codemirror/lang-sql)) bundled(npm(@codemirror/lang-wast)) bundled(npm(@codemirror/lang-xml)) bundled(npm(@codemirror/language)) bundled(npm(@codemirror/legacy-modes)) bundled(npm(@codemirror/search)) bundled(npm(@codemirror/state)) bundled(npm(@codemirror/view)) bundled(npm(@jupyterlab/apputils)) bundled(npm(@jupyterlab/cells)) bundled(npm(@jupyterlab/codeeditor)) bundled(npm(@jupyterlab/codemirror)) bundled(npm(@jupyterlab/coreutils)) bundled(npm(@jupyterlab/docregistry)) bundled(npm(@jupyterlab/documentsearch)) bundled(npm(@jupyterlab/filebrowser)) bundled(npm(@jupyterlab/mathjax-extension)) bundled(npm(@jupyterlab/nbformat)) bundled(npm(@jupyterlab/notebook)) bundled(npm(@jupyterlab/observables)) bundled(npm(@jupyterlab/outputarea)) bundled(npm(@jupyterlab/rendermime)) bundled(npm(@jupyterlab/services)) bundled(npm(@jupyterlab/statedb)) bundled(npm(@jupyterlab/statusbar)) bundled(npm(@jupyterlab/theme-light-extension)) bundled(npm(@jupyterlab/toc)) bundled(npm(@jupyterlab/translation)) bundled(npm(@jupyterlab/ui-components)) bundled(npm(@lezer/common)) bundled(npm(@lezer/cpp)) bundled(npm(@lezer/css)) bundled(npm(@lezer/generator)) bundled(npm(@lezer/highlight)) bundled(npm(@lezer/html)) bundled(npm(@lezer/java)) bundled(npm(@lezer/javascript)) bundled(npm(@lezer/json)) bundled(npm(@lezer/lr)) bundled(npm(@lezer/markdown)) bundled(npm(@lezer/python)) bundled(npm(@lezer/rust)) bundled(npm(@lezer/xml)) bundled(npm(@lumino/algorithm)) bundled(npm(@lumino/collections)) bundled(npm(@lumino/commands)) bundled(npm(@lumino/coreutils)) bundled(npm(@lumino/disposable)) bundled(npm(@lumino/domutils)) bundled(npm(@lumino/dragdrop)) bundled(npm(@lumino/keyboard)) bundled(npm(@lumino/messaging)) bundled(npm(@lumino/polling)) bundled(npm(@lumino/properties)) bundled(npm(@lumino/signaling)) bundled(npm(@lumino/virtualdom)) bundled(npm(@lumino/widgets)) bundled(npm(alertify.js)) bundled(npm(call-bind)) bundled(npm(crelt)) bundled(npm(css-loader)) bundled(npm(deepmerge)) bundled(npm(define-data-property)) bundled(npm(dom-serializer)) bundled(npm(domelementtype)) bundled(npm(domhandler)) bundled(npm(domutils)) bundled(npm(entities)) bundled(npm(es-define-property)) bundled(npm(es-errors)) bundled(npm(file-saver)) bundled(npm(function-bind)) bundled(npm(get-intrinsic)) bundled(npm(gopd)) bundled(npm(has-property-descriptors)) bundled(npm(has-proto)) bundled(npm(has-symbols)) bundled(npm(hasown)) bundled(npm(htmlparser2)) bundled(npm(is-plain-object)) bundled(npm(isarray)) bundled(npm(json-stable-stringify)) bundled(npm(jsonify)) bundled(npm(lib0)) bundled(npm(lodash.escape)) bundled(npm(mathjax-full)) bundled(npm(minimist)) bundled(npm(nanoid)) bundled(npm(object-keys)) bundled(npm(parse-srcset)) bundled(npm(path-browserify)) bundled(npm(picocolors)) bundled(npm(postcss)) bundled(npm(process)) bundled(npm(querystringify)) bundled(npm(requires-port)) bundled(npm(sanitize-html)) bundled(npm(set-function-length)) bundled(npm(style-loader)) bundled(npm(style-mod)) bundled(npm(url-parse)) bundled(npm(w3c-keyname)) bundled(npm(y-protocols)) bundled(npm(yjs)) config(python3-nbdime) npm(nbdime) python-nbdime python3-nbdime python3.13-nbdime python3.13dist(nbdime) python3dist(nbdime) python-nbdime-doc: python-nbdime-doc Generated by fedora-review 0.10.0 (e79b66b) last change: 2023-07-24 Command line :/bin/fedora-review --no-colors --prebuilt --rpm-spec --name python-nbdime --mock-config /var/lib/copr-rpmbuild/results/configs/child.cfg Buildroot used: fedora-rawhide-x86_64 Active plugins: Shell-api, Python, Generic Disabled plugins: SugarActivity, Java, Perl, C/C++, fonts, PHP, R, Haskell, Ocaml Disabled flags: EXARCH, EPEL6, EPEL7, DISTTAG, BATCH -- You are receiving this mail because: You are always notified about changes to this product and component You are on the CC list for the bug. https://bugzilla.redhat.com/show_bug.cgi?id=2278422 Report this comment as SPAM: https://bugzilla.redhat.com/enter_bug.cgi?product=Bugzilla&format=report-spam&short_desc=Report%20of%20Bug%202278422%23c8 -- _______________________________________________ package-review mailing list -- package-review@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to package-review-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/package-review@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue