Bug 2494179 - Review Request: python-jupyter-builder - Build tools for JupyterLab extensions
Summary: Review Request: python-jupyter-builder - Build tools for JupyterLab extensions
Keywords:
Status: POST
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Miro Hrončok
QA Contact: Fedora Extras Quality Assurance
URL: https://jupyter.org
Whiteboard:
Depends On:
Blocks: 2489968
TreeView+ depends on / blocked
 
Reported: 2026-06-29 13:43 UTC by Lumír Balhar
Modified: 2026-08-25 10:54 UTC (History)
3 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Type: ---
Embargoed:
mhroncok: fedora-review+


Attachments (Terms of Use)

Description Lumír Balhar 2026-06-29 13:43:29 UTC
Spec URL: https://lbalhar.fedorapeople.org/python-jupyter-builder.spec
SRPM URL: https://lbalhar.fedorapeople.org/python-jupyter-builder-1.0.2-1.fc44.src.rpm
Description: Build tools for JupyterLab extensions — extracted from the core JupyterLab codebase to be maintained and used independently.
Fedora Account System Username: lbalhar

I'm testing the new package together with others from this stack in: https://copr.fedorainfracloud.org/coprs/g/python/jupyterlab/builds/

Comment 1 Fedora Review Service 2026-06-29 13:53:26 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/10660758
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2494179-python-jupyter-builder/fedora-rawhide-x86_64/10660758-python-jupyter-builder/fedora-review/review.txt

Please take a look if any issues were found.


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

Comment 2 Miro Hrončok 2026-06-30 10:11:40 UTC
The specfile is sane.

Relevant rpmlint findings:

python3-jupyter-builder.noarch: E: non-executable-script /usr/lib/python3.15/site-packages/jupyter_builder/yarn.js 644 /usr/bin/env node



I'll check the bundled things before approving.

