Spec URL: https://jjames.fedorapeople.org/python-jupytext/python-jupytext.spec SRPM URL: https://jjames.fedorapeople.org/python-jupytext/python-jupytext-1.16.1-1.fc41.src.rpm Fedora Account System Username: jjames Description: Have you always wished Jupyter notebooks were plain text documents? Wished you could edit them in your favorite IDE? And get clear and meaningful diffs when doing version control? Then... Jupytext may well be the tool you're looking for! Jupytext is a plugin for Jupyter that can save Jupyter notebooks as - Markdown files (or MyST Markdown files, or R Markdown or Quarto text notebooks) - Scripts in many languages. Common use cases for Jupytext are: - Doing version control on Jupyter Notebooks - Editing, merging or refactoring notebooks in your favorite text editor - Applying Q&A checks on notebooks. Note that this package cannot currently be built for s390x due to bug 2278011. See https://copr.fedorainfracloud.org/coprs/jjames/Jupyter/ for builds of this package. I am willing to swap reviews.
Copr build: https://copr.fedorainfracloud.org/coprs/build/7397092 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2278420-python-jupytext/fedora-rawhide-x86_64/07397092-python-jupytext/fedora-review/review.txt Found issues: - License file 834.90ed5e1570392532523d.js.LICENSE.txt is not marked as %license Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidelines/#_license_text Please know that there can be false-positives. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
Hi, I saw your request on the Fedora devel list. Would you like to swap for https://bugzilla.redhat.com/show_bug.cgi?id=2267973 ?
I would be happy to swap with you. Thanks!
Great. Thanks for your fast package review. It may take me a bit longer to do the same, because this is my first review ever. Those are my first remarks: 1) Did you went through the rpmlint list? Following warnings/errors seem reasonable. python3-jupytext.noarch: W: python-leftover-require python-jupyter-filesystem ppython3-jupyterlab-jupytext.noarch: E: backup-file-in-package /usr/share/jupyter/labextensions/jupyterlab-jupytext/schemas/jupyterlab-jupytext/package.json.orig 2) Is this already solved? License file 834.90ed5e1570392532523d.js.LICENSE.txt is not marked as %license 3) python-jupytext-doc is provided and I believe it should be python3-jupytext-doc. 4) Is this needed in Requires? The project uses pyproject.toml. BuildRequires: %{py3_dist setuptools} 5) Is this needed in Requires? You don't seem to be calling npm. BuildRequires: nodejs-npm 6) There seem to be a couple of unowned directories like e.g. /etc/jupyter and I believe that's not allowed according to https://docs.fedoraproject.org/en-US/packaging-guidelines/UnownedDirectories/ 7) I still haven't looked into the package, but aren't those bundled libraries that require the FPC exception as in "Package contains no bundled libraries without FPC exception."? Have you already got this exception? # base64-js: MIT # buffer: MIT # ieee754: BSD-3-Clause
(In reply to wojnilowicz from comment #4) > Great. Thanks for your fast package review. It may take me a bit longer to > do the same, because this is my first review ever. Oh my. You picked a complicated package for your first review. :-) Note that you should change the bug status from New to Assigned when you take a bug for review. I'll do that for you. > 1) Did you went through the rpmlint list? Following warnings/errors seem > reasonable. > > python3-jupytext.noarch: W: python-leftover-require python-jupyter-filesystem This one is a false positive. The python-jupyter-filesystem package is not really a python package. It is a filesystem package, providing ownership for the directories into which the jupyter files are installed. > ppython3-jupyterlab-jupytext.noarch: E: backup-file-in-package > /usr/share/jupyter/labextensions/jupyterlab-jupytext/schemas/jupyterlab- > jupytext/package.json.orig I saw there were backup files in %{python3_sitelib} and removed those, but missed this one. I have updated the spec file to remove it, too. > 2) Is this already solved? > License file 834.90ed5e1570392532523d.js.LICENSE.txt is not marked as > %license I have updated the package to manage bundled JavaScript licenses as described here: https://docs.fedoraproject.org/en-US/packaging-guidelines/Node.js/#_bundled_licenses. That won't make this warning go away, but I believe it is correct. > 3) python-jupytext-doc is provided and I believe it should be > python3-jupytext-doc. I disagree. Back in the days when we had both python 2.x and 3.x, we had packages with names like python2-foo, python3-foo, and python-foo-doc. The python3- prefix indicates the presence of python 3.x code, and the documentation packages applied to both. I think we should continue to follow that pattern in case there is a python 4 some day. There are many packages that follow this pattern already; e.g., python-CommonMark-doc, python-ansicolor-doc, python-cffi-doc, etc. I count 442 such packages currently in Fedora 40. > 4) Is this needed in Requires? The project uses pyproject.toml. > BuildRequires: %{py3_dist setuptools} > > 5) Is this needed in Requires? You don't seem to be calling npm. > BuildRequires: nodejs-npm If either one of these is removed, we get a build failure on every architecture except x86_64. I don't know why x86_64 doesn't need them. Maybe it's because I generated the vendor tarball on an x86_64 machine, so whatever step these are needed for was already done for x86_64. Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module> main() File "/usr/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main json_out['return_val'] = hook(**hook_input['kwargs']) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 152, in prepare_metadata_for_build_wheel whl_basename = backend.build_wheel(metadata_directory, config_settings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/hatchling/build.py", line 58, in build_wheel return os.path.basename(next(builder.build(directory=wheel_directory, versions=['standard']))) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/hatchling/builders/plugin/interface.py", line 147, in build build_hook.initialize(version, build_data) File "/usr/lib/python3.12/site-packages/hatch_jupyter_builder/plugin.py", line 94, in initialize raise e File "/usr/lib/python3.12/site-packages/hatch_jupyter_builder/plugin.py", line 89, in initialize build_func(self.target_name, version, **build_kwargs) File "/usr/lib/python3.12/site-packages/hatch_jupyter_builder/utils.py", line 115, in npm_builder run([*npm_cmd, "install"], cwd=str(abs_path)) File "/usr/lib/python3.12/site-packages/hatch_jupyter_builder/utils.py", line 231, in run return subprocess.check_call(cmd, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.12/subprocess.py", line 413, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['/usr/bin/jlpm', 'install']' returned non-zero exit status 1. error: subprocess-exited-with-error > 6) There seem to be a couple of unowned directories like e.g. /etc/jupyter > and I believe that's not allowed according to > https://docs.fedoraproject.org/en-US/packaging-guidelines/UnownedDirectories/ Those are the directories owned by python-jupyter-filesystem, which is the reason this package Requires it. See bug 2264345. > 7) I still haven't looked into the package, but aren't those bundled > libraries that require the FPC exception as in > "Package contains no bundled libraries without FPC exception."? Have you > already got this exception? > # base64-js: MIT > # buffer: MIT > # ieee754: BSD-3-Clause Nodejs packages are a special case. Bundling is expected. See https://docs.fedoraproject.org/en-US/packaging-guidelines/Node.js/ I have also updated to jupytext 1.16.2, which was just released a few days ago. There is a new build in the COPR. New URLs: Spec URL: https://jjames.fedorapeople.org/python-jupytext/python-jupytext.spec SRPM URL: https://jjames.fedorapeople.org/python-jupytext/python-jupytext-1.16.2-1.fc41.src.rpm
Created attachment 2032210 [details] The .spec file difference from Copr build 7397092 to 7427120
Copr build: https://copr.fedorainfracloud.org/coprs/build/7427120 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2278420-python-jupytext/fedora-rawhide-x86_64/07427120-python-jupytext/fedora-review/review.txt Found issues: - License file 48.edcac641a8a56d6a94af.js.LICENSE.txt is not marked as %license Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidelines/#_license_text Please know that there can be false-positives. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
(In reply to Jerry James from comment #5) > (In reply to wojnilowicz from comment #4) > > Great. Thanks for your fast package review. It may take me a bit longer to > > do the same, because this is my first review ever. > > Oh my. You picked a complicated package for your first review. :-) Note > that you should change the bug status from New to Assigned when you take a > bug for review. I'll do that for you. I did not have much choice. You were the only one looking for swaps recently :) Besides, it's a good learning opportunity for the future. I have like 30 packages to package in a queue. Thanks for changing the bug status for me. > > 1) Did you went through the rpmlint list? Following warnings/errors seem > > reasonable. > > > > python3-jupytext.noarch: W: python-leftover-require python-jupyter-filesystem > > This one is a false positive. The python-jupyter-filesystem package is not > really a python package. It is a filesystem package, providing ownership > for the directories into which the jupyter files are installed. Ok. Could you then change the following comment "# Move the configuration files to where we want them" to something mentioning that you move it to match the python-jupyter-filesystem directory? > > ppython3-jupyterlab-jupytext.noarch: E: backup-file-in-package > > /usr/share/jupyter/labextensions/jupyterlab-jupytext/schemas/jupyterlab- > > jupytext/package.json.orig > > I saw there were backup files in %{python3_sitelib} and removed those, but > missed this one. I have updated the spec file to remove it, too. Ok. > > 2) Is this already solved? > > License file 834.90ed5e1570392532523d.js.LICENSE.txt is not marked as > > %license > > I have updated the package to manage bundled JavaScript licenses as > described here: > https://docs.fedoraproject.org/en-US/packaging-guidelines/Node.js/ > #_bundled_licenses. That won't make this warning go away, but I believe it > is correct. I would remove it, but who knows if any code needs it. Anyway I believe the jupytext-%{version}-vendor-licenses.txt doesn't match the "License:" field as in "[ ]: License field in the package spec file matches the actual license." The txt file contains among other "BlueOak-1.0.0" and the spec file does not. How should we handle it? > > 3) python-jupytext-doc is provided and I believe it should be > > python3-jupytext-doc. > > I disagree. Back in the days when we had both python 2.x and 3.x, we had > packages with names like python2-foo, python3-foo, and python-foo-doc. The > python3- prefix indicates the presence of python 3.x code, and the > documentation packages applied to both. I think we should continue to > follow that pattern in case there is a python 4 some day. There are many > packages that follow this pattern already; e.g., python-CommonMark-doc, > python-ansicolor-doc, python-cffi-doc, etc. I count 442 such packages > currently in Fedora 40. I agree. I'm on Fedora 39 and "sudo dnf -C se python-*-doc" returns 450 packages while "sudo dnf -C se python3-*-doc" only 38. I think that the chapter at https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_library_naming is not clear enough about this. > > 4) Is this needed in Requires? The project uses pyproject.toml. > > BuildRequires: %{py3_dist setuptools} > > > > 5) Is this needed in Requires? You don't seem to be calling npm. > > BuildRequires: nodejs-npm > > If either one of these is removed, we get a build failure on every > architecture except x86_64. I don't know why x86_64 doesn't need them. > Maybe it's because I generated the vendor tarball on an x86_64 machine, so > whatever step these are needed for was already done for x86_64. Why don't you use nodejs-packaging-bundler from https://docs.fedoraproject.org/en-US/packaging-guidelines/Node.js/#_bundling_script ? It produces much smaller dependencies package of 38,6 MB vs yours 102,9 MB with licenses listing included. Additional advantage is that you could drop your custom script. Maybe then a dependency on npm could be dropped as well because the structure of the archive is a bit different as well. > > 6) There seem to be a couple of unowned directories like e.g. /etc/jupyter > > and I believe that's not allowed according to > > https://docs.fedoraproject.org/en-US/packaging-guidelines/UnownedDirectories/ > > Those are the directories owned by python-jupyter-filesystem, which is the > reason this package Requires it. See bug 2264345. Ok. > > 7) I still haven't looked into the package, but aren't those bundled > > libraries that require the FPC exception as in > > "Package contains no bundled libraries without FPC exception."? Have you > > already got this exception? > > # base64-js: MIT > > # buffer: MIT > > # ieee754: BSD-3-Clause > > Nodejs packages are a special case. Bundling is expected. See > https://docs.fedoraproject.org/en-US/packaging-guidelines/Node.js/ Ok. Shouldn't then jupytext-%{version}-vendor-licenses.txt contain only MIT and BSD-3-Clause? > I have also updated to jupytext 1.16.2, which was just released a few days > ago. There is a new build in the COPR. New URLs: Ok. I found some time to look into your package in more detail, and it looks OK for me. I have further remarks though: 8) You use pytest and "BuildRequires: python3dist(pytest)" is missing as explained at https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_test_dependencies_2 9) Could you "help2man --no-discard-stderr" on jupytext-config to fix "python3-jupytext.noarch: W: no-manual-page-for-binary jupytext-config" ? 10) Out of curiosity, how did you prepare the breakdown of licenses for "%package doc"? Thanks for supporting me in this package review.
You ask great questions! (In reply to wojnilowicz from comment #8) > Ok. Could you then change the following comment "# Move the configuration > files to where we want them" to something mentioning that you move it to > match the python-jupyter-filesystem directory? I have added two comments, one above the Requires and one above the mv command. > Anyway I believe the jupytext-%{version}-vendor-licenses.txt doesn't match > the "License:" field as in > "[ ]: License field in the package spec file matches the actual license." > The txt file contains among other "BlueOak-1.0.0" and the spec file does > not. How should we handle it? The guidelines seem to assume that any node.js module needed as a BuildRequires will also be needed at runtime; i.e., it will be bundled. That may be true for node.js packages, but this is a Python package that uses some JavaScript at buildtime. The generated file of license names lists the licenses of the JavaScript installed at build time. The License field in the spec file describes the licenses of the files that are actually installed, as described in https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidelines/#_license_field. > Why don't you use nodejs-packaging-bundler from > https://docs.fedoraproject.org/en-US/packaging-guidelines/Node.js/ > #_bundling_script ? > It produces much smaller dependencies package of 38,6 MB vs yours 102,9 MB > with licenses listing included. Additional advantage is that you could drop > your custom script. Maybe then a dependency on npm could be dropped as well > because the structure of the archive is a bit different as well. It's smaller because it is missing all of the jupyterlab modules. I'm afraid using jlpm is necessary to construct a tarball that will work for building. > Ok. Shouldn't then jupytext-%{version}-vendor-licenses.txt contain only MIT > and BSD-3-Clause? It describes the licenses of the modules in the vendor tarball, as described above. That is not the same as the modules that are actually installed. > 8) You use pytest and "BuildRequires: python3dist(pytest)" is missing as > explained at > https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/ > #_test_dependencies_2 The first part of that section describes using %pyproject_buildrequires in a %generate_buildrequires script. That is what this package does. > 9) Could you "help2man --no-discard-stderr" on jupytext-config to fix > "python3-jupytext.noarch: W: no-manual-page-for-binary jupytext-config" ? Sure. I didn't think that was useful, given the nature of jupytext-config, but I've gone ahead and done it. > 10) Out of curiosity, how did you prepare the breakdown of licenses for > "%package doc"? Awhile ago, I did a license analysis of various documentation generators. The results are here: https://jamezone.org/pleasure/software/Fedora/license/. Now when I want to analyze a doc package, I match up the files in the package with the list at that URL to generate the list of licenses. > Thanks for supporting me in this package review. No problem. You're doing a great job as a reviewer. I have uploaded a new spec file and a new srpm, at the same URLs as before.
(In reply to Jerry James from comment #9) > You ask great questions! Thanks. > (In reply to wojnilowicz from comment #8) > > Ok. Could you then change the following comment "# Move the configuration > > files to where we want them" to something mentioning that you move it to > > match the python-jupyter-filesystem directory? > > I have added two comments, one above the Requires and one above the mv > command. Thanks. > > Anyway I believe the jupytext-%{version}-vendor-licenses.txt doesn't match > > the "License:" field as in > > "[ ]: License field in the package spec file matches the actual license." > > The txt file contains among other "BlueOak-1.0.0" and the spec file does > > not. How should we handle it? > > The guidelines seem to assume that any node.js module needed as a > BuildRequires will also be needed at runtime; i.e., it will be bundled. > That may be true for node.js packages, but this is a Python package that > uses some JavaScript at buildtime. The generated file of license names > lists the licenses of the JavaScript installed at build time. The License > field in the spec file describes the licenses of the files that are actually > installed, as described in > https://docs.fedoraproject.org/en-US/packaging-guidelines/ > LicensingGuidelines/#_license_field. You're right. I read https://docs.fedoraproject.org/en-US/legal/license-field/ once more and it puts requirements only on the license tag in the spec file and not on the bundled-licenses.txt file. Moreover bundled-licenses.txt is only recommended to be included as seen at https://docs.fedoraproject.org/en-US/packaging-guidelines/Node.js/#_bundled_licenses so I guess it's ok to even not include it. Previosly I thought that the license tag and the file have to be synchronized. > > Why don't you use nodejs-packaging-bundler from > > https://docs.fedoraproject.org/en-US/packaging-guidelines/Node.js/ > > #_bundling_script ? > > It produces much smaller dependencies package of 38,6 MB vs yours 102,9 MB > > with licenses listing included. Additional advantage is that you could drop > > your custom script. Maybe then a dependency on npm could be dropped as well > > because the structure of the archive is a bit different as well. > > It's smaller because it is missing all of the jupyterlab modules. I'm > afraid using jlpm is necessary to construct a tarball that will work for > building. Ok, good enough. > > Ok. Shouldn't then jupytext-%{version}-vendor-licenses.txt contain only MIT > > and BSD-3-Clause? > > It describes the licenses of the modules in the vendor tarball, as described > above. That is not the same as the modules that are actually installed. Clear now. > > 8) You use pytest and "BuildRequires: python3dist(pytest)" is missing as > > explained at > > https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/ > > #_test_dependencies_2 > > The first part of that section describes using %pyproject_buildrequires in a > %generate_buildrequires script. That is what this package does. Ok. So that's how you do it! I did not notice it :) > > 9) Could you "help2man --no-discard-stderr" on jupytext-config to fix > > "python3-jupytext.noarch: W: no-manual-page-for-binary jupytext-config" ? > > Sure. I didn't think that was useful, given the nature of jupytext-config, > but I've gone ahead and done it. Thanks. > > 10) Out of curiosity, how did you prepare the breakdown of licenses for > > "%package doc"? > > Awhile ago, I did a license analysis of various documentation generators. > The results are here: > https://jamezone.org/pleasure/software/Fedora/license/. Now when I want to > analyze a doc package, I match up the files in the package with the list at > that URL to generate the list of licenses. Useful info. Thanks for sharing. > > Thanks for supporting me in this package review. > > No problem. You're doing a great job as a reviewer. Thanks :) You're doing a great job at introducing me to this stuff.
I just wanted to approve the package because to me it looks great, but found two checks that prevented me from doing so. Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed Issues: ======= ===== 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", "MIT License", "*No copyright* MIT License". 1877 files have unknown license. Detailed output of licensecheck in /var/lib/copr-rpmbuild/results/python- jupytext/licensecheck.txt [!]: License file installed when any subpackage combination is installed. Note: License file installed only when python-jupytext-doc is installed. [x]: Package requires other packages for directories it uses. Note: No known owner of /usr/share/licenses, /usr/share/man, /usr, /usr/lib/python3.12, /usr/share/man/man1, /usr/share, /usr/lib/python3.12/site-packages, /usr/share/jupyter, /usr/lib, /usr/share/jupyter/labextensions, /usr/share/doc, /etc/jupyter/jupyter_notebook_config.d, /etc/jupyter/jupyter_server_config.d, /usr/bin, /etc, /etc/jupyter [x]: Package must own all directories that it creates. Note: Directories without known owners: /usr/share/doc, /usr/share/licenses, /usr/share/man, /usr/lib/python3.12/site- packages, /usr, /usr/lib/python3.12, /etc/jupyter/jupyter_notebook_config.d, /usr/share, /etc/jupyter/jupyter_server_config.d, /usr/share/man/man1, /usr/share/jupyter, /usr/lib, /usr/share/jupyter/labextensions, /etc, /etc/jupyter, /usr/bin [x]: Package contains no bundled libraries without FPC exception. [x]: Changelog in prescribed format. [x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. Note: rm -rf %{buildroot} present but not required [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. [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]: 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]: %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]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 7961 bytes in 1 files. [x]: Packages must not store files under /srv, /opt or /usr/local Python: [-]: Binary eggs must be removed in %prep Note: Cannot find any build in BUILD directory (--prebuilt option?) [-]: 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 ===== SHOULD items ===== Generic: [!]: 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-jupytext , python3-jupyterlab-jupytext Note: "Requires: jupyterlab" is not versioned and at https://github.com/mwouts/jupytext/blob/main/jupyterlab/packages/jupyterlab-jupytext-extension/README.md#installation it says that for jupyterlab < 4.0 you need an older version of this extension. Could you add versioned dependency so that "rpm -q --requires python3-jupyterlab-jupytext" will return jupyterlab >= 4.0 (eventually >=4.0 and < 5.0) instead of just jupyterlab? [x]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [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-jupytext-1.16.2-1.fc41.noarch.rpm python3-jupyterlab-jupytext-1.16.2-1.fc41.noarch.rpm python-jupytext-doc-1.16.2-1.fc41.noarch.rpm python-jupytext-1.16.2-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/tmpgsd_s48n')] checks: 32, packages: 4 python3-jupytext.noarch: W: python-leftover-require python-jupyter-filesystem python3-jupytext.noarch: W: no-manual-page-for-binary jupytext-config python3-jupyterlab-jupytext.noarch: W: no-documentation python-jupytext.spec: W: invalid-url Source1: jupytext-1.16.2-vendor.tar.xz python3-jupytext.noarch: W: devel-file-in-non-devel-package /usr/bin/jupytext-config 4 packages and 0 specfiles checked; 0 errors, 5 warnings, 21 filtered, 0 badness; has taken 1.4 s Rpmlint (installed packages) ---------------------------- (none): E: there is no installed rpm "python3-jupytext". (none): E: there is no installed rpm "python3-jupyterlab-jupytext". (none): E: there is no installed rpm "python-jupytext-doc". There are no files to process nor additional arguments. Nothing to do, aborting. ============================ 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 checks: 32, packages: 3 0 packages and 0 specfiles checked; 0 errors, 0 warnings, 0 filtered, 0 badness; has taken 0.0 s Source checksums ---------------- https://github.com/mwouts/jupytext/archive/v1.16.2/jupytext-1.16.2.tar.gz : CHECKSUM(SHA256) this package : 68a09dc8393bd5ceff995cf60377d53e003f0035ddf2f6bc2e23fa46e3575380 CHECKSUM(SHA256) upstream package : 68a09dc8393bd5ceff995cf60377d53e003f0035ddf2f6bc2e23fa46e3575380 Requires -------- python3-jupytext (rpmlib, GLIBC filtered): /usr/bin/python3 config(python3-jupytext) python(abi) python-jupyter-filesystem python3.12dist(markdown-it-py) python3.12dist(mdit-py-plugins) python3.12dist(nbformat) python3.12dist(packaging) python3.12dist(pyyaml) python3-jupyterlab-jupytext (rpmlib, GLIBC filtered): jupyterlab python(abi) python3-jupytext python-jupytext-doc (rpmlib, GLIBC filtered): Provides -------- python3-jupytext: config(python3-jupytext) python-jupytext python3-jupytext python3.12-jupytext python3.12dist(jupytext) python3dist(jupytext) python3-jupyterlab-jupytext: bundled(npm(base64-js)) bundled(npm(buffer)) bundled(npm(ieee754)) bundled(npm(jupyterlab-rise)) python-jupyterlab-jupytext python3-jupyterlab-jupytext python3.12-jupyterlab-jupytext python-jupytext-doc: python-jupytext-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-jupytext --mock-config /var/lib/copr-rpmbuild/results/configs/child.cfg Buildroot used: fedora-rawhide-x86_64 Active plugins: Shell-api, Generic, Python Disabled plugins: SugarActivity, Haskell, Java, PHP, R, Ocaml, C/C++, fonts, Perl Disabled flags: EXARCH, EPEL6, EPEL7, DISTTAG, BATCH
I just wanted to approve the package because to me it looks great, but found one check (the other one is solved after reading https://docs.fedoraproject.org/en-US/packaging-guidelines/#_explicit_requires) that prevented me from doing so. Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed Issues: ======= ===== 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", "MIT License", "*No copyright* MIT License". 1877 files have unknown license. Detailed output of licensecheck in /var/lib/copr-rpmbuild/results/python- jupytext/licensecheck.txt [!]: License file installed when any subpackage combination is installed. Note: License file installed only when python-jupytext-doc is installed. [x]: Package requires other packages for directories it uses. Note: No known owner of /usr/share/licenses, /usr/share/man, /usr, /usr/lib/python3.12, /usr/share/man/man1, /usr/share, /usr/lib/python3.12/site-packages, /usr/share/jupyter, /usr/lib, /usr/share/jupyter/labextensions, /usr/share/doc, /etc/jupyter/jupyter_notebook_config.d, /etc/jupyter/jupyter_server_config.d, /usr/bin, /etc, /etc/jupyter [x]: Package must own all directories that it creates. Note: Directories without known owners: /usr/share/doc, /usr/share/licenses, /usr/share/man, /usr/lib/python3.12/site- packages, /usr, /usr/lib/python3.12, /etc/jupyter/jupyter_notebook_config.d, /usr/share, /etc/jupyter/jupyter_server_config.d, /usr/share/man/man1, /usr/share/jupyter, /usr/lib, /usr/share/jupyter/labextensions, /etc, /etc/jupyter, /usr/bin [x]: Package contains no bundled libraries without FPC exception. [x]: Changelog in prescribed format. [x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. Note: rm -rf %{buildroot} present but not required [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. [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]: 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]: %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]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 7961 bytes in 1 files. [x]: Packages must not store files under /srv, /opt or /usr/local Python: [-]: Binary eggs must be removed in %prep Note: Cannot find any build in BUILD directory (--prebuilt option?) [-]: 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 ===== 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). [x]: Fully versioned dependency in subpackages if applicable. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in python3-jupytext , python3-jupyterlab-jupytext [x]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [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-jupytext-1.16.2-1.fc41.noarch.rpm python3-jupyterlab-jupytext-1.16.2-1.fc41.noarch.rpm python-jupytext-doc-1.16.2-1.fc41.noarch.rpm python-jupytext-1.16.2-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/tmpgsd_s48n')] checks: 32, packages: 4 python3-jupytext.noarch: W: python-leftover-require python-jupyter-filesystem python3-jupytext.noarch: W: no-manual-page-for-binary jupytext-config python3-jupyterlab-jupytext.noarch: W: no-documentation python-jupytext.spec: W: invalid-url Source1: jupytext-1.16.2-vendor.tar.xz python3-jupytext.noarch: W: devel-file-in-non-devel-package /usr/bin/jupytext-config 4 packages and 0 specfiles checked; 0 errors, 5 warnings, 21 filtered, 0 badness; has taken 1.4 s Rpmlint (installed packages) ---------------------------- (none): E: there is no installed rpm "python3-jupytext". (none): E: there is no installed rpm "python3-jupyterlab-jupytext". (none): E: there is no installed rpm "python-jupytext-doc". There are no files to process nor additional arguments. Nothing to do, aborting. ============================ 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 checks: 32, packages: 3 0 packages and 0 specfiles checked; 0 errors, 0 warnings, 0 filtered, 0 badness; has taken 0.0 s Source checksums ---------------- https://github.com/mwouts/jupytext/archive/v1.16.2/jupytext-1.16.2.tar.gz : CHECKSUM(SHA256) this package : 68a09dc8393bd5ceff995cf60377d53e003f0035ddf2f6bc2e23fa46e3575380 CHECKSUM(SHA256) upstream package : 68a09dc8393bd5ceff995cf60377d53e003f0035ddf2f6bc2e23fa46e3575380 Requires -------- python3-jupytext (rpmlib, GLIBC filtered): /usr/bin/python3 config(python3-jupytext) python(abi) python-jupyter-filesystem python3.12dist(markdown-it-py) python3.12dist(mdit-py-plugins) python3.12dist(nbformat) python3.12dist(packaging) python3.12dist(pyyaml) python3-jupyterlab-jupytext (rpmlib, GLIBC filtered): jupyterlab python(abi) python3-jupytext python-jupytext-doc (rpmlib, GLIBC filtered): Provides -------- python3-jupytext: config(python3-jupytext) python-jupytext python3-jupytext python3.12-jupytext python3.12dist(jupytext) python3dist(jupytext) python3-jupyterlab-jupytext: bundled(npm(base64-js)) bundled(npm(buffer)) bundled(npm(ieee754)) bundled(npm(jupyterlab-rise)) python-jupyterlab-jupytext python3-jupyterlab-jupytext python3.12-jupyterlab-jupytext python-jupytext-doc: python-jupytext-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-jupytext --mock-config /var/lib/copr-rpmbuild/results/configs/child.cfg Buildroot used: fedora-rawhide-x86_64 Active plugins: Shell-api, Generic, Python Disabled plugins: SugarActivity, Haskell, Java, PHP, R, Ocaml, C/C++, fonts, Perl Disabled flags: EXARCH, EPEL6, EPEL7, DISTTAG, BATCH
(In reply to wojnilowicz from comment #11) > [!]: License file installed when any subpackage combination is installed. > Note: License file installed only when python-jupytext-doc is installed. Actually, that's not true. Some python package builders stash the license file in the python distinfo. For this package, you can pass the -L flag to rpm to see that the license file is actually in there: $ rpm -qLp python3-jupytext-1.16.2-1.fc41.noarch.rpm warning: python3-jupytext-1.16.2-1.fc41.noarch.rpm: Header V4 RSA/SHA256 Signature, key ID 3a811e59: NOKEY /usr/lib/python3.12/site-packages/jupytext-1.16.2.dist-info/licenses/LICENSE > [!]: Fully versioned dependency in subpackages if applicable. > Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in > python3-jupytext , python3-jupyterlab-jupytext > Note: "Requires: jupyterlab" is not versioned and at This is correct, since there is no binary RPM named python-jupytext. Note that python3-jupyterlab-jupytext does have a versioned Requires on the python3-jupytext package, however. > https://github.com/mwouts/jupytext/blob/main/jupyterlab/packages/jupyterlab- > jupytext-extension/README.md#installation > it says that for jupyterlab < 4.0 you need an older version of this > extension. > Could you add versioned dependency so that "rpm -q --requires > python3-jupyterlab-jupytext" > will return jupyterlab >= 4.0 (eventually >=4.0 and < 5.0) instead of > just jupyterlab? Good catch. I have added that. The URLs are the same as before.
(In reply to Jerry James from comment #13) > (In reply to wojnilowicz from comment #11) > > [!]: License file installed when any subpackage combination is installed. > > Note: License file installed only when python-jupytext-doc is installed. > > Actually, that's not true. Some python package builders stash the license > file in the python distinfo. For this package, you can pass the -L flag to > rpm to see that the license file is actually in there: > > $ rpm -qLp python3-jupytext-1.16.2-1.fc41.noarch.rpm > warning: python3-jupytext-1.16.2-1.fc41.noarch.rpm: Header V4 RSA/SHA256 > Signature, key ID 3a811e59: NOKEY > /usr/lib/python3.12/site-packages/jupytext-1.16.2.dist-info/licenses/LICENSE Sorry, you're right. I missed the part at https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_build_macros It recommends though that %pyproject_save_files be invoked with the "-l" option in order to not loose the license in the future.
This package is APPROVED. Thanks for your patience. Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed Issues: ======= ===== 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", "MIT License", "*No copyright* MIT License". 1877 files have unknown license. Detailed output of licensecheck in /var/lib/copr-rpmbuild/results/python- jupytext/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 /usr/share/licenses, /usr/share/man, /usr, /usr/lib/python3.12, /usr/share/man/man1, /usr/share, /usr/lib/python3.12/site-packages, /usr/share/jupyter, /usr/lib, /usr/share/jupyter/labextensions, /usr/share/doc, /etc/jupyter/jupyter_notebook_config.d, /etc/jupyter/jupyter_server_config.d, /usr/bin, /etc, /etc/jupyter [x]: Package must own all directories that it creates. Note: Directories without known owners: /usr/share/doc, /usr/share/licenses, /usr/share/man, /usr/lib/python3.12/site- packages, /usr, /usr/lib/python3.12, /etc/jupyter/jupyter_notebook_config.d, /usr/share, /etc/jupyter/jupyter_server_config.d, /usr/share/man/man1, /usr/share/jupyter, /usr/lib, /usr/share/jupyter/labextensions, /etc, /etc/jupyter, /usr/bin [x]: Package contains no bundled libraries without FPC exception. [x]: Changelog in prescribed format. [x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. Note: rm -rf %{buildroot} present but not required [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. [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]: 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]: %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]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 7961 bytes in 1 files. [x]: Packages must not store files under /srv, /opt or /usr/local Python: [-]: Binary eggs must be removed in %prep Note: Cannot find any build in BUILD directory (--prebuilt option?) [-]: 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 ===== 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). [x]: Fully versioned dependency in subpackages if applicable. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in python3-jupytext , python3-jupyterlab-jupytext [x]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [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-jupytext-1.16.2-1.fc41.noarch.rpm python3-jupyterlab-jupytext-1.16.2-1.fc41.noarch.rpm python-jupytext-doc-1.16.2-1.fc41.noarch.rpm python-jupytext-1.16.2-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/tmpgsd_s48n')] checks: 32, packages: 4 python3-jupytext.noarch: W: python-leftover-require python-jupyter-filesystem python3-jupytext.noarch: W: no-manual-page-for-binary jupytext-config python3-jupyterlab-jupytext.noarch: W: no-documentation python-jupytext.spec: W: invalid-url Source1: jupytext-1.16.2-vendor.tar.xz python3-jupytext.noarch: W: devel-file-in-non-devel-package /usr/bin/jupytext-config 4 packages and 0 specfiles checked; 0 errors, 5 warnings, 21 filtered, 0 badness; has taken 1.4 s Rpmlint (installed packages) ---------------------------- (none): E: there is no installed rpm "python3-jupytext". (none): E: there is no installed rpm "python3-jupyterlab-jupytext". (none): E: there is no installed rpm "python-jupytext-doc". There are no files to process nor additional arguments. Nothing to do, aborting. ============================ 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 checks: 32, packages: 3 0 packages and 0 specfiles checked; 0 errors, 0 warnings, 0 filtered, 0 badness; has taken 0.0 s Source checksums ---------------- https://github.com/mwouts/jupytext/archive/v1.16.2/jupytext-1.16.2.tar.gz : CHECKSUM(SHA256) this package : 68a09dc8393bd5ceff995cf60377d53e003f0035ddf2f6bc2e23fa46e3575380 CHECKSUM(SHA256) upstream package : 68a09dc8393bd5ceff995cf60377d53e003f0035ddf2f6bc2e23fa46e3575380 Requires -------- python3-jupytext (rpmlib, GLIBC filtered): /usr/bin/python3 config(python3-jupytext) python(abi) python-jupyter-filesystem python3.12dist(markdown-it-py) python3.12dist(mdit-py-plugins) python3.12dist(nbformat) python3.12dist(packaging) python3.12dist(pyyaml) python3-jupyterlab-jupytext (rpmlib, GLIBC filtered): jupyterlab python(abi) python3-jupytext python-jupytext-doc (rpmlib, GLIBC filtered): Provides -------- python3-jupytext: config(python3-jupytext) python-jupytext python3-jupytext python3.12-jupytext python3.12dist(jupytext) python3dist(jupytext) python3-jupyterlab-jupytext: bundled(npm(base64-js)) bundled(npm(buffer)) bundled(npm(ieee754)) bundled(npm(jupyterlab-rise)) python-jupyterlab-jupytext python3-jupyterlab-jupytext python3.12-jupyterlab-jupytext python-jupytext-doc: python-jupytext-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-jupytext --mock-config /var/lib/copr-rpmbuild/results/configs/child.cfg Buildroot used: fedora-rawhide-x86_64 Active plugins: Shell-api, Generic, Python Disabled plugins: SugarActivity, Haskell, Java, PHP, R, Ocaml, C/C++, fonts, Perl Disabled flags: EXARCH, EPEL6, EPEL7, DISTTAG, BATCH
(In reply to wojnilowicz from comment #14) > Sorry, you're right. I missed the part at > https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/ > #_build_macros > It recommends though that %pyproject_save_files be invoked with the "-l" > option in order to not loose the license in the future. Thanks for pointing that out. I had overlooked that bit. I'll update my other python packages accordingly. I appreciate you sticking with this review!
The Pagure repository was created at https://src.fedoraproject.org/rpms/python-jupytext
FEDORA-2024-852adeec38 (python-jupytext-1.16.2-1.fc40) has been submitted as an update to Fedora 40. https://bodhi.fedoraproject.org/updates/FEDORA-2024-852adeec38
FEDORA-2024-852adeec38 has been pushed to the Fedora 40 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf install --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-852adeec38 \*` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-852adeec38 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2024-852adeec38 (python-jupytext-1.16.2-1.fc40) has been pushed to the Fedora 40 stable repository. If problem still persists, please make note of it in this bug report.