[Bug 2278422] Review Request: python-nbdime - Diff and merge of Jupyter notebooks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



https://bugzilla.redhat.com/show_bug.cgi?id=2278422



--- Comment #5 from Jerry James <loganjerry@xxxxxxxxx> ---
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)
> 1) 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.

> 2) 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.

> 3) rpmlint reported python3-nbdime.noarch: W: no-manual-page-for-binary
> nbdime. Could you fix that?

Done.

> 4) 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.

> 5) 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.

> 6) 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.

> 7) 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.

> 8) 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.

> 9) 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!).


-- 
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%23c5
--
_______________________________________________
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




[Index of Archives]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite Conditions]     [KDE Users]

  Powered by Linux