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