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 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