On 03. 07. 24 15:00, Tomáš Orsava wrote:

On 7/3/24 12:07, Miro Hrončok wrote:
Hello.

I am working on the RPM pyproject declarative buildsystem.

t;dr it turns this:

     BuildSystem:          pyproject

into this:

    %prep
    %autosetup -p1 -C

    %generate_buildrequires
    %pyproject_buildrequires

    %build
    %pyproject_wheel

    %install
    %pyproject_install
    %pyproject_save_files ...

    %check
    %pyproject_check_import

It allows to override options to sections with BuildOption.

For detailed documentation, see https://src.fedoraproject.org/rpms/pyproject-rpm-macros/pull-request/455 (it has README changes in it).

---------------------------------

What should be the default for BuildOption(install)? That is, what should be passed to %pyproject_save_files if the packager does not override it?


1. The safe+hard default: nothing
=================================

The %pyproject_save_files macro currently has no default. It requires at least one argument. This is to avoid accidentally packaging something we don't want. Explicit is better than implicit.

For this reason, users of the pyproject declarative buildsystem would be required to always set BuildOption(install) explicitly.

Why I don't like this option: The declarative buildsystem was invented to make spec files simpler. Making BuildOption(install) mandatory defeats the purpose.


I prefer option 1. This is something the users *should* actively check and verify, so having 1 extra line for it seems reasonable to me. We're still saving dozen+ lines of boilerplate and replacing it with one line of meaningful input. That's much easier to use in view.

On 03. 07. 24 15:14, Petr Viktorin wrote:
> Hello,
> I recommend starting out with the explicit option. Requiring
> BuildOption(install) sounds good, and can be changed to a better default
> after people get some experience with the system.

This is now implemented in the original PR (as a fixup commit):

https://src.fedoraproject.org/rpms/pyproject-rpm-macros/pull-request/455

--
Miro Hrončok
--
Phone: +420777974800
Fedora Matrix: mhroncok

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

Reply via email to