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

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

 



Dne 12. 12. 19 v 16:36 Vít Ondruch napsal(a):
> I am against this. The *.py files should go to -src subpackage and
> should not be installed on my computer, because if I am not mistaken,
> they are useless


s/useless/not used/, because somebody might admit that they are useful
to explore the code and tinker with it.


Vít

 

>  when the *.pyc files are installed.
>
>
> Vít
>
>
> Dne 12. 12. 19 v 15:36 Miro Hrončok napsal(a):
>> Hello,
>>
>> we are considering to add a %pycached macro to be used in the %files
>> section:
>>
>> https://src.fedoraproject.org/rpms/python-rpm-macros/pull-request/37
>>
>> We'd like to receive feedback. We plan to add it to rawhide and
>> backport it to all Fedoras + EPEL7+.
>>
>> Usage:
>>
>>   %files
>>   ...
>>   %pycached %{python3_sitelib}/foo.py
>>
>> This will list:
>>
>>   /usr/lib/python3.8/site-packages/foo.py
>>  
>> /usr/lib/python3.8/site-packages/__pycache__/foo.cpython-38{,.opt-?}.pyc
>>
>> Assuming the Python 3 version is 3.8.
>> The bytecode files are globbed, their presence is not checked.
>>
>> This will fail:
>>
>>   %pycached %{python3_sitelib}/foo
>>
>> error: %pycached can only be used with paths explicitly ending with .py
>>
>> And so will any of this:
>>
>>   %pycached %{python3_sitelib}/*
>>   %pycached %{python3_sitelib}/foo.*
>>   %pycached %{python3_sitelib}/foo.p?
>>   %pycached %{python3_sitelib}/foo.?y
>>   %pycached %{python3_sitelib}/foo.??
>>
>> But this will work:
>>
>>   %pycached %{python3_sitelib}/foo*.py
>>
>> And it will generate the following globs:
>>
>>   /usr/lib/python3.8/site-packages/foo*.py
>>  
>> /usr/lib/python3.8/site-packages/__pycache__/foo*.cpython-38{,.opt-?}.pyc
>>
>> When used with paths that include Python 3 version, it globs with the
>> version:
>>
>>   %pycached /opt/python3.10/foo.py
>>
>> Generates:
>>
>>   /opt/python3.10/foo.py
>>   /opt/python3.10/__pycache__/foo.cpython-310{,.opt-?}.pyc
>>
>> While paths without version have less strict globs:
>>
>>   %pycached /custom/foo.py
>>   /custom/foo.py
>>   /custom/__pycache__/foo.cpython-3*{,.opt-?}.pyc
>>
>> This will generate a warning in RPM build:
>>
>> warning: File listed twice: /custom/__pycache__/foo.cpython-38.opt-1.pyc
>>
>> However it ensures the optimized bytecode is there.
>>
> _______________________________________________
> 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
_______________________________________________
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