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