https://bugzilla.redhat.com/show_bug.cgi?id=2278422
--- Comment #5 from Jerry James loganjerry@gmail.com --- Now that the packages needed by python-nbdime have all been built for python 3.13, builds work in Rawhide again. I have updated the package according to your remarks. Detailed comments below.
(In reply to wojnilowicz from comment #3)
- Previous post from Fedora Review Service says it doesn't build. Could you
fix that? I'm not sure if that's related, but it asked me three times about various missing dependencies when I tried to build it myself.
I will ask it for a new build momentarily.
- Could you use
https://src.fedoraproject.org/rpms/python-jupytext/blob/rawhide/f/python- jupytext.spec#_52 https://src.fedoraproject.org/rpms/python-jupytext/blob/rawhide/f/python- jupytext.spec#_144 instead of "# Move the configuration files to where we want them"?
Done.
- rpmlint reported python3-nbdime.noarch: W: no-manual-page-for-binary
nbdime. Could you fix that?
Done.
- rpmlint reported python3-nbdime.noarch: W: files-duplicate
/usr/lib/python3.12/site-packages/nbdime/webapp/testnotebooks/base.ipynb /usr/lib/python3.12/site-packages/nbdime/tests/files/multi_cell_nb.ipynb Could you fix that?
Done. Now rpmlint complains about a cross-directory hardlink, but since both are under %{python3_sitelib}/nbdime, I don't see that as a problem.
- Does it have any sense to list graphic files under the BSD license as in
"_static/plus.png: BSD-2-Clause"? I think it's only for source code and at https://docs.fedoraproject.org/en-US/legal/allowed-licenses/ #_allowed_content_licenses it isn't listed for graphic files.
I had a conversation with Richard Fontana once in which I asked him about licenses attached to graphics and font files. He said that he wished packagers would include those licenses in the License field. In the case of plus.png, that file is copied from the python3-sphinx package. The sphinx project is distributed under the BSD-2-Clause license, and does not make any exceptions for the graphic files, so they are implicitly under this license as well.
I recognize that most packagers don't analyze package licenses to this level of detail, but I think it is the right thing to do. I have been tracking where documentation generators copy files from on this web page: https://jamezone.org/pleasure/software/Fedora/license/. It is incomplete, but covers the documentation generators my packages use.
- Why giving executable bits to these files? Other py files don't have them.
# Add missing executable bits chmod a+x \ %{buildroot}%{python3_sitelib}/nbdime/tests/filters/add_helper.py \ %{buildroot}%{python3_sitelib}/nbdime/tests/filters/noop.py \ %{buildroot}%{python3_sitelib}/nbdime/tests/filters/strip_outputs.py \ %{buildroot}%{python3_sitelib}/nbdime/vcs/git/diffdriver.py \ %{buildroot}%{python3_sitelib}/nbdime/vcs/git/difftool.py \ %{buildroot}%{python3_sitelib}/nbdime/vcs/git/mergedriver.py \ %{buildroot}%{python3_sitelib}/nbdime/vcs/git/mergetool.py \ %{buildroot}%{python3_sitelib}/nbdime/vcs/hg/diff.py \ %{buildroot}%{python3_sitelib}/nbdime/vcs/hg/diffweb.py \ %{buildroot}%{python3_sitelib}/nbdime/vcs/hg/merge.py \ %{buildroot}%{python3_sitelib}/nbdime/vcs/hg/mergeweb.py \ %{buildroot}%{python3_sitelib}/nbdime/webapp/nbdifftool.py \ %{buildroot}%{python3_sitelib}/nbdime/webapp/nbdiffweb.py \ %{buildroot}%{python3_sitelib}/nbdime/webapp/nbdimeserver.py \ %{buildroot}%{python3_sitelib}/nbdime/webapp/nbmergetool.py \ %{buildroot}%{python3_sitelib}/nbdime/webapp/nbmergeweb.py
Because they have shebangs and main functions, indicating they are meant to be executed.
- No difference between following two entries intended?
makehelp nbmerge 'Merge two Jupyter notebooks' makehelp nbmerge-web 'Merge two Jupyter notebooks'
Yes. I'm not sure what else to write there. I'm open to suggestions.
- Could you double check that you need it? The subsequent py3_shebang_fix
removes "/usr/bin/env" as described at https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/ #py3_shebang_fix in my case.
# Remove useless shebangs sed -i ',#!/usr/bin/env,d' \ nbdime/diffing/directorydiff.py \ nbdime/gitfiles.py \ nbdime/webapp/nb_server_extension.py \ nbdime/webapp/webutil.py
The subsequent py3_shebang_fix does remove env, but replaces it with a different shebang. These files should not have shebangs at all, because they have no main function.
- How do you know which npms you have to bundle? There are many more of
them in your vendored packages.
You are right. My analysis was incomplete. I have now looked at every *.js file in the binary package and determined its origin. The list of bundled provides is a lot longer. I'm going to have to write some kind of script to maintain that list.
I have uploaded a new spec file and new source RPM at the URLs in comment 4 (thanks, Bob!).