]>
Commit | Line | Data |
---|---|---|
1 | # NOTE: tests require processes limit >128 (256 is sufficient) | |
2 | # | |
3 | # Conditional build: | |
4 | %bcond_with info # info pages (requires emacs) | |
5 | %bcond_without system_mpdecimal # system libmpdec library | |
6 | %bcond_without tkinter # disables tkinter module building | |
7 | %bcond_without tests # disables Python testing | |
8 | %bcond_with verbose_tests # runs tests in verbose mode | |
9 | %bcond_without optimizations # expensive, stable optimizations (PGO etc.) + LTO | |
10 | # | |
11 | # tests which will not work on 64-bit platforms | |
12 | %define no64bit_tests test_audioop test_rgbimg test_imageop | |
13 | # tests which may fail because of builder environment limitations (no /proc or /dev/pts) | |
14 | %define nobuilder_tests test_resource test_openpty test_socket test_nis test_posix test_locale test_pty test_asyncio test_os test_readline test_normalization | |
15 | ||
16 | # tests which fail because of some unknown/unresolved reason (this list should be %{nil}) | |
17 | # test_site: fails because our site.py is patched to include both /usr/share/... and /usr/lib... | |
18 | # test_gdb: fails, as the gdb uses old python version | |
19 | # test_time: test_AsTimeval (test.test_time.TestCPyTime), rounding error | |
20 | %ifarch x32 | |
21 | %define broken_tests_x32 test_time | |
22 | %undefine with_optimizations | |
23 | %endif | |
24 | %define broken_tests test_nntplib test_gdb test_site test_distutils test_bdist_rpm test_ssl %{?broken_tests_x32} | |
25 | ||
26 | %define py_ver 3.7 | |
27 | %define py_abi %{py_ver}m | |
28 | %define py_platform %{py_abi}-%{_target_base_arch}-%{_target_os}%{?_gnu} | |
29 | %define py_prefix %{_prefix} | |
30 | %define py_libdir %{py_prefix}/%{_lib}/python%{py_ver} | |
31 | %define py_incdir %{_includedir}/python%{py_abi} | |
32 | %define py_sitedir %{py_libdir}/site-packages | |
33 | %define py_dyndir %{py_libdir}/lib-dynload | |
34 | ||
35 | Summary: Very high level scripting language with X interface | |
36 | Summary(es.UTF-8): Lenguaje script de alto nivel con interfaz X | |
37 | Summary(fr.UTF-8): Langage de script de très haut niveau avec interface X | |
38 | Summary(pl.UTF-8): Python - język obiektowy wysokiego poziomu | |
39 | Summary(pt_BR.UTF-8): Linguagem de programação interpretada de alto nível | |
40 | Summary(ru.UTF-8): Язык программирования очень высокого уровня с X-интерфейсом | |
41 | Summary(tr.UTF-8): X arayüzlü, yüksek düzeyli, kabuk yorumlayıcı dili | |
42 | Summary(uk.UTF-8): Мова програмування дуже високого рівня з X-інтерфейсом | |
43 | Name: python3 | |
44 | Version: %{py_ver}.1 | |
45 | Release: 2 | |
46 | Epoch: 1 | |
47 | License: PSF | |
48 | Group: Development/Languages/Python | |
49 | Source0: https://www.python.org/ftp/python/%{version}/Python-%{version}.tar.xz | |
50 | # Source0-md5: 0a57e9022c07fad3dadb2eef58568edb | |
51 | Source1: pyconfig.h.in | |
52 | Patch0: %{name}-pythonpath.patch | |
53 | Patch1: %{name}-ac_fixes.patch | |
54 | Patch2: %{name}-multilib.patch | |
55 | Patch3: %{name}-no_cmdline_tests.patch | |
56 | Patch4: %{name}-makefile-location.patch | |
57 | Patch6: python-distro.patch | |
58 | Patch7: %{name}-db.patch | |
59 | Patch8: %{name}-install_prefix.patch | |
60 | Patch9: %{name}-tests_with_pythonpath.patch | |
61 | Patch10: %{name}-bdist_rpm.patch | |
62 | Patch11: %{name}-installcompile.patch | |
63 | # https://bugs.python.org/file21896/nonexistent_user.patch | |
64 | Patch12: nonexistent_user.patch | |
65 | Patch13: %{name}-no-randomize-tests.patch | |
66 | URL: https://www.python.org/ | |
67 | BuildRequires: autoconf >= 2.65 | |
68 | BuildRequires: automake | |
69 | BuildRequires: bluez-libs-devel | |
70 | BuildRequires: bzip2-devel | |
71 | BuildRequires: db-devel >= 4 | |
72 | %{?with_info:BuildRequires: emacs >= 21} | |
73 | BuildRequires: expat-devel >= 1:1.95.7 | |
74 | BuildRequires: file | |
75 | BuildRequires: gdbm-devel >= 1.8.3 | |
76 | %if %(locale -a | grep -q '^C\.utf8$'; echo $?) | |
77 | BuildRequires: glibc-localedb-all | |
78 | %endif | |
79 | BuildRequires: gmp-devel >= 4.0 | |
80 | BuildRequires: libffi-devel | |
81 | BuildRequires: libstdc++-devel | |
82 | %{?with_system_mpdecimal:BuildRequires: mpdecimal-devel >= 2.4.1} | |
83 | BuildRequires: ncurses-ext-devel >= 5.2 | |
84 | BuildRequires: openssl-devel >= 0.9.7 | |
85 | BuildRequires: pkgconfig | |
86 | BuildRequires: readline-devel >= 5.0 | |
87 | BuildRequires: rpm-pythonprov | |
88 | BuildRequires: sed >= 4.0 | |
89 | BuildRequires: sqlite3-devel >= 3.3.5 | |
90 | BuildRequires: tar >= 1:1.22 | |
91 | %{?with_info:BuildRequires: tetex-makeindex} | |
92 | %{?with_tkinter:BuildRequires: tix-devel >= 1:8.1.4-4} | |
93 | %{?with_tkinter:BuildRequires: tk-devel >= 8.4.3} | |
94 | BuildRequires: xz-devel | |
95 | BuildRequires: zlib-devel | |
96 | Requires: %{name}-libs = %{epoch}:%{version}-%{release} | |
97 | Suggests: pip | |
98 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
99 | ||
100 | %define specflags_ppc -D__ppc__=1 | |
101 | %define specflags_ppc64 -D__ppc64__=1 | |
102 | ||
103 | %if %{with verbose_tests} | |
104 | %define test_flags -v -x | |
105 | %else | |
106 | %define test_flags -wW -x | |
107 | %endif | |
108 | ||
109 | %ifarch alpha ia64 ppc64 sparc64 ppc64 %{x8664} | |
110 | %define test_list %{nobuilder_tests} %{broken_tests} %{no64bit_tests} | |
111 | %else | |
112 | %define test_list %{nobuilder_tests} %{broken_tests} | |
113 | %endif | |
114 | ||
115 | %ifarch sparc | |
116 | %define test_list %{nobuilder_tests} %{broken_tests} test_fcntl test_ioctl | |
117 | %endif | |
118 | ||
119 | %description | |
120 | Python is an interpreted, interactive, object-oriented programming | |
121 | language. It incorporates modules, exceptions, dynamic typing, very | |
122 | high level dynamic data types, and classes. Python combines remarkable | |
123 | power with very clear syntax. It has interfaces to many system calls | |
124 | and libraries, as well as to various window systems, and is extensible | |
125 | in C or C++. It is also usable as an extension language for | |
126 | applications that need a programmable interface. Finally, Python is | |
127 | portable: it runs on many brands of UNIX, on the Mac, and on PCs under | |
128 | MS-DOS, Windows, Windows NT, and OS/2. | |
129 | ||
130 | This package contains the Python binary. | |
131 | ||
132 | %description -l de.UTF-8 | |
133 | Python ist eine interpretierte, interaktive, objektorientierte | |
134 | Programmiersprache, vergleichbar zu Tcl, Perl, Scheme oder Java. | |
135 | Python enthält Module, Klassen, Exceptions, High-Level dynamische | |
136 | Datentypen und dynamisches Typisieren. Python unterstützt Interfaces | |
137 | zu vielen Systemaufrufen und Libraries, sowie verschiedene | |
138 | Fenstersysteme (X11, Motif, Tk, Mac und MFC) | |
139 | ||
140 | Programmierer können neue built-in-Module für Python in C oder C++ | |
141 | schreiben. Python kann auch als Erweiterungssprache für Applikationen | |
142 | benutzt werden, die ein programmierbares Interface brauchen. Dieses | |
143 | Paket enthält die meisten Standard-Python-Module, und Module zum | |
144 | Ansprechen von Tix (Tk-widget set) und RPM. | |
145 | ||
146 | %description -l es.UTF-8 | |
147 | Python es un lenguaje de scripts interpretado orientado a objetos. | |
148 | Contiene soporte para carga dinámica de objetos, clases, módulos y | |
149 | excepciones. | |
150 | ||
151 | Es sencillo adicionar interfaces para nuevos sistemas de biblioteca a | |
152 | través de código C, tornando Python fácil de usar en ambientes | |
153 | particulares/personalizados. Este paquete Python incluye la mayoría de | |
154 | los módulos padrón Python, junto con módulos para crear interfaces | |
155 | para el conjunto de componentes Tix para Tk y RPM. | |
156 | ||
157 | %description -l fr.UTF-8 | |
158 | Python est un langage de script interprété et orienté objet. Il gère | |
159 | le chargement dynamique des objets, les classes, les modules et les | |
160 | exceptions. L'ajout d'interfaces aux nouvelles bibliothèques systèmes | |
161 | avec du code C est simple, ce qui rend Python facile à utiliser dans | |
162 | des configs personnalisées. | |
163 | ||
164 | Ce paquetage Python contient la plupart des modules Python standards, | |
165 | ainsi que ceux permettant l'interfaçage avec les widgets Tix pour Tk | |
166 | et RPM. | |
167 | ||
168 | %description -l pl.UTF-8 | |
169 | Python jest interpretowanym, interaktywnym i zorientowanym obiektowo | |
170 | językiem programowania. Jest modularny, obsługuje wyjątki, dynamiczne | |
171 | typy, zaawansowane dynamiczne struktury danych i klasy. Python łączy w | |
172 | sobie duże możliwości i przejrzystą składnię. Posiada interfejsy do | |
173 | wielu wywołań systemowych i bibliotek, w tym również do różnych | |
174 | bibliotek okienkowych. Możliwości jego można jeszcze rozszerzać | |
175 | poprzez odpowiednie moduły pisane w C lub C++. Python może być również | |
176 | użyty jako element aplikacji, którym potrzebny jest interpreter do | |
177 | skryptów. I wreszcie, Python jest wieloplatformowy, działa na wielu | |
178 | odmianach UNIX-a, Macu oraz PC pod DOS-em, Windows, WindowsNT oraz | |
179 | OS/2. | |
180 | ||
181 | Ten pakiet zawiera binarkę Pythona. | |
182 | ||
183 | %description -l pt_BR.UTF-8 | |
184 | Python é uma linguagem de scripts interpretada orientada a objetos. | |
185 | Contém suporte para carga dinâmica de objetos, classes, módulos e | |
186 | exceções. Adicionar interfaces para novos sistemas de biblioteca | |
187 | através de código C é simples, tornando Python fácil de usar em | |
188 | ambientes particulares/personalizados. | |
189 | ||
190 | Este pacote Python inclui a maioria do módulos padrão Python, junto | |
191 | com módulos para interfaceamento para o conjunto de componentes Tix | |
192 | para Tk e RPM. | |
193 | ||
194 | %description -l ru.UTF-8 | |
195 | Python - это интерпретируемый, объектно-ориентированный язык | |
196 | программирования. Он поддерживает динамическую загрузку объектов, | |
197 | классы, модули и обработку исключительных ситуаций (exceptions). | |
198 | Простота добавления интерфейсов к новым системным библиотекам через | |
199 | код на языке C делает Python хорошим выбором для использования в | |
200 | специальных конфигурациях. | |
201 | ||
202 | %description -l tr.UTF-8 | |
203 | Python, nesneye yönelik bir kabuk yorumlayıcıdır. Nesnelerin, | |
204 | sınıfların, modüllerin ve aykırı durumların dinamik yüklenmelerine | |
205 | destek verir. C koduyla birlikte kullanımı son derece kolaydır. Bu | |
206 | paket, standart Python birimlerinin çoğunun yanısıra Tk ve RPM için | |
207 | arayüz birimlerini de içerir. | |
208 | ||
209 | %description -l uk.UTF-8 | |
210 | Python - це інтерпретована, об'єктно-орієнтована мова програмування. | |
211 | Він підтримує динамічну загрузку об'єктів, класи, модулі та обробку | |
212 | виключних ситуацій (exceptions). Простота додавання інтерфейсів для | |
213 | нових системних бібліотек через код на мові C робить Python добрим | |
214 | вибором для використання в спеціальних конфігураціях. | |
215 | ||
216 | %package libs | |
217 | Summary: Python library | |
218 | Summary(pl.UTF-8): Biblioteka języka Python | |
219 | Group: Libraries/Python | |
220 | # broken detection in rpm/pythondeps.sh | |
221 | Provides: python(abi) = %{py_ver} | |
222 | # for compatibility with existing Ac packages | |
223 | Provides: python(bytecode) = %{py_ver} | |
224 | Provides: python3-enum | |
225 | Obsoletes: python3-enum | |
226 | %{!?with_info:Obsoletes: python3-doc-info} | |
227 | ||
228 | %description libs | |
229 | Python shared library and very essental modules for Python binary. | |
230 | ||
231 | %description libs -l pl.UTF-8 | |
232 | Biblioteka współdzielona języka Python oraz bardzo podstawowe moduły | |
233 | dla Pythona. | |
234 | ||
235 | %package modules | |
236 | Summary: Python modules | |
237 | Summary(pl.UTF-8): Moduły języka Python | |
238 | Group: Libraries/Python | |
239 | Requires: %{name}-libs = %{epoch}:%{version}-%{release} | |
240 | %{?with_system_mpdecimal:Requires: mpdecimal >= 2.4.1} | |
241 | Obsoletes: python3-modules-sqlite | |
242 | %requires_ge_to openssl openssl-devel | |
243 | ||
244 | %description modules | |
245 | Python officially distributed modules. | |
246 | ||
247 | %description modules -l pl.UTF-8 | |
248 | Oficjalnie rozprowadzane moduły języka Python. | |
249 | ||
250 | %package -n pydoc3 | |
251 | Summary: Python interactive module documentation access support | |
252 | Summary(pl.UTF-8): Interaktywne korzystanie z dokumentacji modułów języka Python | |
253 | Group: Applications | |
254 | Requires: %{name}-modules = %{epoch}:%{version}-%{release} | |
255 | ||
256 | %description -n pydoc3 | |
257 | Python interactive module documentation access support. | |
258 | ||
259 | %description -n pydoc3 -l pl.UTF-8 | |
260 | Interaktywne korzystanie z dokumentacji modułów języka Python. | |
261 | ||
262 | %package -n idle3 | |
263 | Summary: IDE for Python language | |
264 | Summary(pl.UTF-8): IDE dla języka Python | |
265 | Group: Applications | |
266 | Requires: %{name}-tkinter = %{epoch}:%{version}-%{release} | |
267 | ||
268 | %description -n idle3 | |
269 | IDE for Python language. | |
270 | ||
271 | %description -n idle3 -l pl.UTF-8 | |
272 | IDE dla języka Python. | |
273 | ||
274 | %package devel | |
275 | Summary: Libraries and header files for building python code | |
276 | Summary(de.UTF-8): Libraries und Header-Dateien zum Erstellen von Python-Code | |
277 | Summary(es.UTF-8): Bibliotecas y archivos de inclusión para construir programas en python | |
278 | Summary(fr.UTF-8): Bibliothèques et en-têtes pour construire du code python | |
279 | Summary(pl.UTF-8): Pliki nagłówkowe i biblioteki Pythona | |
280 | Summary(pt_BR.UTF-8): Bibliotecas e arquivos de inclusão para o Python | |
281 | Summary(ru.UTF-8): Библиотеки и хедеры для построения кода на языке Python | |
282 | Summary(tr.UTF-8): Python ile geliştirme yapmak için gerekli dosyalar | |
283 | Summary(uk.UTF-8): Бібліотеки та хедери для програмування на мові Python | |
284 | Group: Development/Languages/Python | |
285 | Requires: %{name}-libs = %{epoch}:%{version}-%{release} | |
286 | ||
287 | %description devel | |
288 | The Python interpreter is relatively easy to extend with dynamically | |
289 | loaded extensions and to embed in other programs. This package | |
290 | contains the header files and libraries which are needed to do both of | |
291 | these tasks. | |
292 | ||
293 | %description devel -l de.UTF-8 | |
294 | Der Python-Interpretierer ist relativ einfach anhand von dynamisch | |
295 | ladbaren Erweiterungen auszubauen und läßt sich in andere Programme | |
296 | integrieren. Dieses Paket enthält die Header-Dateien und Libraries, | |
297 | die für beide Aufgaben erforderlich sind. | |
298 | ||
299 | %description devel -l es.UTF-8 | |
300 | El interpretador Python permite incluir con facilidad extensiones | |
301 | cargadas dinámicamente. Python es también fácil de ser empotrado en | |
302 | otros programas. Este paquete contiene los archivos de inclusión y | |
303 | bibliotecas necesarios para estas dos tareas. | |
304 | ||
305 | %description devel -l fr.UTF-8 | |
306 | L'interpréteur Python est relativement facile à étendre avec des | |
307 | extensions chargées dynamiquement et à insérer dans d'autres | |
308 | programmes. Ce paquetage contient les en-têtes et les bibliothèques | |
309 | nécessaires à ces deux tâches. | |
310 | ||
311 | %description devel -l pl.UTF-8 | |
312 | Interpreter Pythona jest w miarę łatwy do rozszerzania przy pomocy | |
313 | dynamicznie ładowanych rozszerzeń napisanych w C lub C++ oraz | |
314 | osadzania w innych programach. Ten pakiet zawiera pliki nagłówkowe i | |
315 | wszystko inne co potrzebne do tych celów. | |
316 | ||
317 | %description devel -l pt_BR.UTF-8 | |
318 | O interpretador Python permite incluir com facilidade extensões | |
319 | carregadas dinamicamente. Python é também fácil de ser embutido em | |
320 | outros programas. Este pacote contém os arquivos de inclusão e | |
321 | bibliotecas necessários para estas duas tarefas. | |
322 | ||
323 | %description devel -l ru.UTF-8 | |
324 | Интерпретатор Python относительно легко расширяется при помощи | |
325 | динамически загружаемых расширений и встраивается в другие программы. | |
326 | Этот пакет содержит хедеры и библиотеки, необходимые для обеих этих | |
327 | задач. | |
328 | ||
329 | %description devel -l tr.UTF-8 | |
330 | Bu paket, Python ile geliştirme yapılabilmesi için gerekli başlık | |
331 | dosyalarını ve kitaplıkları içerir. | |
332 | ||
333 | %description devel -l uk.UTF-8 | |
334 | Інтерпретатор Python відносно легко розширюється за допомогою | |
335 | розширень з динамічною загрузкою та вбудовується в інші програми. Цей | |
336 | пакет містить хедери та бібліотеки, необхідні для обох цих задач. | |
337 | ||
338 | %package devel-src | |
339 | Summary: Python module sources | |
340 | Summary(pl.UTF-8): Pliki źródłowe modułów Pythona | |
341 | Group: Development/Languages/Python | |
342 | Requires: %{name}-modules = %{epoch}:%{version}-%{release} | |
343 | ||
344 | %description devel-src | |
345 | Python module sources. | |
346 | ||
347 | %description devel-src -l pl.UTF-8 | |
348 | Pliki źródłowe modułów Pythona. | |
349 | ||
350 | %package devel-tools | |
351 | Summary: Python development tools | |
352 | Summary(pl.UTF-8): Narzędzia programistyczne języka Python | |
353 | Group: Development/Languages/Python | |
354 | Requires: %{name}-modules = %{epoch}:%{version}-%{release} | |
355 | ||
356 | %description devel-tools | |
357 | Python development tools such as profilers and debugger. | |
358 | ||
359 | %description devel-tools -l pl.UTF-8 | |
360 | Narzędzia programistyczne języka Python takie jak profiler oraz | |
361 | debugger. | |
362 | ||
363 | %package 2to3 | |
364 | Summary: Automated Python 2 to 3 code translation | |
365 | Summary(pl.UTF-8): Automatyczne tłumaczenie kodu Pythona 2 do 3 | |
366 | Group: Development/Languages/Python | |
367 | ||
368 | %description 2to3 | |
369 | 2to3 is a Python program that reads Python 2.x source code and applies | |
370 | a series of fixers to transform it into valid Python 3.x code. The | |
371 | standard library contains a rich set of fixers that will handle almost | |
372 | all code. 2to3 supporting library lib2to3 is, however, a flexible and | |
373 | generic library, so it is possible to write your own fixers for 2to3. | |
374 | lib2to3 could also be adapted to custom applications in which Python | |
375 | code needs to be edited automatically. | |
376 | ||
377 | %description 2to3 -l pl.UTF-8 | |
378 | 2to3 to program w Pythonie czytający od źródłowy w Pythonie 2.x i | |
379 | aplikujący serię poprawek przekształcających go w poprawny kod w | |
380 | Pythonie 3.x. Biblioteka standardowa zawiera duży zbiór poprawek | |
381 | obsługujących większość kodu. Biblioteka wspierająca 2to3 (lib2to3) | |
382 | jest jednak elastyczną i ogólną biblioteką, więc można pisać własne | |
383 | poprawki dla 2to3. lib2to3 można także zaadaptować na potrzeby | |
384 | własnych zastosowań, w których kod w Pythonie musi być modyfikowany | |
385 | automatycznie. | |
386 | ||
387 | %package static | |
388 | Summary: Static python library | |
389 | Summary(pl.UTF-8): Statyczna biblioteka Pythona | |
390 | Group: Development/Languages/Python | |
391 | Requires: %{name}-devel = %{epoch}:%{version}-%{release} | |
392 | ||
393 | %description static | |
394 | Static python library. | |
395 | ||
396 | %description static -l pl.UTF-8 | |
397 | Statyczna biblioteka Pythona. | |
398 | ||
399 | %package doc-info | |
400 | Summary: Documentation on Python in texinfo format | |
401 | Summary(pl.UTF-8): Dokumentacja do Pythona w formacie texinfo | |
402 | Group: Documentation | |
403 | ||
404 | %description doc-info | |
405 | Documentation on Python in texinfo format. | |
406 | ||
407 | %description doc-info -l pl.UTF-8 | |
408 | Dokumentacja do Pythona w formacie texinfo. | |
409 | ||
410 | %package tkinter | |
411 | Summary: Standard Python interface to the Tk GUI toolkit | |
412 | Summary(de.UTF-8): Grafische Tk-Schnittstelle für Python | |
413 | Summary(es.UTF-8): Interfaz de GUI Tk para Python | |
414 | Summary(fr.UTF-8): Interface graphique Tk pour Python | |
415 | Summary(pl.UTF-8): Standardowy interfejs Pythona do biblioteki Tk | |
416 | Summary(pt_BR.UTF-8): Interface GUI Tk para Phyton | |
417 | Summary(tr.UTF-8): Python için grafik kullanıcı arayüzü | |
418 | Group: Libraries/Python | |
419 | Requires: %{name}-modules = %{epoch}:%{version}-%{release} | |
420 | Requires: tcl >= 8.4.3 | |
421 | Requires: tix >= 1:8.1.4-4 | |
422 | Requires: tk >= 8.4.3 | |
423 | ||
424 | %description tkinter | |
425 | Standard Python interface to the Tk GUI toolkit. | |
426 | ||
427 | %description tkinter -l de.UTF-8 | |
428 | Eine grafische Schnittstelle für Python, basierend auf Tcl/Tk, und von | |
429 | vielen Konfigurations-Tools genutzt. | |
430 | ||
431 | %description tkinter -l es.UTF-8 | |
432 | Una interfaz gráfica para Python, basada en Tcl/Tk, y usada por muchas | |
433 | herramientas de configuración. | |
434 | ||
435 | %description tkinter -l fr.UTF-8 | |
436 | Interface graphique pour Python, basée sur Tcl/Tk et utilisée par | |
437 | beaucoup des outils de configuration. | |
438 | ||
439 | %description tkinter -l pl.UTF-8 | |
440 | Standardowy interfejs Pythona do biblioteki Tk. | |
441 | ||
442 | %description tkinter -l pt_BR.UTF-8 | |
443 | Uma interface gráfica para Python, baseada em Tcl/Tk, e usada por | |
444 | muitas ferramentas de configuração. | |
445 | ||
446 | %description tkinter -l ru.UTF-8 | |
447 | Графический интерфейс (GUI) для Python, построенный на Tcl/Tk. | |
448 | ||
449 | %description tkinter -l tr.UTF-8 | |
450 | Python için Tcl/Tk'ye dayalı ve pek çok ayarlama aracı tarafından | |
451 | kullanılan grafik bir arayüzdür. | |
452 | ||
453 | %description tkinter -l uk.UTF-8 | |
454 | Графічний інтерфейс (GUI) для Python, побудований на Tcl/Tk. | |
455 | ||
456 | %package examples | |
457 | Summary: Example programs in Python | |
458 | Summary(pl.UTF-8): Przykładowe programy w Pythonie | |
459 | Group: Development/Languages/Python | |
460 | ||
461 | %description examples | |
462 | Example programs in Python. | |
463 | ||
464 | These are for Python 2.3.4, not %{version}. | |
465 | ||
466 | %description examples -l pl.UTF-8 | |
467 | Przykładowe programy w Pythonie. | |
468 | ||
469 | Przykłady te są dla Pythona 2.3.4, nie %{version}. | |
470 | ||
471 | %package test | |
472 | Summary: Test modules for Python | |
473 | Summary(pl.UTF-8): Moduły testowe dla Pythona | |
474 | Group: Development/Languages/Python | |
475 | ||
476 | %description test | |
477 | Test modules for Python. | |
478 | ||
479 | %description test -l pl.UTF-8 | |
480 | Moduły testowe dla Pythona. | |
481 | ||
482 | %prep | |
483 | %setup -q -n Python-%{version} | |
484 | %patch0 -p1 | |
485 | %patch1 -p1 | |
486 | %patch2 -p1 | |
487 | %patch3 -p1 | |
488 | %patch4 -p1 | |
489 | %patch6 -p1 | |
490 | %patch7 -p1 | |
491 | %patch8 -p1 | |
492 | %patch9 -p1 | |
493 | %patch10 -p1 | |
494 | %patch11 -p1 | |
495 | %patch12 -p1 | |
496 | %patch13 -p1 | |
497 | ||
498 | %{__rm} -r Modules/expat | |
499 | ||
500 | for SUBDIR in darwin libffi_msvc libffi_osx; do | |
501 | %{__rm} -r Modules/_ctypes/$SUBDIR/* | |
502 | done | |
503 | ||
504 | %if "%{pld_release}" == "ac" | |
505 | files="md5module.c sha1module.c" | |
506 | files="$files sha256module.c sha512module.c" | |
507 | for f in $files; do | |
508 | %{__rm} Modules/$f | |
509 | done | |
510 | %endif | |
511 | ||
512 | find . -name '*.py' | xargs -r grep -El '^#! */usr/bin/env python3?' | xargs %{__sed} -i -e '1s,^#! */usr/bin/env python3\?,#!/usr/bin/python3,' | |
513 | ||
514 | %build | |
515 | if ! grep -q "tmpfs" /proc/self/mounts; then | |
516 | echo "You need to have /dev/shm mounted in order to build this package!" >&2 | |
517 | echo "(Or any other tmpfs mounted and accessible to the rpmbuild process)" >&2 | |
518 | exit 1 | |
519 | fi | |
520 | ||
521 | %{__aclocal} | |
522 | %{__autoconf} | |
523 | %configure \ | |
524 | CC="%{__cc}" \ | |
525 | OPT="%{rpmcflags} -fno-caller-saves" \ | |
526 | CPPFLAGS="%{rpmcppflags}" \ | |
527 | LDFLAGS="%{rpmldflags}" \ | |
528 | ac_cv_posix_semaphores_enabled=yes \ | |
529 | ac_cv_broken_sem_getvalue=no \ | |
530 | --enable-ipv6 \ | |
531 | --enable-shared \ | |
532 | --with-computed-gotos \ | |
533 | --with-dbmliborder=gdbm:ndbm:bdb \ | |
534 | --with-doc-strings \ | |
535 | --without-ensurepip \ | |
536 | %{?with_debug:--with-pydebug} \ | |
537 | --with-system-expat \ | |
538 | --with-system-ffi \ | |
539 | %{?with_system_mpdecimal:--with-system-libmpdec} \ | |
540 | %if %{with optimizations} | |
541 | --enable-optimizations \ | |
542 | --with-lto | |
543 | %endif | |
544 | ||
545 | %{__make} 2>&1 | awk ' | |
546 | BEGIN { fail = 0; logmsg = ""; } | |
547 | { | |
548 | if ($0 ~ /\*\*\* WARNING:/) { | |
549 | fail = 1; | |
550 | logmsg = logmsg $0; | |
551 | } | |
552 | print $0; | |
553 | } | |
554 | END { if (fail) { print "\nPROBLEMS FOUND:"; print logmsg; exit(1); } }' | |
555 | ||
556 | LC_ALL=C.UTF-8 | |
557 | export LC_ALL | |
558 | %if %{with tests} | |
559 | WITHIN_PYTHON_RPM_BUILD=1 %{__make} -j1 test \ | |
560 | TESTOPTS="%{test_flags} %{test_list}" | |
561 | %endif | |
562 | ||
563 | %install | |
564 | rm -rf $RPM_BUILD_ROOT | |
565 | install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir},%{_pkgconfigdir}} \ | |
566 | $RPM_BUILD_ROOT{%{py_sitedir},%{py_sitescriptdir}}/__pycache__ \ | |
567 | $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} \ | |
568 | $RPM_BUILD_ROOT{%{_infodir},%{_mandir}/man1} \ | |
569 | $RPM_BUILD_ROOT/etc/shrc.d \ | |
570 | $RPM_BUILD_ROOT%{_prefix}/lib/debug/%{_libdir} | |
571 | ||
572 | %{__make} install \ | |
573 | DESTDIR=$RPM_BUILD_ROOT | |
574 | ||
575 | %if %{with info} | |
576 | %{__make} -C Doc/info | |
577 | cp -p Doc/info/python*info* $RPM_BUILD_ROOT%{_infodir} | |
578 | %endif | |
579 | ||
580 | install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} | |
581 | cp -a Tools $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} | |
582 | ||
583 | # make libpython3.so simply symlink to real lib | |
584 | %{__rm} $RPM_BUILD_ROOT%{_libdir}/libpython3.so | |
585 | ln -s libpython%{py_abi}.so $RPM_BUILD_ROOT%{_libdir}/libpython3.so | |
586 | ||
587 | # gdb helper that will end up in -debuginfo package | |
588 | soname=$(ls -1d $RPM_BUILD_ROOT%{_libdir}/libpython%{py_abi}.so.*.* | sed -e "s#^$RPM_BUILD_ROOT##g") | |
589 | cp -a Tools/gdb/libpython.py "$RPM_BUILD_ROOT%{_prefix}/lib/debug/$soname-gdb.py" | |
590 | ||
591 | # | |
592 | # create several useful aliases, such as timeit.py, profile.py, pdb.py, smtpd.py | |
593 | # | |
594 | ||
595 | # for python devel tools | |
596 | for script in timeit profile pdb pstats; do | |
597 | echo "#alias ${script}%{py_ver}.py='python%{py_ver} -m ${script}'" | |
598 | done > $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-devel.sh | |
599 | ||
600 | echo "#alias pygettext%{py_ver}.py='pygettext%{py_ver}'" \ | |
601 | >> $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-devel.sh | |
602 | ||
603 | sed 's/=/ /' \ | |
604 | < $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-devel.sh \ | |
605 | > $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-devel.csh | |
606 | ||
607 | # for python modules | |
608 | for script in smtpd webbrowser; do | |
609 | echo "#alias ${script}%{py_ver}.py='python%{py_ver} -m ${script}'" | |
610 | done > $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-modules.sh | |
611 | ||
612 | sed 's/=/ /' \ | |
613 | < $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-modules.sh \ | |
614 | > $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-modules.csh | |
615 | ||
616 | # xgettext specific for Python code | |
617 | # | |
618 | # we will have two commands: pygettext.py (an alias) and pygettext; | |
619 | # this way there are no import (which is impossible now) conflicts and | |
620 | # pygettext.py is provided for compatibility | |
621 | install -p Tools/i18n/pygettext.py $RPM_BUILD_ROOT%{_bindir}/pygettext%{py_ver} | |
622 | ||
623 | # reindent python code | |
624 | install -p Tools/scripts/reindent.py $RPM_BUILD_ROOT%{_bindir}/pyreindent%{py_ver} | |
625 | ||
626 | # just to cut the noise, as they are not packaged (now) | |
627 | %{__rm} $RPM_BUILD_ROOT%{py_libdir}/ctypes/macholib/fetch_macholib* | |
628 | %{__rm} $RPM_BUILD_ROOT%{py_libdir}/distutils/command/wininst*.exe | |
629 | %{__rm} $RPM_BUILD_ROOT%{py_libdir}/idlelib/*.bat | |
630 | %{__rm} $RPM_BUILD_ROOT%{py_libdir}/idlelib/*.pyw | |
631 | %{__rm} $RPM_BUILD_ROOT%{py_libdir}/idlelib/help.html | |
632 | %{__rm} $RPM_BUILD_ROOT%{py_libdir}/site-packages/README.txt | |
633 | ||
634 | # currently provided by python-2to3, consider switching to this one | |
635 | %{__rm} $RPM_BUILD_ROOT%{_bindir}/2to3 | |
636 | ||
637 | # that seems to be only an empty extension template, | |
638 | # which seems to be built only {with tests} | |
639 | %{__rm} -f $RPM_BUILD_ROOT%{py_dyndir}/xxlimited.*.so | |
640 | ||
641 | # already in %%doc | |
642 | %{__rm} $RPM_BUILD_ROOT%{py_libdir}/LICENSE.txt | |
643 | ||
644 | %{__mv} $RPM_BUILD_ROOT%{py_incdir}/pyconfig.h $RPM_BUILD_ROOT%{py_libdir}/config-%{py_platform}/pyconfig.h | |
645 | %{__sed} -e's#@PREFIX@#%{_prefix}#g;s#@PY_VER@#%{py_ver}#g;s#@PY_ABI@#%{py_platform}#g' %{SOURCE1} > $RPM_BUILD_ROOT%{py_incdir}/pyconfig.h | |
646 | ||
647 | %clean | |
648 | rm -rf $RPM_BUILD_ROOT | |
649 | ||
650 | %post libs -p /sbin/ldconfig | |
651 | %postun libs -p /sbin/ldconfig | |
652 | ||
653 | %post doc-info -p /sbin/postshell | |
654 | -/usr/sbin/fix-info-dir -c %{_infodir} | |
655 | ||
656 | %postun doc-info -p /sbin/postshell | |
657 | -/usr/sbin/fix-info-dir -c %{_infodir} | |
658 | ||
659 | %files | |
660 | %defattr(644,root,root,755) | |
661 | %attr(755,root,root) %{_bindir}/python%{py_ver} | |
662 | %attr(755,root,root) %{_bindir}/python%{py_abi} | |
663 | %attr(755,root,root) %{_bindir}/python3 | |
664 | %{_mandir}/man1/python%{py_ver}.1* | |
665 | %{_mandir}/man1/python3.1* | |
666 | ||
667 | %files libs | |
668 | %defattr(644,root,root,755) | |
669 | %doc LICENSE | |
670 | %attr(755,root,root) %{_libdir}/libpython%{py_abi}.so.*.* | |
671 | ||
672 | %dir %{py_incdir} | |
673 | %{py_incdir}/pyconfig.h | |
674 | ||
675 | %dir %{py_libdir} | |
676 | %dir %{py_dyndir} | |
677 | %dir %{py_sitedir} | |
678 | %dir %{py_sitedir}/__pycache__ | |
679 | %dir %{py_libdir}/__pycache__ | |
680 | %dir %{py_scriptdir} | |
681 | %dir %{py_sitescriptdir} | |
682 | %dir %{py_sitescriptdir}/__pycache__ | |
683 | ||
684 | # shared modules required by python library | |
685 | %attr(755,root,root) %{py_dyndir}/_struct.cpython-*.so | |
686 | ||
687 | # modules required by python library | |
688 | %{py_libdir}/_collections_abc.py | |
689 | %{py_libdir}/_sitebuiltins.py | |
690 | %{py_libdir}/_sysconfigdata_*.py | |
691 | %{py_libdir}/_weakrefset.py | |
692 | %{py_libdir}/abc.py | |
693 | %{py_libdir}/bisect.py | |
694 | %{py_libdir}/codecs.py | |
695 | %{py_libdir}/copyreg.py | |
696 | %{py_libdir}/enum.py | |
697 | %{py_libdir}/functools.py | |
698 | %{py_libdir}/genericpath.py | |
699 | %{py_libdir}/heapq.py | |
700 | %{py_libdir}/keyword.py | |
701 | %{py_libdir}/linecache.py | |
702 | %{py_libdir}/locale.py | |
703 | %{py_libdir}/io.py | |
704 | %{py_libdir}/operator.py | |
705 | %{py_libdir}/posixpath.py | |
706 | %{py_libdir}/re.py | |
707 | %{py_libdir}/reprlib.py | |
708 | %{py_libdir}/site.py | |
709 | %{py_libdir}/sre_*.py | |
710 | %{py_libdir}/stat.py | |
711 | %{py_libdir}/sysconfig.py | |
712 | %{py_libdir}/token.py | |
713 | %{py_libdir}/tokenize.py | |
714 | %{py_libdir}/traceback.py | |
715 | %{py_libdir}/weakref.py | |
716 | %{py_libdir}/os.py | |
717 | # needed by the dynamic sys.lib patch | |
718 | %{py_libdir}/types.py | |
719 | %{py_libdir}/__pycache__/_sitebuiltins.cpython-*.py[co] | |
720 | %{py_libdir}/__pycache__/_sysconfigdata_*.cpython-*.py[co] | |
721 | %{py_libdir}/__pycache__/_weakrefset.cpython-*.py[co] | |
722 | %{py_libdir}/__pycache__/abc.cpython-*.py[co] | |
723 | %{py_libdir}/__pycache__/bisect.cpython-*.py[co] | |
724 | %{py_libdir}/__pycache__/codecs.cpython-*.py[co] | |
725 | %{py_libdir}/__pycache__/_collections_abc.cpython-*.py[co] | |
726 | %{py_libdir}/__pycache__/copyreg.cpython-*.py[co] | |
727 | %{py_libdir}/__pycache__/enum.cpython-*.py[co] | |
728 | %{py_libdir}/__pycache__/functools.cpython-*.py[co] | |
729 | %{py_libdir}/__pycache__/genericpath.cpython-*.py[co] | |
730 | %{py_libdir}/__pycache__/heapq.cpython-*.py[co] | |
731 | %{py_libdir}/__pycache__/keyword.cpython-*.py[co] | |
732 | %{py_libdir}/__pycache__/linecache.cpython-*.py[co] | |
733 | %{py_libdir}/__pycache__/locale.cpython-*.py[co] | |
734 | %{py_libdir}/__pycache__/io.cpython-*.py[co] | |
735 | %{py_libdir}/__pycache__/operator.cpython-*.py[co] | |
736 | %{py_libdir}/__pycache__/posixpath.cpython-*.py[co] | |
737 | %{py_libdir}/__pycache__/re.cpython-*.py[co] | |
738 | %{py_libdir}/__pycache__/reprlib.cpython-*.py[co] | |
739 | %{py_libdir}/__pycache__/site.cpython-*.py[co] | |
740 | %{py_libdir}/__pycache__/sre_*.cpython-*.py[co] | |
741 | %{py_libdir}/__pycache__/stat.cpython-*.py[co] | |
742 | %{py_libdir}/__pycache__/sysconfig.cpython-*.py[co] | |
743 | %{py_libdir}/__pycache__/token.cpython-*.py[co] | |
744 | %{py_libdir}/__pycache__/tokenize.cpython-*.py[co] | |
745 | %{py_libdir}/__pycache__/traceback.cpython-*.py[co] | |
746 | %{py_libdir}/__pycache__/weakref.cpython-*.py[co] | |
747 | %{py_libdir}/__pycache__/os.cpython-*.py[co] | |
748 | %{py_libdir}/__pycache__/types.cpython-*.py[co] | |
749 | ||
750 | %{py_libdir}/collections | |
751 | ||
752 | # encodings required by python library | |
753 | %dir %{py_libdir}/encodings | |
754 | %{py_libdir}/encodings/__pycache__ | |
755 | %{py_libdir}/encodings/*.py | |
756 | ||
757 | %dir %{py_libdir}/config-%{py_platform} | |
758 | %{py_libdir}/config-%{py_platform}/Makefile | |
759 | %{py_libdir}/config-%{py_platform}/Setup | |
760 | %{py_libdir}/config-%{py_platform}/Setup.local | |
761 | %{py_libdir}/config-%{py_platform}/pyconfig.h | |
762 | ||
763 | %files modules | |
764 | %defattr(644,root,root,755) | |
765 | %config(noreplace) %verify(not md5 mtime size) /etc/shrc.d/python*-modules* | |
766 | %attr(755,root,root) %{_bindir}/pyvenv | |
767 | %attr(755,root,root) %{_bindir}/pyvenv-%{py_ver} | |
768 | %{py_libdir}/__future__.py | |
769 | %{py_libdir}/__phello__.foo.py | |
770 | %{py_libdir}/_bootlocale.py | |
771 | %{py_libdir}/_compat_pickle.py | |
772 | %{py_libdir}/_compression.py | |
773 | %{py_libdir}/_dummy_thread.py | |
774 | %{py_libdir}/_markupbase.py | |
775 | %{py_libdir}/_osx_support.py | |
776 | %{py_libdir}/_pydecimal.py | |
777 | %{py_libdir}/_py_abc.py | |
778 | %{py_libdir}/_pyio.py | |
779 | %{py_libdir}/_strptime.py | |
780 | %{py_libdir}/_threading_local.py | |
781 | %{py_libdir}/aifc.py | |
782 | %{py_libdir}/antigravity.py | |
783 | %{py_libdir}/argparse.py | |
784 | %{py_libdir}/ast.py | |
785 | %{py_libdir}/asynchat.py | |
786 | %{py_libdir}/asyncore.py | |
787 | %{py_libdir}/base64.py | |
788 | %{py_libdir}/bdb.py | |
789 | %{py_libdir}/binhex.py | |
790 | %{py_libdir}/bz2.py | |
791 | %{py_libdir}/cProfile.py | |
792 | %{py_libdir}/calendar.py | |
793 | %{py_libdir}/cgi.py | |
794 | %{py_libdir}/cgitb.py | |
795 | %{py_libdir}/chunk.py | |
796 | %{py_libdir}/cmd.py | |
797 | %{py_libdir}/code.py | |
798 | %{py_libdir}/codeop.py | |
799 | %{py_libdir}/colorsys.py | |
800 | %{py_libdir}/compileall.py | |
801 | %{py_libdir}/configparser.py | |
802 | %{py_libdir}/contextlib.py | |
803 | %{py_libdir}/contextvars.py | |
804 | %{py_libdir}/copy.py | |
805 | %{py_libdir}/crypt.py | |
806 | %{py_libdir}/csv.py | |
807 | %{py_libdir}/dataclasses.py | |
808 | %{py_libdir}/datetime.py | |
809 | %{py_libdir}/decimal.py | |
810 | %{py_libdir}/difflib.py | |
811 | %{py_libdir}/dis.py | |
812 | %{py_libdir}/doctest.py | |
813 | %{py_libdir}/dummy_threading.py | |
814 | %{py_libdir}/filecmp.py | |
815 | %{py_libdir}/fileinput.py | |
816 | %{py_libdir}/fnmatch.py | |
817 | %{py_libdir}/formatter.py | |
818 | %{py_libdir}/fractions.py | |
819 | %{py_libdir}/ftplib.py | |
820 | %{py_libdir}/getopt.py | |
821 | %{py_libdir}/getpass.py | |
822 | %{py_libdir}/gettext.py | |
823 | %{py_libdir}/glob.py | |
824 | %{py_libdir}/gzip.py | |
825 | %{py_libdir}/hashlib.py | |
826 | %{py_libdir}/hmac.py | |
827 | %{py_libdir}/imaplib.py | |
828 | %{py_libdir}/imghdr.py | |
829 | %{py_libdir}/imp.py | |
830 | %{py_libdir}/inspect.py | |
831 | %{py_libdir}/ipaddress.py | |
832 | %{py_libdir}/lzma.py | |
833 | %{py_libdir}/macpath.py | |
834 | %{py_libdir}/mailbox.py | |
835 | %{py_libdir}/mailcap.py | |
836 | %{py_libdir}/mimetypes.py | |
837 | %{py_libdir}/modulefinder.py | |
838 | %{py_libdir}/netrc.py | |
839 | %{py_libdir}/nntplib.py | |
840 | %{py_libdir}/ntpath.py | |
841 | %{py_libdir}/nturl2path.py | |
842 | %{py_libdir}/numbers.py | |
843 | %{py_libdir}/opcode.py | |
844 | %{py_libdir}/optparse.py | |
845 | %{py_libdir}/pathlib.py | |
846 | %{py_libdir}/pickle.py | |
847 | %{py_libdir}/pickletools.py | |
848 | %{py_libdir}/pipes.py | |
849 | %{py_libdir}/pkgutil.py | |
850 | %{py_libdir}/platform.py | |
851 | %{py_libdir}/plistlib.py | |
852 | %{py_libdir}/poplib.py | |
853 | %{py_libdir}/pprint.py | |
854 | %{py_libdir}/pty.py | |
855 | %{py_libdir}/py_compile.py | |
856 | %{py_libdir}/pyclbr.py | |
857 | %{py_libdir}/queue.py | |
858 | %{py_libdir}/quopri.py | |
859 | %{py_libdir}/random.py | |
860 | %{py_libdir}/rlcompleter.py | |
861 | %{py_libdir}/runpy.py | |
862 | %{py_libdir}/secrets.py | |
863 | %{py_libdir}/signal.py | |
864 | %{py_libdir}/sched.py | |
865 | %{py_libdir}/selectors.py | |
866 | %{py_libdir}/shelve.py | |
867 | %{py_libdir}/shlex.py | |
868 | %{py_libdir}/shutil.py | |
869 | %{py_libdir}/smtpd.py | |
870 | %{py_libdir}/smtplib.py | |
871 | %{py_libdir}/sndhdr.py | |
872 | %{py_libdir}/socket.py | |
873 | %{py_libdir}/socketserver.py | |
874 | %{py_libdir}/ssl.py | |
875 | %{py_libdir}/statistics.py | |
876 | %{py_libdir}/string.py | |
877 | %{py_libdir}/stringprep.py | |
878 | %{py_libdir}/struct.py | |
879 | %{py_libdir}/subprocess.py | |
880 | %{py_libdir}/sunau.py | |
881 | %{py_libdir}/symbol.py | |
882 | %{py_libdir}/symtable.py | |
883 | %{py_libdir}/tabnanny.py | |
884 | %{py_libdir}/tarfile.py | |
885 | %{py_libdir}/telnetlib.py | |
886 | %{py_libdir}/tempfile.py | |
887 | %{py_libdir}/textwrap.py | |
888 | %{py_libdir}/this.py | |
889 | %{py_libdir}/threading.py | |
890 | %{py_libdir}/trace.py | |
891 | %{py_libdir}/tracemalloc.py | |
892 | %{py_libdir}/tty.py | |
893 | %{py_libdir}/turtle.py | |
894 | %{py_libdir}/typing.py | |
895 | %{py_libdir}/uu.py | |
896 | %{py_libdir}/uuid.py | |
897 | %{py_libdir}/warnings.py | |
898 | %{py_libdir}/wave.py | |
899 | %{py_libdir}/webbrowser.py | |
900 | %{py_libdir}/xdrlib.py | |
901 | %{py_libdir}/zipapp.py | |
902 | %{py_libdir}/zipfile.py | |
903 | %{py_libdir}/__pycache__/__future__.cpython-*.py[co] | |
904 | %{py_libdir}/__pycache__/__phello__.foo.cpython-*.py[co] | |
905 | %{py_libdir}/__pycache__/_bootlocale.cpython-*.py[co] | |
906 | %{py_libdir}/__pycache__/_compat_pickle.cpython-*.py[co] | |
907 | %{py_libdir}/__pycache__/_compression.cpython-*.py[co] | |
908 | %{py_libdir}/__pycache__/_dummy_thread.cpython-*.py[co] | |
909 | %{py_libdir}/__pycache__/_markupbase.cpython-*.py[co] | |
910 | %{py_libdir}/__pycache__/_osx_support.cpython-*.py[co] | |
911 | %{py_libdir}/__pycache__/_pydecimal.cpython-*.py[co] | |
912 | %{py_libdir}/__pycache__/_py_abc.cpython-*.py[co] | |
913 | %{py_libdir}/__pycache__/_pyio.cpython-*.py[co] | |
914 | %{py_libdir}/__pycache__/_strptime.cpython-*.py[co] | |
915 | %{py_libdir}/__pycache__/_threading_local.cpython-*.py[co] | |
916 | %{py_libdir}/__pycache__/aifc.cpython-*.py[co] | |
917 | %{py_libdir}/__pycache__/antigravity.cpython-*.py[co] | |
918 | %{py_libdir}/__pycache__/argparse.cpython-*.py[co] | |
919 | %{py_libdir}/__pycache__/ast.cpython-*.py[co] | |
920 | %{py_libdir}/__pycache__/asynchat.cpython-*.py[co] | |
921 | %{py_libdir}/__pycache__/asyncore.cpython-*.py[co] | |
922 | %{py_libdir}/__pycache__/base64.cpython-*.py[co] | |
923 | %{py_libdir}/__pycache__/bdb.cpython-*.py[co] | |
924 | %{py_libdir}/__pycache__/binhex.cpython-*.py[co] | |
925 | %{py_libdir}/__pycache__/bz2.cpython-*.py[co] | |
926 | %{py_libdir}/__pycache__/cProfile.cpython-*.py[co] | |
927 | %{py_libdir}/__pycache__/calendar.cpython-*.py[co] | |
928 | %{py_libdir}/__pycache__/cgi.cpython-*.py[co] | |
929 | %{py_libdir}/__pycache__/cgitb.cpython-*.py[co] | |
930 | %{py_libdir}/__pycache__/chunk.cpython-*.py[co] | |
931 | %{py_libdir}/__pycache__/cmd.cpython-*.py[co] | |
932 | %{py_libdir}/__pycache__/contextvars.cpython-*.py[co] | |
933 | %{py_libdir}/__pycache__/code.cpython-*.py[co] | |
934 | %{py_libdir}/__pycache__/codeop.cpython-*.py[co] | |
935 | %{py_libdir}/__pycache__/colorsys.cpython-*.py[co] | |
936 | %{py_libdir}/__pycache__/compileall.cpython-*.py[co] | |
937 | %{py_libdir}/__pycache__/configparser.cpython-*.py[co] | |
938 | %{py_libdir}/__pycache__/contextlib.cpython-*.py[co] | |
939 | %{py_libdir}/__pycache__/copy.cpython-*.py[co] | |
940 | %{py_libdir}/__pycache__/crypt.cpython-*.py[co] | |
941 | %{py_libdir}/__pycache__/csv.cpython-*.py[co] | |
942 | %{py_libdir}/__pycache__/dataclasses.cpython-*.py[co] | |
943 | %{py_libdir}/__pycache__/datetime.cpython-*.py[co] | |
944 | %{py_libdir}/__pycache__/decimal.cpython-*.py[co] | |
945 | %{py_libdir}/__pycache__/difflib.cpython-*.py[co] | |
946 | %{py_libdir}/__pycache__/dis.cpython-*.py[co] | |
947 | %{py_libdir}/__pycache__/doctest.cpython-*.py[co] | |
948 | %{py_libdir}/__pycache__/dummy_threading.cpython-*.py[co] | |
949 | %{py_libdir}/__pycache__/filecmp.cpython-*.py[co] | |
950 | %{py_libdir}/__pycache__/fileinput.cpython-*.py[co] | |
951 | %{py_libdir}/__pycache__/fnmatch.cpython-*.py[co] | |
952 | %{py_libdir}/__pycache__/formatter.cpython-*.py[co] | |
953 | %{py_libdir}/__pycache__/fractions.cpython-*.py[co] | |
954 | %{py_libdir}/__pycache__/ftplib.cpython-*.py[co] | |
955 | %{py_libdir}/__pycache__/getopt.cpython-*.py[co] | |
956 | %{py_libdir}/__pycache__/getpass.cpython-*.py[co] | |
957 | %{py_libdir}/__pycache__/gettext.cpython-*.py[co] | |
958 | %{py_libdir}/__pycache__/glob.cpython-*.py[co] | |
959 | %{py_libdir}/__pycache__/gzip.cpython-*.py[co] | |
960 | %{py_libdir}/__pycache__/hashlib.cpython-*.py[co] | |
961 | %{py_libdir}/__pycache__/hmac.cpython-*.py[co] | |
962 | %{py_libdir}/__pycache__/imaplib.cpython-*.py[co] | |
963 | %{py_libdir}/__pycache__/imghdr.cpython-*.py[co] | |
964 | %{py_libdir}/__pycache__/imp.cpython-*.py[co] | |
965 | %{py_libdir}/__pycache__/inspect.cpython-*.py[co] | |
966 | %{py_libdir}/__pycache__/ipaddress.cpython-*.py[co] | |
967 | %{py_libdir}/__pycache__/lzma.cpython-*.py[co] | |
968 | %{py_libdir}/__pycache__/macpath.cpython-*.py[co] | |
969 | %{py_libdir}/__pycache__/mailbox.cpython-*.py[co] | |
970 | %{py_libdir}/__pycache__/mailcap.cpython-*.py[co] | |
971 | %{py_libdir}/__pycache__/mimetypes.cpython-*.py[co] | |
972 | %{py_libdir}/__pycache__/modulefinder.cpython-*.py[co] | |
973 | %{py_libdir}/__pycache__/netrc.cpython-*.py[co] | |
974 | %{py_libdir}/__pycache__/nntplib.cpython-*.py[co] | |
975 | %{py_libdir}/__pycache__/ntpath.cpython-*.py[co] | |
976 | %{py_libdir}/__pycache__/nturl2path.cpython-*.py[co] | |
977 | %{py_libdir}/__pycache__/numbers.cpython-*.py[co] | |
978 | %{py_libdir}/__pycache__/opcode.cpython-*.py[co] | |
979 | %{py_libdir}/__pycache__/optparse.cpython-*.py[co] | |
980 | %{py_libdir}/__pycache__/pathlib.cpython-*.py[co] | |
981 | %{py_libdir}/__pycache__/pickle.cpython-*.py[co] | |
982 | %{py_libdir}/__pycache__/pickletools.cpython-*.py[co] | |
983 | %{py_libdir}/__pycache__/pipes.cpython-*.py[co] | |
984 | %{py_libdir}/__pycache__/pkgutil.cpython-*.py[co] | |
985 | %{py_libdir}/__pycache__/platform.cpython-*.py[co] | |
986 | %{py_libdir}/__pycache__/plistlib.cpython-*.py[co] | |
987 | %{py_libdir}/__pycache__/poplib.cpython-*.py[co] | |
988 | %{py_libdir}/__pycache__/pprint.cpython-*.py[co] | |
989 | %{py_libdir}/__pycache__/pty.cpython-*.py[co] | |
990 | %{py_libdir}/__pycache__/py_compile.cpython-*.py[co] | |
991 | %{py_libdir}/__pycache__/pyclbr.cpython-*.py[co] | |
992 | %{py_libdir}/__pycache__/queue.cpython-*.py[co] | |
993 | %{py_libdir}/__pycache__/quopri.cpython-*.py[co] | |
994 | %{py_libdir}/__pycache__/random.cpython-*.py[co] | |
995 | %{py_libdir}/__pycache__/rlcompleter.cpython-*.py[co] | |
996 | %{py_libdir}/__pycache__/runpy.cpython-*.py[co] | |
997 | %{py_libdir}/__pycache__/sched.cpython-*.py[co] | |
998 | %{py_libdir}/__pycache__/secrets.cpython-*.py[co] | |
999 | %{py_libdir}/__pycache__/selectors.cpython-*.py[co] | |
1000 | %{py_libdir}/__pycache__/shelve.cpython-*.py[co] | |
1001 | %{py_libdir}/__pycache__/shlex.cpython-*.py[co] | |
1002 | %{py_libdir}/__pycache__/shutil.cpython-*.py[co] | |
1003 | %{py_libdir}/__pycache__/signal.cpython-*.py[co] | |
1004 | %{py_libdir}/__pycache__/smtpd.cpython-*.py[co] | |
1005 | %{py_libdir}/__pycache__/smtplib.cpython-*.py[co] | |
1006 | %{py_libdir}/__pycache__/sndhdr.cpython-*.py[co] | |
1007 | %{py_libdir}/__pycache__/socket.cpython-*.py[co] | |
1008 | %{py_libdir}/__pycache__/socketserver.cpython-*.py[co] | |
1009 | %{py_libdir}/__pycache__/ssl.cpython-*.py[co] | |
1010 | %{py_libdir}/__pycache__/statistics.cpython-*.py[co] | |
1011 | %{py_libdir}/__pycache__/string.cpython-*.py[co] | |
1012 | %{py_libdir}/__pycache__/stringprep.cpython-*.py[co] | |
1013 | %{py_libdir}/__pycache__/struct.cpython-*.py[co] | |
1014 | %{py_libdir}/__pycache__/subprocess.cpython-*.py[co] | |
1015 | %{py_libdir}/__pycache__/sunau.cpython-*.py[co] | |
1016 | %{py_libdir}/__pycache__/symbol.cpython-*.py[co] | |
1017 | %{py_libdir}/__pycache__/symtable.cpython-*.py[co] | |
1018 | %{py_libdir}/__pycache__/tabnanny.cpython-*.py[co] | |
1019 | %{py_libdir}/__pycache__/tarfile.cpython-*.py[co] | |
1020 | %{py_libdir}/__pycache__/telnetlib.cpython-*.py[co] | |
1021 | %{py_libdir}/__pycache__/tempfile.cpython-*.py[co] | |
1022 | %{py_libdir}/__pycache__/textwrap.cpython-*.py[co] | |
1023 | %{py_libdir}/__pycache__/this.cpython-*.py[co] | |
1024 | %{py_libdir}/__pycache__/threading.cpython-*.py[co] | |
1025 | %{py_libdir}/__pycache__/trace.cpython-*.py[co] | |
1026 | %{py_libdir}/__pycache__/tracemalloc.cpython-*.py[co] | |
1027 | %{py_libdir}/__pycache__/tty.cpython-*.py[co] | |
1028 | %{py_libdir}/__pycache__/turtle.cpython-*.py[co] | |
1029 | %{py_libdir}/__pycache__/typing.cpython-*.py[co] | |
1030 | %{py_libdir}/__pycache__/uu.cpython-*.py[co] | |
1031 | %{py_libdir}/__pycache__/uuid.cpython-*.py[co] | |
1032 | %{py_libdir}/__pycache__/warnings.cpython-*.py[co] | |
1033 | %{py_libdir}/__pycache__/wave.cpython-*.py[co] | |
1034 | %{py_libdir}/__pycache__/webbrowser.cpython-*.py[co] | |
1035 | %{py_libdir}/__pycache__/xdrlib.cpython-*.py[co] | |
1036 | %{py_libdir}/__pycache__/zipapp.cpython-*.py[co] | |
1037 | %{py_libdir}/__pycache__/zipfile.cpython-*.py[co] | |
1038 | ||
1039 | # | |
1040 | # list .so modules to be sure that all of them are built | |
1041 | # | |
1042 | ||
1043 | %attr(755,root,root) %{py_dyndir}/_asyncio.cpython-*.so | |
1044 | %attr(755,root,root) %{py_dyndir}/_bisect.cpython-*.so | |
1045 | %attr(755,root,root) %{py_dyndir}/_blake2.cpython-*.so | |
1046 | %attr(755,root,root) %{py_dyndir}/_bz2.cpython-*.so | |
1047 | %attr(755,root,root) %{py_dyndir}/_codecs_cn.cpython-*.so | |
1048 | %attr(755,root,root) %{py_dyndir}/_codecs_hk.cpython-*.so | |
1049 | %attr(755,root,root) %{py_dyndir}/_codecs_iso2022.cpython-*.so | |
1050 | %attr(755,root,root) %{py_dyndir}/_codecs_jp.cpython-*.so | |
1051 | %attr(755,root,root) %{py_dyndir}/_codecs_kr.cpython-*.so | |
1052 | %attr(755,root,root) %{py_dyndir}/_codecs_tw.cpython-*.so | |
1053 | %attr(755,root,root) %{py_dyndir}/_contextvars.cpython-*.so | |
1054 | %attr(755,root,root) %{py_dyndir}/_crypt.cpython-*.so | |
1055 | %attr(755,root,root) %{py_dyndir}/_csv.cpython-*.so | |
1056 | %attr(755,root,root) %{py_dyndir}/_ctypes*.cpython-*.so | |
1057 | %attr(755,root,root) %{py_dyndir}/_curses_panel.cpython-*.so | |
1058 | %attr(755,root,root) %{py_dyndir}/_curses.cpython-*.so | |
1059 | %attr(755,root,root) %{py_dyndir}/_datetime.cpython-*.so | |
1060 | %ifnarch sparc64 | |
1061 | %attr(755,root,root) %{py_dyndir}/_dbm.cpython-*.so | |
1062 | %endif | |
1063 | %attr(755,root,root) %{py_dyndir}/_decimal.cpython-*.so | |
1064 | %attr(755,root,root) %{py_dyndir}/_elementtree.cpython-*.so | |
1065 | %attr(755,root,root) %{py_dyndir}/_gdbm.cpython-*.so | |
1066 | %attr(755,root,root) %{py_dyndir}/_hashlib.cpython-*.so | |
1067 | %attr(755,root,root) %{py_dyndir}/_heapq.cpython-*.so | |
1068 | %attr(755,root,root) %{py_dyndir}/_json.cpython-*.so | |
1069 | %attr(755,root,root) %{py_dyndir}/_lsprof.cpython-*.so | |
1070 | %attr(755,root,root) %{py_dyndir}/_lzma.cpython-*.so | |
1071 | %attr(755,root,root) %{py_dyndir}/_md5.cpython-*.so | |
1072 | %attr(755,root,root) %{py_dyndir}/_multibytecodec.cpython-*.so | |
1073 | %attr(755,root,root) %{py_dyndir}/_multiprocessing.cpython-*.so | |
1074 | %attr(755,root,root) %{py_dyndir}/_opcode.cpython-*.so | |
1075 | %attr(755,root,root) %{py_dyndir}/_pickle.cpython-*.so | |
1076 | %attr(755,root,root) %{py_dyndir}/_posixsubprocess.cpython-*.so | |
1077 | %attr(755,root,root) %{py_dyndir}/_queue.cpython-*.so | |
1078 | %attr(755,root,root) %{py_dyndir}/_random.cpython-*.so | |
1079 | %attr(755,root,root) %{py_dyndir}/_sha1.cpython-*.so | |
1080 | %attr(755,root,root) %{py_dyndir}/_sha3.cpython-*.so | |
1081 | %attr(755,root,root) %{py_dyndir}/_socket.cpython-*.so | |
1082 | %attr(755,root,root) %{py_dyndir}/_ssl.cpython-*.so | |
1083 | %attr(755,root,root) %{py_dyndir}/_testbuffer.cpython-*.so | |
1084 | %attr(755,root,root) %{py_dyndir}/_testcapi.cpython-*.so | |
1085 | %attr(755,root,root) %{py_dyndir}/_testimportmultiple.cpython-*.so | |
1086 | %attr(755,root,root) %{py_dyndir}/_testmultiphase.cpython-*.so | |
1087 | %attr(755,root,root) %{py_dyndir}/_uuid.cpython-*.so | |
1088 | %attr(755,root,root) %{py_dyndir}/_xxtestfuzz.cpython-*.so | |
1089 | ||
1090 | # for openssl < 0.9.8 package sha256 and sha512 modules | |
1091 | %if "%{pld_release}" != "ac" | |
1092 | %attr(755,root,root) %{py_dyndir}/_sha256.cpython-*.so | |
1093 | %attr(755,root,root) %{py_dyndir}/_sha512.cpython-*.so | |
1094 | %endif | |
1095 | ||
1096 | %attr(755,root,root) %{py_dyndir}/array.cpython-*.so | |
1097 | %attr(755,root,root) %{py_dyndir}/audioop.cpython-*.so | |
1098 | %attr(755,root,root) %{py_dyndir}/binascii.cpython-*.so | |
1099 | %attr(755,root,root) %{py_dyndir}/cmath.cpython-*.so | |
1100 | %attr(755,root,root) %{py_dyndir}/fcntl.cpython-*.so | |
1101 | %attr(755,root,root) %{py_dyndir}/grp.cpython-*.so | |
1102 | %attr(755,root,root) %{py_dyndir}/math.cpython-*.so | |
1103 | %attr(755,root,root) %{py_dyndir}/mmap.cpython-*.so | |
1104 | %attr(755,root,root) %{py_dyndir}/nis.cpython-*.so | |
1105 | %attr(755,root,root) %{py_dyndir}/ossaudiodev.cpython-*.so | |
1106 | %attr(755,root,root) %{py_dyndir}/parser.cpython-*.so | |
1107 | %attr(755,root,root) %{py_dyndir}/pyexpat.cpython-*.so | |
1108 | %attr(755,root,root) %{py_dyndir}/readline.cpython-*.so | |
1109 | %attr(755,root,root) %{py_dyndir}/resource.cpython-*.so | |
1110 | %attr(755,root,root) %{py_dyndir}/select.cpython-*.so | |
1111 | %attr(755,root,root) %{py_dyndir}/syslog.cpython-*.so | |
1112 | %attr(755,root,root) %{py_dyndir}/termios.cpython-*.so | |
1113 | %attr(755,root,root) %{py_dyndir}/spwd.cpython-*.so | |
1114 | %attr(755,root,root) %{py_dyndir}/unicodedata.cpython-*.so | |
1115 | %attr(755,root,root) %{py_dyndir}/zlib.cpython-*.so | |
1116 | ||
1117 | %dir %{py_libdir}/asyncio | |
1118 | %{py_libdir}/asyncio/__pycache__ | |
1119 | %{py_libdir}/asyncio/*.py | |
1120 | ||
1121 | %{py_libdir}/concurrent | |
1122 | ||
1123 | %dir %{py_libdir}/ctypes | |
1124 | %dir %{py_libdir}/ctypes/macholib | |
1125 | %{py_libdir}/ctypes/__pycache__ | |
1126 | %{py_libdir}/ctypes/macholib/__pycache__ | |
1127 | ||
1128 | %{py_libdir}/ctypes/*.py | |
1129 | %{py_libdir}/ctypes/macholib/*.py | |
1130 | %doc %{py_libdir}/ctypes/macholib/README.ctypes | |
1131 | ||
1132 | %dir %{py_libdir}/curses | |
1133 | %{py_libdir}/curses/__pycache__ | |
1134 | %{py_libdir}/curses/*.py | |
1135 | ||
1136 | %dir %{py_libdir}/dbm | |
1137 | %{py_libdir}/dbm/__pycache__ | |
1138 | %{py_libdir}/dbm/*.py | |
1139 | ||
1140 | %dir %{py_libdir}/distutils | |
1141 | %dir %{py_libdir}/distutils/command | |
1142 | %doc %{py_libdir}/distutils/README | |
1143 | %{py_libdir}/distutils/__pycache__ | |
1144 | %{py_libdir}/distutils/command/__pycache__ | |
1145 | %{py_libdir}/distutils/*.py | |
1146 | %{py_libdir}/distutils/command/*.py | |
1147 | %{py_libdir}/distutils/command/command_template | |
1148 | ||
1149 | %dir %{py_libdir}/email | |
1150 | %dir %{py_libdir}/email/mime | |
1151 | %{py_libdir}/email/__pycache__ | |
1152 | %{py_libdir}/email/mime/__pycache__ | |
1153 | %{py_libdir}/email/architecture.rst | |
1154 | %{py_libdir}/email/*.py | |
1155 | %{py_libdir}/email/mime/*.py | |
1156 | ||
1157 | %dir %{py_libdir}/ensurepip | |
1158 | %{py_libdir}/ensurepip/__pycache__ | |
1159 | %{py_libdir}/ensurepip/*.py | |
1160 | %{py_libdir}/ensurepip/_bundled | |
1161 | ||
1162 | %dir %{py_libdir}/html | |
1163 | %{py_libdir}/html/*.py | |
1164 | %{py_libdir}/html/__pycache__ | |
1165 | ||
1166 | %dir %{py_libdir}/http | |
1167 | %{py_libdir}/http/__pycache__ | |
1168 | %{py_libdir}/http/*.py | |
1169 | ||
1170 | %dir %{py_libdir}/idlelib | |
1171 | ||
1172 | %dir %{py_libdir}/importlib | |
1173 | %{py_libdir}/importlib/__pycache__ | |
1174 | %{py_libdir}/importlib/*.py | |
1175 | ||
1176 | %dir %{py_libdir}/json | |
1177 | %{py_libdir}/json/__pycache__ | |
1178 | %{py_libdir}/json/*.py | |
1179 | ||
1180 | %dir %{py_libdir}/logging | |
1181 | %{py_libdir}/logging/__pycache__ | |
1182 | %{py_libdir}/logging/*.py | |
1183 | ||
1184 | %dir %{py_libdir}/multiprocessing | |
1185 | %{py_libdir}/multiprocessing/__pycache__ | |
1186 | %{py_libdir}/multiprocessing/*.py | |
1187 | %dir %{py_libdir}/multiprocessing/dummy | |
1188 | %{py_libdir}/multiprocessing/dummy/__pycache__ | |
1189 | %{py_libdir}/multiprocessing/dummy/*.py | |
1190 | ||
1191 | %{py_libdir}/turtledemo | |
1192 | ||
1193 | %dir %{py_libdir}/unittest | |
1194 | %{py_libdir}/unittest/__pycache__ | |
1195 | %{py_libdir}/unittest/*.py | |
1196 | ||
1197 | %dir %{py_libdir}/urllib | |
1198 | %{py_libdir}/urllib/__pycache__ | |
1199 | %{py_libdir}/urllib/*.py | |
1200 | ||
1201 | %dir %{py_libdir}/venv | |
1202 | %{py_libdir}/venv/__pycache__ | |
1203 | %{py_libdir}/venv/*.py | |
1204 | %dir %{py_libdir}/venv/scripts | |
1205 | %dir %{py_libdir}/venv/scripts/common | |
1206 | %{py_libdir}/venv/scripts/common/activate | |
1207 | %dir %{py_libdir}/venv/scripts/posix | |
1208 | %{py_libdir}/venv/scripts/posix/activate.csh | |
1209 | %{py_libdir}/venv/scripts/posix/activate.fish | |
1210 | ||
1211 | %dir %{py_libdir}/wsgiref | |
1212 | %{py_libdir}/wsgiref/__pycache__ | |
1213 | %{py_libdir}/wsgiref/*.py | |
1214 | ||
1215 | %dir %{py_libdir}/xml | |
1216 | %dir %{py_libdir}/xml/dom | |
1217 | %dir %{py_libdir}/xml/etree | |
1218 | %dir %{py_libdir}/xml/parsers | |
1219 | %dir %{py_libdir}/xml/sax | |
1220 | %{py_libdir}/xml/__pycache__ | |
1221 | %{py_libdir}/xml/dom/__pycache__ | |
1222 | %{py_libdir}/xml/etree/__pycache__ | |
1223 | %{py_libdir}/xml/parsers/__pycache__ | |
1224 | %{py_libdir}/xml/sax/__pycache__ | |
1225 | %{py_libdir}/xml/*.py | |
1226 | %{py_libdir}/xml/dom/*.py | |
1227 | %{py_libdir}/xml/etree/*.py | |
1228 | %{py_libdir}/xml/parsers/*.py | |
1229 | %{py_libdir}/xml/sax/*.py | |
1230 | ||
1231 | %dir %{py_libdir}/xmlrpc | |
1232 | %{py_libdir}/xmlrpc/__pycache__ | |
1233 | %{py_libdir}/xmlrpc/*.py | |
1234 | ||
1235 | %attr(755,root,root) %{py_dyndir}/_sqlite3.cpython-*.so | |
1236 | %dir %{py_libdir}/sqlite3 | |
1237 | %{py_libdir}/sqlite3/__pycache__ | |
1238 | %{py_libdir}/sqlite3/*.py | |
1239 | ||
1240 | %files -n pydoc3 | |
1241 | %defattr(644,root,root,755) | |
1242 | %attr(755,root,root) %{_bindir}/pydoc3 | |
1243 | %attr(755,root,root) %{_bindir}/pydoc%{py_ver} | |
1244 | %{py_libdir}/pydoc.py | |
1245 | %{py_libdir}/__pycache__/pydoc.cpython-*.py[co] | |
1246 | %dir %{py_libdir}/pydoc_data | |
1247 | %{py_libdir}/pydoc_data/__pycache__ | |
1248 | %{py_libdir}/pydoc_data/*.py | |
1249 | %{py_libdir}/pydoc_data/*.css | |
1250 | ||
1251 | %files -n idle3 | |
1252 | %defattr(644,root,root,755) | |
1253 | %attr(755,root,root) %{_bindir}/idle3 | |
1254 | %attr(755,root,root) %{_bindir}/idle%{py_ver} | |
1255 | %dir %{py_libdir}/idlelib/Icons | |
1256 | %{py_libdir}/idlelib/__pycache__ | |
1257 | %{py_libdir}/idlelib/*.py | |
1258 | %doc %{py_libdir}/idlelib/*.txt | |
1259 | %doc %{py_libdir}/idlelib/ChangeLog | |
1260 | %{py_libdir}/idlelib/Icons/* | |
1261 | %{py_libdir}/idlelib/*.def | |
1262 | ||
1263 | %files devel | |
1264 | %defattr(644,root,root,755) | |
1265 | %doc Misc/{ACKS,NEWS,README,README.valgrind,valgrind-python.supp} | |
1266 | %attr(755,root,root) %{_bindir}/python%{py_ver}-config | |
1267 | %attr(755,root,root) %{_bindir}/python%{py_abi}-config | |
1268 | %attr(755,root,root) %{_bindir}/python3-config | |
1269 | %attr(755,root,root) %{_libdir}/libpython%{py_abi}.so | |
1270 | %attr(755,root,root) %{_libdir}/libpython3.so | |
1271 | %{py_incdir}/*.h | |
1272 | %exclude %{py_incdir}/pyconfig.h | |
1273 | %attr(755,root,root) %{py_libdir}/config-%{py_platform}/makesetup | |
1274 | %attr(755,root,root) %{py_libdir}/config-%{py_platform}/install-sh | |
1275 | %{py_libdir}/config-%{py_platform}/config.c | |
1276 | %{py_libdir}/config-%{py_platform}/config.c.in | |
1277 | %{py_libdir}/config-%{py_platform}/python.o | |
1278 | %{py_libdir}/config-%{py_platform}/python-config.py | |
1279 | %dir %{py_libdir}/config-%{py_platform}/__pycache__ | |
1280 | %{py_libdir}/config-%{py_platform}/__pycache__/python-config.* | |
1281 | %{_pkgconfigdir}/python-%{py_ver}.pc | |
1282 | %{_pkgconfigdir}/python-%{py_abi}.pc | |
1283 | %{_pkgconfigdir}/python3.pc | |
1284 | ||
1285 | %files devel-tools | |
1286 | %defattr(644,root,root,755) | |
1287 | %config(noreplace) %verify(not md5 mtime size) /etc/shrc.d/python*-devel* | |
1288 | %attr(755,root,root) %{_bindir}/pygettext%{py_ver} | |
1289 | %attr(755,root,root) %{_bindir}/pyreindent%{py_ver} | |
1290 | %{py_libdir}/pdb.py | |
1291 | %{py_libdir}/profile.py | |
1292 | %{py_libdir}/pstats.py | |
1293 | %{py_libdir}/timeit.py | |
1294 | %{py_libdir}/__pycache__/pdb.cpython-*.py[co] | |
1295 | %{py_libdir}/__pycache__/profile.cpython-*.py[co] | |
1296 | %{py_libdir}/__pycache__/pstats.cpython-*.py[co] | |
1297 | %{py_libdir}/__pycache__/timeit.cpython-*.py[co] | |
1298 | ||
1299 | %files 2to3 | |
1300 | %defattr(644,root,root,755) | |
1301 | %attr(755,root,root) %{_bindir}/2to3-%{py_ver} | |
1302 | %dir %{py_libdir}/lib2to3 | |
1303 | %{py_libdir}/lib2to3/__pycache__ | |
1304 | %{py_libdir}/lib2to3/*.txt | |
1305 | %{py_libdir}/lib2to3/*.pickle | |
1306 | %{py_libdir}/lib2to3/*.py | |
1307 | %dir %{py_libdir}/lib2to3/fixes | |
1308 | %{py_libdir}/lib2to3/fixes/__pycache__ | |
1309 | %{py_libdir}/lib2to3/fixes/*.py | |
1310 | %dir %{py_libdir}/lib2to3/pgen2 | |
1311 | %{py_libdir}/lib2to3/pgen2/__pycache__ | |
1312 | %{py_libdir}/lib2to3/pgen2/*.py | |
1313 | ||
1314 | %files static | |
1315 | %defattr(644,root,root,755) | |
1316 | %{_libdir}/libpython%{py_abi}.a | |
1317 | ||
1318 | %files examples | |
1319 | %defattr(644,root,root,755) | |
1320 | %{_examplesdir}/%{name}-%{version} | |
1321 | ||
1322 | %files test | |
1323 | %defattr(644,root,root,755) | |
1324 | %{py_libdir}/idlelib/idle_test | |
1325 | %{py_libdir}/test | |
1326 | %{py_libdir}/ctypes/test | |
1327 | %{py_libdir}/distutils/tests | |
1328 | %{py_libdir}/lib2to3/tests | |
1329 | %{py_libdir}/sqlite3/test | |
1330 | %{py_libdir}/tkinter/test | |
1331 | %{py_libdir}/unittest/test | |
1332 | ||
1333 | %if %{with info} | |
1334 | %files doc-info | |
1335 | %defattr(644,root,root,755) | |
1336 | %{_infodir}/*.info* | |
1337 | %endif | |
1338 | ||
1339 | %if %{with tkinter} | |
1340 | %files tkinter | |
1341 | %defattr(644,root,root,755) | |
1342 | %dir %{py_libdir}/tkinter | |
1343 | %{py_libdir}/tkinter/__pycache__ | |
1344 | %{py_libdir}/tkinter/*.py | |
1345 | %attr(755,root,root) %{py_dyndir}/_tkinter.cpython-*.so | |
1346 | %endif |