| |
@@ -1,5 +1,5 @@
|
| |
= Python Packaging Guidelines
|
| |
- :last-reviewed: 2019-02-14
|
| |
+ :last-reviewed: 2019-05-20
|
| |
:toc:
|
| |
|
| |
== Python Version Support
|
| |
@@ -243,6 +243,20 @@
|
| |
* It ensures that the packages are installed correctly on multilib architectures.
|
| |
* Using these macros instead of hardcoding the directory in the specfile ensures your spec remains compatible with the installed python version even if the directory structure changes radically (for instance, if `+python3_sitelib+` moves into `+%{_datadir}+`).
|
| |
|
| |
+ == Packages using Cython
|
| |
+
|
| |
+ A great amount of extension modules for Python
|
| |
+ (Python modules written in a compiled language such as C or C++)
|
| |
+ are written using the https://cython.org/[Cython] language and compiler.
|
| |
+
|
| |
+ Majority of such packages contains the generated C (or C++) sources in the source tarball.
|
| |
+
|
| |
+ Tightening the xref:what-can-be-packaged.adoc#_pregenerated_code[general Fedora policy],
|
| |
+ packages MUST NOT use pre-generated Cython sources.
|
| |
+ They MUST be deleted in `%prep` and regenerated during the build.
|
| |
+
|
| |
+ Any exception to this rule should be considered a xref:index.adoc#bootstrapping[bootstrapping].
|
| |
+
|
| |
== Files to include
|
| |
|
| |
When packaging python modules, several types of files are included:
|
| |
Cython sources MUST be regenerated.
https://pagure.io/packaging-committee/issue/893