Re: Request for feedback: %pycached macro for %files section

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

 



On 2019-12-16 12:22, Vít Ondruch wrote:

Dne 16. 12. 19 v 11:22 Petr Viktorin napsal(a):
On 2019-12-16 10:19, Vít Ondruch wrote:
I though about this a bit and to be more constructive, I think that you
should probably move the file list creation out of %files section. Do it
probably in %install section instead. That way, you would have more
flexibility. You could have something like "%pyfile
%{python3_sitelib}/foo.py" and it would do on background something like:

~~~
echo %{python3_sitelib}/foo.py > pyfiles.lst
echo %{python3_sitelib}/foo.pyc > pycache.lst
~~~

Later you would just submit these file lists to the appropriate
packages. This would be IMO more flexible.


Vít

I believe this is a good general direction to go in, but the devil is
in the details. You're asking to change the way file lists are
generated, which is a lot more than a macro to simplify current practice.


I think I understand and agree with your concerns and you are right that
I don't understand the details, because I was not aware about the
placement of *.pyc files. But I disagree with that it "is a lot more
than a macro to simplify current practice"

The Miro's proposal is to replace:


~~~

%files
%{python3_sitelib}/foo.py
%{python3_sitelib}/__pycache__/foo.cpython-38.*.pyc

~~~


by


~~~

%pycached %{python3_sitelib}/foo.py

~~~


which is IMO making any future progress harder. Instead, my proposal is
to replace:


~~~

%install
... snip ...

%files
%{python3_sitelib}/foo.py
%{python3_sitelib}/__pycache__/foo.cpython-38.*.pyc

~~~


by


~~~

%install
... snip ...
%pyfile %{python3_sitelib}/foo.py

%files -l pyfiles.lst

~~~


This does not add any complexity while it helps to abstract away the
.py/.pyc. IOW it still removes the "pyc" lines, while it opens the door
for the future.

I'm afraid your proposal doesn't open it wide enough: to support py-less installs, it will have to be changed (or removed) anyway. I also disagree disagree about the extra complexity, if only in the packager's mental model: "%pycached" expands to the given file and its cache; "%pyfile" writes these to a file and then lets you use "%files -l" to read that file back in.

Also, "%pyfile" would introduce extra issues. For example, how would one split several Python modules across several subpackages?


_______________________________________________
packaging mailing list -- packaging@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to packaging-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/packaging@xxxxxxxxxxxxxxxxxxxxxxx




[Index of Archives]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite Forum]     [KDE Users]

  Powered by Linux