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