[Bug 2349303] Review Request: python-safetensors - Python bindings for the safetensors library

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

 



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



--- Comment #8 from Ben Beasley <code@xxxxxxxxxxxxxxxxxx> ---
(In reply to Alexander Lent from comment #7)
> > [-]: Package must own all directories that it creates.
> >      Note: Directories without known owners: /usr/lib64/python3.13,
> >      /usr/lib64/python3.13/site-packages
> 
> My understanding is that other packages should own these files.

These two directories in particular are a frequent fedora-review glitch. They
are owned by python3-libs, which this package will require, so all is well
here.

> > [ ]: If the source package does not include license text(s) as a separate
> >      file from upstream, the packager SHOULD query upstream to include it.
> 
> It already does, though due to how the PyPI sources are generated, the
> LICENSE file is in the crate subfolder.

See also https://github.com/pydantic/jiter/issues/187, where the project is
similarly organized and a similar quirk occurs in the PyPI distributions; we’re
having a hard time figuring out exactly how to fix it upstream.

> > [ ]: Fully versioned dependency in subpackages if applicable.
> >      Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in
> >      python3-safetensors , python3-safetensors+numpy ,
> >      python3-safetensors+torch
> 
> This seems to be a result of using the pyproject extras macros.
> Strangely the guidelines seem to require it but the extras macro (generated
> by pyp2spec) doesn't do it:
> "A package that provides a Python extra MUST require the extra’s main
> package with exact NEVR."
> https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/
> #_handling_extras

The macro *does* require the exact NEVR, e.g.

  $ rpm -E '%pyproject_extras_subpkg -n python3-foo bar'
  %package -n python3-foo+bar
  Summary: Metapackage for python3-foo: bar extras
  Requires: python3-foo = %{version}-%{release}
  %description -n python3-foo+bar
  This is a metapackage bringing in bar extras requires for python3-foo.
  It makes sure the dependencies are installed.

  %files -n python3-foo+bar -f
/home/ben/rpmbuild/BUILD/%{name}-%{version}-%{release}.x86_64-pyproject-ghost-distinfo

but it does *not* do so in an arch-specific way as would normally be required.
This is a known and accepted limitation of macro helpers for Python extras,
remarked on in the original Change (search for "Technically," in
https://fedoraproject.org/wiki/Changes/PythonExtras).

In short, the dependency produced by %pyproject_extras_subpkg, which is
exact-NEVR but not arch-specific, should be “good enough,” and if there is a
problem with it not being arch-specific, then that problem would affect
hundreds of packages throughout the distribution.

> > [!]: Latest version is packaged.
> > 
> > 0.5.3
> > 
> 
> Packaging the latest version is blocked on bug 2348381.

PR opened: https://src.fedoraproject.org/rpms/rust-safetensors/pull-request/2

The primary maintainer hasn’t been active for several months, so I’ll go ahead
and merge and build the PR as a rust-sig member once the CI finishes.

> > python3-safetensors+numpy.x86_64: E: spelling-error ('Metapackage',
> > 'Summary(en_US) Metapackage -> Meta package, Meta-package, Prepackage')
> > python3-safetensors+torch.x86_64: E: spelling-error ('Metapackage',
> > 'Summary(en_US) Metapackage -> Meta package, Meta-package, Prepackage')
> > python3-safetensors+numpy.x86_64: W: no-documentation
> > python3-safetensors+torch.x86_64: W: no-documentation
> >  4 packages and 0 specfiles checked; 2 errors, 2 warnings, 41 filtered, 2
> > badness; has taken 0.5 s 
> 
> I think it's normal for extras packages to lack Documentation.
> The spelling error is being generated by the Python RPM Macros.
> Do you think it's worth filing a bug against those for the rpmlint fail in
> "Metapackage" vs "Meta-package"?

These should be fixed by
https://src.fedoraproject.org/rpms/rpmlint/pull-request/38 (shipped with
rpmlint 2.6.1 in Fedora 41) and
https://src.fedoraproject.org/rpms/rpmlint/pull-request/42 (not yet merged).

> 
> > Unversioned so-files
> > --------------------
> > python3-safetensors:
> > /usr/lib64/python3.13/site-packages/safetensors/_safetensors_rust.abi3.so
> 
> I believe that this is normal for compiled code in Python site-packages.

Agreed, this is a correctly-installed Python extension module that meets the
conditions for an unversioned shared object,
https://docs.fedoraproject.org/en-US/packaging-guidelines/Unversioned_shared_objects/#_when_are_unversioned_dynamic_shared_objects_acceptable.


-- 
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=2349303

Report this comment as SPAM: https://bugzilla.redhat.com/enter_bug.cgi?product=Bugzilla&format=report-spam&short_desc=Report%20of%20Bug%202349303%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




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

  Powered by Linux