Comment 3 Miro Hrončok 2026-06-30 10:39:24 UTC
The yarn.js file is a vendored bundled distribution of Yarn (https://github.com/yarnpkg/yarn), which includes third-party code which should liekly be provided in bundled() as well. I wonder how tedious that would be :/


Itelf, it claims to be BSD-2-Clause:

{name:"@yarnpkg/cli",version:"3.5.0",license:"BSD-2-Clause"...

THIRD_PARTY_LICENSES/yarn.js.LICENSE.txt only lists licenses of software bundled in yarn, but does not list the license of yarn :/ (perhaps this shall be fixed upstream?)





There's also {"@yarnpkg/core":"workspace:^","@yarnpkg/fslib":"workspace:^","@yarnpkg/libzip":"workspace:^","@yarnpkg/parsers":"workspace:^","@yarnpkg/plugin-compat":"workspace:^","@yarnpkg/plugin-dlx":"workspace:^","@yarnpkg/plugin-essentials":"workspace:^","@yarnpkg/plugin-file":"workspace:^","@yarnpkg/plugin-git":"workspace:^","@yarnpkg/plugin-github":"workspace:^","@yarnpkg/plugin-http":"workspace:^","@yarnpkg/plugin-init":"workspace:^","@yarnpkg/plugin-link":"workspace:^","@yarnpkg/plugin-nm":"workspace:^","@yarnpkg/plugin-npm":"workspace:^","@yarnpkg/plugin-npm-cli":"workspace:^","@yarnpkg/plugin-pack":"workspace:^","@yarnpkg/plugin-patch":"workspace:^","@yarnpkg/plugin-pnp":"workspace:^","@yarnpkg/plugin-pnpm":"workspace:^","@yarnpkg/plugin-workspace-tools":"workspace:^","@yarnpkg/shell":"workspace:^",chalk:"^3.0.0","ci-info":"^3.2.0",clipanion:"3.2.0-rc.4",semver:"^7.1.2",tslib:"^1.13.0",typanion:"^3.3.0",yup:"^0.32.9"}

And those likely have licenses of their own.


echo '{"@yarnpkg/core":"workspace:^","@yarnpkg/fslib":"workspace:^","@yarnpkg/libzip":"workspace:^","@yarnpkg/p
  arsers":"workspace:^","@yarnpkg/plugin-compat":"workspace:^","@yarnpkg/plugin-dlx":"workspace:^","@yarnpkg/plug
  in-essentials":"workspace:^","@yarnpkg/plugin-file":"workspace:^","@yarnpkg/plugin-git":"workspace:^","@yarnpkg
  /plugin-github":"workspace:^","@yarnpkg/plugin-http":"workspace:^","@yarnpkg/plugin-init":"workspace:^","@yarnp
  kg/plugin-link":"workspace:^","@yarnpkg/plugin-nm":"workspace:^","@yarnpkg/plugin-npm":"workspace:^","@yarnpkg/
  plugin-npm-cli":"workspace:^","@yarnpkg/plugin-pack":"workspace:^","@yarnpkg/plugin-patch":"workspace:^","@yarn
  pkg/plugin-pnp":"workspace:^","@yarnpkg/plugin-pnpm":"workspace:^","@yarnpkg/plugin-workspace-tools":"workspace
  :^","@yarnpkg/shell":"workspace:^","chalk":"^3.0.0","ci-info":"^3.2.0","clipanion":"3.2.0-rc.4","semver":"^7.1.
  2","tslib":"^1.13.0","typanion":"^3.3.0","yup":"^0.32.9"}' \
    | jq -r 'keys[]' \
    | while read pkg; do
        printf '%-45s %s\n' "$pkg" "$(npm view "$pkg" license 2>/dev/null || echo 'NOT FOUND')"
      done



  @yarnpkg/core                                 BSD-2-Clause
  @yarnpkg/fslib                                BSD-2-Clause
  @yarnpkg/libzip                               BSD-2-Clause
  @yarnpkg/parsers                              BSD-2-Clause
  @yarnpkg/plugin-compat                        BSD-2-Clause
  @yarnpkg/plugin-dlx                           BSD-2-Clause
  @yarnpkg/plugin-essentials                    BSD-2-Clause
  @yarnpkg/plugin-file                          BSD-2-Clause
  @yarnpkg/plugin-git                           BSD-2-Clause
  @yarnpkg/plugin-github                        BSD-2-Clause
  @yarnpkg/plugin-http                          BSD-2-Clause
  @yarnpkg/plugin-init                          BSD-2-Clause
  @yarnpkg/plugin-link                          BSD-2-Clause
  @yarnpkg/plugin-nm                            BSD-2-Clause
  @yarnpkg/plugin-npm                           BSD-2-Clause
  @yarnpkg/plugin-npm-cli                       BSD-2-Clause
  @yarnpkg/plugin-pack                          BSD-2-Clause
  @yarnpkg/plugin-patch                         BSD-2-Clause
  @yarnpkg/plugin-pnp                           BSD-2-Clause
  @yarnpkg/plugin-pnpm                          BSD-2-Clause
  @yarnpkg/plugin-workspace-tools               BSD-2-Clause
  @yarnpkg/shell                                BSD-2-Clause
  chalk                                         MIT
  ci-info                                       MIT
  clipanion                                     MIT
  semver                                        ISC
  tslib                                         0BSD
  typanion                                      MIT
  yup                                           MIT

Comment 4 Lumír Balhar 2026-08-18 10:23:43 UTC
I don't think I'm able to get all the info we need for the RPM package from the source files as they are currently, so I've opened https://github.com/jupyterlab/jupyter-builder/issues/169

Comment 6 Miro Hrončok 2026-08-25 10:54:16 UTC
2 nitpicks:


> # Remove shebang line from yarn.js
> sed -i '1d' jupyter_builder/yarn.js

Better guard that by checking if the first line actually has a shebang. In case it does not have it in a later version, we don't want to strip the first line. Something like 1{/^#!/d}

---

The %generate_buildrequires section is the only section that is not separated by 2 empty lines.



Neither is blocking. Package APPROVED.


Note You need to log in before you can comment on or make changes to this bug.