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