On Wed, Apr 17, 2024 at 08:58:46AM -0400, Neal Gompa wrote:
> On Wed, Apr 17, 2024 at 5:30 AM Fabio Valentini <decatho...@gmail.com> wrote:
> >
> > On Wed, Apr 17, 2024, 08:45 Tim Landscheidt <t...@tim-landscheidt.de> wrote:
> >>
> >> Zbigniew Jędrzejewski-Szmek <zbys...@in.waw.pl> wrote:
> >>
> >> > […]
> >>
> >> >> - use dynamic buildrequires to detect what plugins are needed
> >>
> >> > My problem is that the binary is linked to the libpython3.12.so shared
> >> > library… The detection part is easy, the hard part is how to have the
> >> > binary work when the shared lib is not installed.
> >>
> >> Quick 'n' dirty: Have two binaries, unconditionally call
> >> add-determinism-python for *.pyc files, either from
> >> add-determinism or the BRP macro (which essentially should
> >> be called when %__brp_python_bytecompile is called?), rely
> >> on the packager to build-require add-determinism-python or
> >> require that from python3-devel (the missing binary should
> >> fail the build otherwise).
> >
> >
> > Something like this could be even made automatic.
> >
> > - split Python-specific functionality into a separate binary and subpackage 
> > of add-determinism
> > - add only add-determinism to the default buildroot
> > - add "Requires: (add-determinism-python if python3)" to add-determinism
> >
> > That way the pyc processing functionality would only be pulled in iff 
> > python3 is already getting installed by something else.
> 
> Because this is written in Rust instead of Python, you will need a
> build variant for *every* Python interpreter shipped in Fedora.

No, just one one, at any given time.

Or in other words, it's the same as any application using Python in
Fedora: it is built against some version of Python, usually the
default one.

(pyo3 has support for linking to the stable python abi, which
theoretically would allow the program to be able to run with python
versions newer than the one against which it was built. I didn't look
at the details, so I don't know what would be needed to link it like
that and whether that'd actually make things better for us.)

Zbyszek
--
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to