On 10/29/26 7:46 AM, Michael J Gruber wrote:
Hi there,
while it's fall in some parts of the northern hemisphere and autumn in
others, some thoughts on leaf packages, especially in language
ecosystems.
Those thoughts are triggered by upstream changes in a python package
that I maintain. I spent quite some time keeping it building in
Fedora, and now trying things to follow the upstream changes according
to our packaging principles, but I'm finally wondering:
What for?
In this case, and probably similar others, the upstream package is
just a `pip install foo` away. This is what many users probably do
anyway, because they use something like venv or pipx for dependency
pinning so that their app keeps running with the same module
independent of distro changes., and reproducibly. It guarantees that
you use the module as intended by upstream and can file bug reports
there.
How would dependencies get resolved? At run time? It seems like this
would be a nightmare for packages with a large number of python
dependencies.
Also, not every package version is equal. How would "my thing only works
with this one specific package version because of X?" That is
controllable now, somewhat, by pinning a version in a spec file.
Finally, Fedora asserts some control over releases. PyPi has had supply
chain issues, as recently as a few days ago. I worry about public
perception if Fedora tells everyone to use a 3rd party source for python
packages. Not that Fedora isn't vulnerable to such a thing, it just
seems to hit other places first.
rob
So, what purpose does my python package serve? The install footprint
might be leaner, well. Who cares nowadays?
If you're thinking about moving towards a containerised workflow,
possibly switching to an image mode Fedora at some point, a good first
step is to identify what you need in your base system (OS), and what
is rather something "on top" that should live an independent life,
independent of your base install (be it rpm/rpm-ostree/bootc), both
technically and in terms of update cycles. Those things can live in a
container, a flatpak, a venv etc.
This is not a change proposal. It's just something I observed while
pondering what to spend time on, some seasonal food for thought. New
leaves are great to see in spring, but probably not the most
worthwhile to spend time on in Fedora packaging, unless they serve a
purpose that is achieved best as an rpm install. Same goes for
existing leaves that go dry or outgrow their existing habitat,
reaching for their own ecosystem.
Cheers
Michael
FYI: If you're wondering - python-PyMuPDF is the package I mentioned
above, but it's just one example.
--
_______________________________________________
devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]
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/[email protected]
Do not reply to spam, report it:
https://forge.fedoraproject.org/infra/tickets/issues/new