Python: Further clarify python3-devel build requires section #1565
No reviewers
Labels
No labels
announce
bootstrap
Closed As
accepted
Closed As
duplicate
Closed As
exceptionexpired
Closed As
fixed
Closed As
invalid
Closed As
nothingtodo
Closed As
permanentexception
Closed As
rejected
Closed As
temporaryexception
Closed As
wontfix
cmake
committee
draftneeded
hasdraft
meeting
meson
needinfo
Priority
In Committee
Priority
Needs Review
Priority
Waiting For Reporter
rust
writeup
No milestone
No project
No assignees
3 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
packaging/guidelines!1565
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "tadej/packaging-guidelines:python-clarify-buildrequires"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Ensure the readers quickly and clearly see that they need to use either
%pyproject_buildrequiresin the%generate_buildrequiressection or an ordinaryBuildRequiresonpython3-devel(and not both).I tripped on this myself when reading the guidelines (too) quickly and @music pointed out in a package review that I should only use one of these and not both.
I would note that combining
BuildRequires: python3-develwith%pyproject_buildrequiresis not wrong, just unnecessary, since%pyproject_buildrequirestakes care of everything. See also https://pagure.io/packaging-committee/pull-request/1379/ and https://pagure.io/packaging-committee/pull-request/1384/.(In https://pagure.io/packaging-committee/pull-request/1384/#comment-207461, @churchyard wrote “Once we write guidelines for the declarative pyproject BuildSystem, we can list that as a third option.” That was three years ago. It remains officially provisional, but has seen quite bit of testing. I wonder if it’s nearly time to “stabilize” it.)
I don't consider using both wrong at all. Maybe it could be more obvious that they are not necessary at the same time, but I'd rather not make it sound like you have to choose. No idea how to put that into fewer words.
Let's open up a discussion about whether the pyproject BuildSystem should be stabilized on the python devel list?
@music wrote in #1565 (comment):
@churchyard wrote in #1565 (comment):
Yes, understood. As it is written now, it might (mis)lead someone to just add both to their (new) SPEC file.
What about something like the following?
Every package that uses Python (at run-time and/or build-time) and/or installs Python modules MUST have a build-time dependency on
python3-devel, even if Python is not actually invoked during build-time.If a package uses
%pyproject_buildrequiresin the%generate_buildrequiressection, this will add thepython3-develbuild requires automatically.Otherwise, a package must include
BuildRequires: python3-develin its.specfile.I like that.
6dbb871e5ftoc16b6802bdPython: Improve python3-devel build requires section with explicit ORto Python: Further clarify python3-devel build requires section@churchyard wrote in #1565 (comment):
I've amended the commit to include the new variant.
Since this is not a new rule but a clarification, and it was more or less also acked on the FPC Matrix meeting, I'm merging it.
Thanks, @tadej
Thanks, @churchyard!