]> git.pld-linux.org Git - packages/python3.git/blame - python3.spec
'test' subpackage added
[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
69f6bc98 41Release: 1
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}
cc48af34 495CPPFLAGS="-I/usr/include/ncursesw %{rpmcppflags} -Wall %{!?debug:-DNDEBUG=1}"; export CPPFLAGS
9416f74d 496%configure \
1254741f
ER
497 ac_cv_posix_semaphores_enabled=yes \
498 ac_cv_broken_sem_getvalue=no \
cc48af34 499 %{?with_debug:--with-pydebug} \
3ba70ac2 500 --with-cxx-main="%{__cxx}" \
9416f74d
AM
501 --enable-shared \
502 --enable-ipv6 \
19221b23 503 --with-dbmliborder=gdbm:bdb \
9416f74d 504 --with-signal-module \
85d91854 505%ifarch %{ix86} %{x8664} ppc ppc64
9416f74d 506 --with-tsc \
85d91854 507%endif
9416f74d
AM
508 --with-threads \
509 --with-doc-strings \
9416f74d 510 --with-fpectl \
91f8e48f 511 --with-system-expat \
3ba70ac2 512 --with-system-ffi \
23f5417d 513 --with-computed-gotos \
9416f74d
AM
514 LINKCC='$(PURIFY) $(CXX)' \
515 LDSHARED='$(CC) $(CFLAGS) -shared' \
516 BLDSHARED='$(CC) $(CFLAGS) -shared' \
35acaf01 517 LDFLAGS="%{rpmcflags} %{rpmldflags}"
9416f74d
AM
518
519%{__make} \
cc48af34 520 OPT="%{rpmcflags} %{rpmcppflags} -fno-caller-saves" 2>&1 | awk '
9416f74d
AM
521BEGIN { fail = 0; logmsg = ""; }
522{
523 if ($0 ~ /\*\*\* WARNING:/) {
524 fail = 1;
525 logmsg = logmsg $0;
526 }
527 print $0;
528}
529END { if (fail) { print "\nPROBLEMS FOUND:"; print logmsg; exit(1); } }'
530
531LC_ALL=C
532export LC_ALL
533%if %{with tests}
534binlibdir=`echo build/lib.*`
535%{__make} test \
536 TESTOPTS="%{test_flags} %{test_list}" \
48e785bb 537 TESTPYTHON="LD_LIBRARY_PATH=`pwd` PYTHONHOME=`pwd` PYTHONPATH=`pwd`/Lib:`pwd`/$binlibdir ./python -tt"
9416f74d
AM
538%endif
539
540%install
541rm -rf $RPM_BUILD_ROOT
9adbfa17 542install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir},%{_pkgconfigdir}} \
12ba957c 543 $RPM_BUILD_ROOT{%{py_sitedir},%{py_sitescriptdir}}/__pycache__ \
9416f74d 544 $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} \
12ba957c 545 $RPM_BUILD_ROOT{%{_infodir},%{_mandir}/man1} \
9416f74d
AM
546 $RPM_BUILD_ROOT/etc/shrc.d
547
548%{__make} install \
549 DESTDIR=$RPM_BUILD_ROOT
550
551%if %{with info}
552%{__make} -C Doc/info
1254741f 553cp -p Doc/info/python*info* $RPM_BUILD_ROOT%{_infodir}
9416f74d
AM
554%endif
555
9416f74d 556install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
4449431f 557cp -a Tools $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
9416f74d 558
ac600e00
AF
559# make libpython3.so simply symlink to real lib
560%{__rm} $RPM_BUILD_ROOT%{_libdir}/libpython3.so
561ln -s libpython%{py_abi}.so $RPM_BUILD_ROOT%{_libdir}/libpython3.so
562
9416f74d
AM
563#
564# create several useful aliases, such as timeit.py, profile.py, pdb.py, smtpd.py
565#
566
567# for python devel tools
568for script in timeit profile pdb pstats; do
1254741f 569 echo "alias ${script}%{py_ver}.py='python%{py_ver} -m ${script}'"
24586eb0 570done > $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-devel.sh
9416f74d 571
1254741f 572echo "alias pygettext%{py_ver}.py='pygettext%{py_ver}'" \
24586eb0 573 >> $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-devel.sh
9416f74d
AM
574
575sed 's/=/ /' \
24586eb0
AM
576 < $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-devel.sh \
577 > $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-devel.csh
9416f74d
AM
578
579# for python modules
580for script in smtpd webbrowser; do
1254741f 581 echo "alias ${script}%{py_ver}.py='python%{py_ver} -m ${script}'"
24586eb0 582done > $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-modules.sh
9416f74d
AM
583
584sed 's/=/ /' \
24586eb0
AM
585 < $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-modules.sh \
586 > $RPM_BUILD_ROOT/etc/shrc.d/python%{py_ver}-modules.csh
9416f74d
AM
587
588# xgettext specific for Python code
589#
590# we will have two commands: pygettext.py (an alias) and pygettext;
591# this way there are no import (which is impossible now) conflicts and
592# pygettext.py is provided for compatibility
1254741f 593install -p Tools/i18n/pygettext.py $RPM_BUILD_ROOT%{_bindir}/pygettext%{py_ver}
24586eb0 594
9416f74d 595# just to cut the noise, as they are not packaged (now)
e3852288
JB
596%{__rm} $RPM_BUILD_ROOT%{py_scriptdir}/plat-*/regen
597%{__rm} $RPM_BUILD_ROOT%{py_scriptdir}/ctypes/macholib/fetch_macholib*
598%{__rm} $RPM_BUILD_ROOT%{py_scriptdir}/site-packages/README
599%{__rm} $RPM_BUILD_ROOT%{py_scriptdir}/distutils/command/wininst*.exe
600%{__rm} $RPM_BUILD_ROOT%{py_scriptdir}/idlelib/*.bat
601%{__rm} $RPM_BUILD_ROOT%{py_scriptdir}/idlelib/*.pyw
1843c435
JK
602
603# currently provided by python-2to3, consider switching to this one
604%{__rm} $RPM_BUILD_ROOT%{_bindir}/2to3
605
5d1aec43 606# that seems to be only an empty extension template,
607# which seems to be built only {with tests}
608%{__rm} -f $RPM_BUILD_ROOT%{py_dyndir}/xxlimited.*.so
1843c435 609
acd14a9e 610# already in %%doc
e3852288 611%{__rm} $RPM_BUILD_ROOT%{py_scriptdir}/LICENSE.txt
9416f74d
AM
612
613%clean
614rm -rf $RPM_BUILD_ROOT
615
616%post libs -p /sbin/ldconfig
617%postun libs -p /sbin/ldconfig
618
e3852288 619%post doc-info -p /sbin/postshell
a20bb9dc 620-/usr/sbin/fix-info-dir -c %{_infodir}
9416f74d 621
e3852288 622%postun doc-info -p /sbin/postshell
a20bb9dc 623-/usr/sbin/fix-info-dir -c %{_infodir}
9416f74d
AM
624
625%files
626%defattr(644,root,root,755)
24586eb0 627%attr(755,root,root) %{_bindir}/python%{py_ver}
c7fdbe10 628%attr(755,root,root) %{_bindir}/python%{py_abi}
306c0f2d 629%attr(755,root,root) %{_bindir}/python3
c7fdbe10 630%{_mandir}/man1/python%{py_ver}.1*
57557e58 631%{_mandir}/man1/python3.1*
c7fdbe10
JB
632
633%files libs
634%defattr(644,root,root,755)
635%doc LICENSE
636%attr(755,root,root) %{_libdir}/libpython%{py_abi}.so.*.*
637
002ac285
AM
638%dir %{py_incdir}
639%{py_incdir}/pyconfig.h
640
c7fdbe10
JB
641%dir %{py_libdir}
642%dir %{py_dyndir}
643%dir %{py_sitedir}
12ba957c 644%dir %{py_sitedir}/__pycache__
c7fdbe10 645%dir %{py_scriptdir}
32e6a38e 646%dir %{py_scriptdir}/__pycache__
c7fdbe10 647%dir %{py_sitescriptdir}
12ba957c 648%dir %{py_sitescriptdir}/__pycache__
c7fdbe10
JB
649
650# shared modules required by python library
651%attr(755,root,root) %{py_dyndir}/_struct.cpython-*.so
652
653# modules required by python library
dfcf7c51 654%{py_scriptdir}/_sysconfigdata.py
dceb7408 655%{py_scriptdir}/_weakrefset.py
656%{py_scriptdir}/abc.py
002ac285 657%{py_scriptdir}/bisect.py
dceb7408 658%{py_scriptdir}/codecs.py
659%{py_scriptdir}/copyreg.py
002ac285 660%{py_scriptdir}/functools.py
dceb7408 661%{py_scriptdir}/genericpath.py
002ac285
AM
662%{py_scriptdir}/heapq.py
663%{py_scriptdir}/keyword.py
664%{py_scriptdir}/linecache.py
dceb7408 665%{py_scriptdir}/locale.py
666%{py_scriptdir}/io.py
667%{py_scriptdir}/posixpath.py
002ac285
AM
668%{py_scriptdir}/re.py
669%{py_scriptdir}/reprlib.py
dceb7408 670%{py_scriptdir}/site.py
002ac285 671%{py_scriptdir}/sre_*.py
dceb7408 672%{py_scriptdir}/stat.py
8bfb6496 673%{py_scriptdir}/sysconfig.py
002ac285
AM
674%{py_scriptdir}/token.py
675%{py_scriptdir}/tokenize.py
676%{py_scriptdir}/traceback.py
677%{py_scriptdir}/weakref.py
dceb7408 678%{py_scriptdir}/os.py
c7fdbe10 679# needed by the dynamic sys.lib patch
dceb7408 680%{py_scriptdir}/types.py
dfcf7c51 681%{py_scriptdir}/__pycache__/_sysconfigdata.cpython-*.py[co]
a98780c2
AM
682%{py_scriptdir}/__pycache__/_weakrefset.cpython-*.py[co]
683%{py_scriptdir}/__pycache__/abc.cpython-*.py[co]
684%{py_scriptdir}/__pycache__/bisect.cpython-*.py[co]
685%{py_scriptdir}/__pycache__/codecs.cpython-*.py[co]
a98780c2
AM
686%{py_scriptdir}/__pycache__/copyreg.cpython-*.py[co]
687%{py_scriptdir}/__pycache__/functools.cpython-*.py[co]
688%{py_scriptdir}/__pycache__/genericpath.cpython-*.py[co]
689%{py_scriptdir}/__pycache__/heapq.cpython-*.py[co]
690%{py_scriptdir}/__pycache__/keyword.cpython-*.py[co]
691%{py_scriptdir}/__pycache__/linecache.cpython-*.py[co]
692%{py_scriptdir}/__pycache__/locale.cpython-*.py[co]
693%{py_scriptdir}/__pycache__/io.cpython-*.py[co]
694%{py_scriptdir}/__pycache__/posixpath.cpython-*.py[co]
695%{py_scriptdir}/__pycache__/re.cpython-*.py[co]
696%{py_scriptdir}/__pycache__/reprlib.cpython-*.py[co]
697%{py_scriptdir}/__pycache__/site.cpython-*.py[co]
698%{py_scriptdir}/__pycache__/sre_*.cpython-*.py[co]
699%{py_scriptdir}/__pycache__/stat.cpython-*.py[co]
700%{py_scriptdir}/__pycache__/sysconfig.cpython-*.py[co]
701%{py_scriptdir}/__pycache__/token.cpython-*.py[co]
702%{py_scriptdir}/__pycache__/tokenize.cpython-*.py[co]
703%{py_scriptdir}/__pycache__/traceback.cpython-*.py[co]
704%{py_scriptdir}/__pycache__/weakref.cpython-*.py[co]
705%{py_scriptdir}/__pycache__/os.cpython-*.py[co]
706%{py_scriptdir}/__pycache__/types.cpython-*.py[co]
c7fdbe10 707
dfcf7c51
AM
708%{py_scriptdir}/collections
709
c7fdbe10
JB
710# encodings required by python library
711%dir %{py_scriptdir}/encodings
dceb7408 712%{py_scriptdir}/encodings/__pycache__
713%{py_scriptdir}/encodings/*.py
9416f74d 714
d91cfa38 715%dir %{py_libdir}/config-%{py_abi}
d91cfa38
JK
716%{py_libdir}/config-%{py_abi}/Makefile
717%{py_libdir}/config-%{py_abi}/Setup
718%{py_libdir}/config-%{py_abi}/Setup.config
719%{py_libdir}/config-%{py_abi}/Setup.local
d91cfa38 720
9416f74d
AM
721%files modules
722%defattr(644,root,root,755)
24586eb0 723/etc/shrc.d/python*-modules*
dfcf7c51
AM
724%attr(755,root,root) %{_bindir}/pyvenv
725%attr(755,root,root) %{_bindir}/pyvenv-3.3
32e6a38e
JB
726%{py_scriptdir}/__future__.py
727%{py_scriptdir}/__phello__.foo.py
728%{py_scriptdir}/_compat_pickle.py
729%{py_scriptdir}/_dummy_thread.py
730%{py_scriptdir}/_markupbase.py
dfcf7c51 731%{py_scriptdir}/_osx_support.py
32e6a38e
JB
732%{py_scriptdir}/_pyio.py
733%{py_scriptdir}/_strptime.py
734%{py_scriptdir}/_threading_local.py
735%{py_scriptdir}/aifc.py
736%{py_scriptdir}/antigravity.py
737%{py_scriptdir}/argparse.py
738%{py_scriptdir}/ast.py
739%{py_scriptdir}/asynchat.py
740%{py_scriptdir}/asyncore.py
741%{py_scriptdir}/base64.py
742%{py_scriptdir}/bdb.py
743%{py_scriptdir}/binhex.py
dfcf7c51 744%{py_scriptdir}/bz2.py
32e6a38e
JB
745%{py_scriptdir}/cProfile.py
746%{py_scriptdir}/calendar.py
747%{py_scriptdir}/cgi.py
748%{py_scriptdir}/cgitb.py
749%{py_scriptdir}/chunk.py
750%{py_scriptdir}/cmd.py
751%{py_scriptdir}/code.py
752%{py_scriptdir}/codeop.py
753%{py_scriptdir}/colorsys.py
754%{py_scriptdir}/compileall.py
755%{py_scriptdir}/configparser.py
756%{py_scriptdir}/contextlib.py
757%{py_scriptdir}/copy.py
dfcf7c51 758%{py_scriptdir}/crypt.py
32e6a38e
JB
759%{py_scriptdir}/csv.py
760%{py_scriptdir}/datetime.py
761%{py_scriptdir}/decimal.py
762%{py_scriptdir}/difflib.py
763%{py_scriptdir}/dis.py
764%{py_scriptdir}/doctest.py
765%{py_scriptdir}/dummy_threading.py
766%{py_scriptdir}/filecmp.py
767%{py_scriptdir}/fileinput.py
768%{py_scriptdir}/fnmatch.py
769%{py_scriptdir}/formatter.py
770%{py_scriptdir}/fractions.py
771%{py_scriptdir}/ftplib.py
772%{py_scriptdir}/getopt.py
773%{py_scriptdir}/getpass.py
774%{py_scriptdir}/gettext.py
775%{py_scriptdir}/glob.py
776%{py_scriptdir}/gzip.py
777%{py_scriptdir}/hashlib.py
778%{py_scriptdir}/hmac.py
779%{py_scriptdir}/imaplib.py
780%{py_scriptdir}/imghdr.py
dfcf7c51 781%{py_scriptdir}/imp.py
32e6a38e 782%{py_scriptdir}/inspect.py
dfcf7c51
AM
783%{py_scriptdir}/ipaddress.py
784%{py_scriptdir}/lzma.py
32e6a38e
JB
785%{py_scriptdir}/macpath.py
786%{py_scriptdir}/macurl2path.py
787%{py_scriptdir}/mailbox.py
788%{py_scriptdir}/mailcap.py
789%{py_scriptdir}/mimetypes.py
790%{py_scriptdir}/modulefinder.py
791%{py_scriptdir}/netrc.py
792%{py_scriptdir}/nntplib.py
793%{py_scriptdir}/ntpath.py
794%{py_scriptdir}/nturl2path.py
795%{py_scriptdir}/numbers.py
796%{py_scriptdir}/opcode.py
797%{py_scriptdir}/optparse.py
798%{py_scriptdir}/os2emxpath.py
799%{py_scriptdir}/pickle.py
800%{py_scriptdir}/pickletools.py
801%{py_scriptdir}/pipes.py
802%{py_scriptdir}/pkgutil.py
803%{py_scriptdir}/platform.py
804%{py_scriptdir}/plistlib.py
805%{py_scriptdir}/poplib.py
806%{py_scriptdir}/pprint.py
807%{py_scriptdir}/pty.py
808%{py_scriptdir}/py_compile.py
809%{py_scriptdir}/pyclbr.py
810%{py_scriptdir}/queue.py
811%{py_scriptdir}/quopri.py
812%{py_scriptdir}/random.py
813%{py_scriptdir}/rlcompleter.py
814%{py_scriptdir}/runpy.py
815%{py_scriptdir}/sched.py
816%{py_scriptdir}/shelve.py
817%{py_scriptdir}/shlex.py
818%{py_scriptdir}/shutil.py
819%{py_scriptdir}/smtpd.py
820%{py_scriptdir}/smtplib.py
821%{py_scriptdir}/sndhdr.py
822%{py_scriptdir}/socket.py
823%{py_scriptdir}/socketserver.py
824%{py_scriptdir}/ssl.py
825%{py_scriptdir}/string.py
826%{py_scriptdir}/stringprep.py
827%{py_scriptdir}/struct.py
828%{py_scriptdir}/subprocess.py
829%{py_scriptdir}/sunau.py
830%{py_scriptdir}/symbol.py
831%{py_scriptdir}/symtable.py
832%{py_scriptdir}/tabnanny.py
833%{py_scriptdir}/tarfile.py
834%{py_scriptdir}/telnetlib.py
835%{py_scriptdir}/tempfile.py
836%{py_scriptdir}/textwrap.py
837%{py_scriptdir}/this.py
838%{py_scriptdir}/threading.py
839%{py_scriptdir}/trace.py
840%{py_scriptdir}/tty.py
841%{py_scriptdir}/turtle.py
842%{py_scriptdir}/uu.py
843%{py_scriptdir}/uuid.py
844%{py_scriptdir}/warnings.py
845%{py_scriptdir}/wave.py
846%{py_scriptdir}/webbrowser.py
847%{py_scriptdir}/xdrlib.py
848%{py_scriptdir}/zipfile.py
a98780c2 849%{py_scriptdir}/__pycache__/__future__.cpython-*.py[co]
dfcf7c51 850%{py_scriptdir}/__pycache__/__phello__.cpython-*.py[co]
a98780c2
AM
851%{py_scriptdir}/__pycache__/_compat_pickle.cpython-*.py[co]
852%{py_scriptdir}/__pycache__/_dummy_thread.cpython-*.py[co]
853%{py_scriptdir}/__pycache__/_markupbase.cpython-*.py[co]
dfcf7c51 854%{py_scriptdir}/__pycache__/_osx_support.cpython-*.py[co]
a98780c2
AM
855%{py_scriptdir}/__pycache__/_pyio.cpython-*.py[co]
856%{py_scriptdir}/__pycache__/_strptime.cpython-*.py[co]
857%{py_scriptdir}/__pycache__/_threading_local.cpython-*.py[co]
858%{py_scriptdir}/__pycache__/aifc.cpython-*.py[co]
859%{py_scriptdir}/__pycache__/antigravity.cpython-*.py[co]
860%{py_scriptdir}/__pycache__/argparse.cpython-*.py[co]
861%{py_scriptdir}/__pycache__/ast.cpython-*.py[co]
862%{py_scriptdir}/__pycache__/asynchat.cpython-*.py[co]
863%{py_scriptdir}/__pycache__/asyncore.cpython-*.py[co]
864%{py_scriptdir}/__pycache__/base64.cpython-*.py[co]
865%{py_scriptdir}/__pycache__/bdb.cpython-*.py[co]
866%{py_scriptdir}/__pycache__/binhex.cpython-*.py[co]
dfcf7c51 867%{py_scriptdir}/__pycache__/bz2.cpython-*.py[co]
a98780c2
AM
868%{py_scriptdir}/__pycache__/cProfile.cpython-*.py[co]
869%{py_scriptdir}/__pycache__/calendar.cpython-*.py[co]
870%{py_scriptdir}/__pycache__/cgi.cpython-*.py[co]
871%{py_scriptdir}/__pycache__/cgitb.cpython-*.py[co]
872%{py_scriptdir}/__pycache__/chunk.cpython-*.py[co]
873%{py_scriptdir}/__pycache__/cmd.cpython-*.py[co]
874%{py_scriptdir}/__pycache__/code.cpython-*.py[co]
875%{py_scriptdir}/__pycache__/codeop.cpython-*.py[co]
876%{py_scriptdir}/__pycache__/colorsys.cpython-*.py[co]
877%{py_scriptdir}/__pycache__/compileall.cpython-*.py[co]
878%{py_scriptdir}/__pycache__/configparser.cpython-*.py[co]
879%{py_scriptdir}/__pycache__/contextlib.cpython-*.py[co]
880%{py_scriptdir}/__pycache__/copy.cpython-*.py[co]
dfcf7c51 881%{py_scriptdir}/__pycache__/crypt.cpython-*.py[co]
a98780c2
AM
882%{py_scriptdir}/__pycache__/csv.cpython-*.py[co]
883%{py_scriptdir}/__pycache__/datetime.cpython-*.py[co]
884%{py_scriptdir}/__pycache__/decimal.cpython-*.py[co]
885%{py_scriptdir}/__pycache__/difflib.cpython-*.py[co]
886%{py_scriptdir}/__pycache__/dis.cpython-*.py[co]
887%{py_scriptdir}/__pycache__/doctest.cpython-*.py[co]
888%{py_scriptdir}/__pycache__/dummy_threading.cpython-*.py[co]
889%{py_scriptdir}/__pycache__/filecmp.cpython-*.py[co]
890%{py_scriptdir}/__pycache__/fileinput.cpython-*.py[co]
891%{py_scriptdir}/__pycache__/fnmatch.cpython-*.py[co]
892%{py_scriptdir}/__pycache__/formatter.cpython-*.py[co]
893%{py_scriptdir}/__pycache__/fractions.cpython-*.py[co]
894%{py_scriptdir}/__pycache__/ftplib.cpython-*.py[co]
895%{py_scriptdir}/__pycache__/getopt.cpython-*.py[co]
896%{py_scriptdir}/__pycache__/getpass.cpython-*.py[co]
897%{py_scriptdir}/__pycache__/gettext.cpython-*.py[co]
898%{py_scriptdir}/__pycache__/glob.cpython-*.py[co]
899%{py_scriptdir}/__pycache__/gzip.cpython-*.py[co]
900%{py_scriptdir}/__pycache__/hashlib.cpython-*.py[co]
901%{py_scriptdir}/__pycache__/hmac.cpython-*.py[co]
902%{py_scriptdir}/__pycache__/imaplib.cpython-*.py[co]
903%{py_scriptdir}/__pycache__/imghdr.cpython-*.py[co]
dfcf7c51 904%{py_scriptdir}/__pycache__/imp.cpython-*.py[co]
a98780c2 905%{py_scriptdir}/__pycache__/inspect.cpython-*.py[co]
dfcf7c51
AM
906%{py_scriptdir}/__pycache__/ipaddress.cpython-*.py[co]
907%{py_scriptdir}/__pycache__/lzma.cpython-*.py[co]
a98780c2
AM
908%{py_scriptdir}/__pycache__/macpath.cpython-*.py[co]
909%{py_scriptdir}/__pycache__/macurl2path.cpython-*.py[co]
910%{py_scriptdir}/__pycache__/mailbox.cpython-*.py[co]
911%{py_scriptdir}/__pycache__/mailcap.cpython-*.py[co]
912%{py_scriptdir}/__pycache__/mimetypes.cpython-*.py[co]
913%{py_scriptdir}/__pycache__/modulefinder.cpython-*.py[co]
914%{py_scriptdir}/__pycache__/netrc.cpython-*.py[co]
915%{py_scriptdir}/__pycache__/nntplib.cpython-*.py[co]
916%{py_scriptdir}/__pycache__/ntpath.cpython-*.py[co]
917%{py_scriptdir}/__pycache__/nturl2path.cpython-*.py[co]
918%{py_scriptdir}/__pycache__/numbers.cpython-*.py[co]
919%{py_scriptdir}/__pycache__/opcode.cpython-*.py[co]
920%{py_scriptdir}/__pycache__/optparse.cpython-*.py[co]
921%{py_scriptdir}/__pycache__/os2emxpath.cpython-*.py[co]
922%{py_scriptdir}/__pycache__/pickle.cpython-*.py[co]
923%{py_scriptdir}/__pycache__/pickletools.cpython-*.py[co]
924%{py_scriptdir}/__pycache__/pipes.cpython-*.py[co]
925%{py_scriptdir}/__pycache__/pkgutil.cpython-*.py[co]
926%{py_scriptdir}/__pycache__/platform.cpython-*.py[co]
927%{py_scriptdir}/__pycache__/plistlib.cpython-*.py[co]
928%{py_scriptdir}/__pycache__/poplib.cpython-*.py[co]
929%{py_scriptdir}/__pycache__/pprint.cpython-*.py[co]
930%{py_scriptdir}/__pycache__/pty.cpython-*.py[co]
931%{py_scriptdir}/__pycache__/py_compile.cpython-*.py[co]
932%{py_scriptdir}/__pycache__/pyclbr.cpython-*.py[co]
933%{py_scriptdir}/__pycache__/queue.cpython-*.py[co]
934%{py_scriptdir}/__pycache__/quopri.cpython-*.py[co]
935%{py_scriptdir}/__pycache__/random.cpython-*.py[co]
936%{py_scriptdir}/__pycache__/rlcompleter.cpython-*.py[co]
937%{py_scriptdir}/__pycache__/runpy.cpython-*.py[co]
938%{py_scriptdir}/__pycache__/sched.cpython-*.py[co]
939%{py_scriptdir}/__pycache__/shelve.cpython-*.py[co]
940%{py_scriptdir}/__pycache__/shlex.cpython-*.py[co]
941%{py_scriptdir}/__pycache__/shutil.cpython-*.py[co]
942%{py_scriptdir}/__pycache__/smtpd.cpython-*.py[co]
943%{py_scriptdir}/__pycache__/smtplib.cpython-*.py[co]
944%{py_scriptdir}/__pycache__/sndhdr.cpython-*.py[co]
945%{py_scriptdir}/__pycache__/socket.cpython-*.py[co]
946%{py_scriptdir}/__pycache__/socketserver.cpython-*.py[co]
947%{py_scriptdir}/__pycache__/ssl.cpython-*.py[co]
948%{py_scriptdir}/__pycache__/string.cpython-*.py[co]
949%{py_scriptdir}/__pycache__/stringprep.cpython-*.py[co]
950%{py_scriptdir}/__pycache__/struct.cpython-*.py[co]
951%{py_scriptdir}/__pycache__/subprocess.cpython-*.py[co]
952%{py_scriptdir}/__pycache__/sunau.cpython-*.py[co]
953%{py_scriptdir}/__pycache__/symbol.cpython-*.py[co]
954%{py_scriptdir}/__pycache__/symtable.cpython-*.py[co]
955%{py_scriptdir}/__pycache__/tabnanny.cpython-*.py[co]
956%{py_scriptdir}/__pycache__/tarfile.cpython-*.py[co]
957%{py_scriptdir}/__pycache__/telnetlib.cpython-*.py[co]
958%{py_scriptdir}/__pycache__/tempfile.cpython-*.py[co]
959%{py_scriptdir}/__pycache__/textwrap.cpython-*.py[co]
960%{py_scriptdir}/__pycache__/this.cpython-*.py[co]
961%{py_scriptdir}/__pycache__/threading.cpython-*.py[co]
962%{py_scriptdir}/__pycache__/trace.cpython-*.py[co]
963%{py_scriptdir}/__pycache__/tty.cpython-*.py[co]
964%{py_scriptdir}/__pycache__/turtle.cpython-*.py[co]
965%{py_scriptdir}/__pycache__/uu.cpython-*.py[co]
966%{py_scriptdir}/__pycache__/uuid.cpython-*.py[co]
967%{py_scriptdir}/__pycache__/warnings.cpython-*.py[co]
968%{py_scriptdir}/__pycache__/wave.cpython-*.py[co]
969%{py_scriptdir}/__pycache__/webbrowser.cpython-*.py[co]
970%{py_scriptdir}/__pycache__/xdrlib.cpython-*.py[co]
971%{py_scriptdir}/__pycache__/zipfile.cpython-*.py[co]
9416f74d
AM
972
973#
974# list .so modules to be sure that all of them are built
975#
976
c7fdbe10 977%attr(755,root,root) %{py_dyndir}/_bisect.cpython-*.so
dfcf7c51 978%attr(755,root,root) %{py_dyndir}/_bz2.cpython-*.so
c7fdbe10
JB
979%attr(755,root,root) %{py_dyndir}/_codecs_cn.cpython-*.so
980%attr(755,root,root) %{py_dyndir}/_codecs_hk.cpython-*.so
981%attr(755,root,root) %{py_dyndir}/_codecs_iso2022.cpython-*.so
982%attr(755,root,root) %{py_dyndir}/_codecs_jp.cpython-*.so
983%attr(755,root,root) %{py_dyndir}/_codecs_kr.cpython-*.so
984%attr(755,root,root) %{py_dyndir}/_codecs_tw.cpython-*.so
dfcf7c51 985%attr(755,root,root) %{py_dyndir}/_crypt.cpython-*.so
c7fdbe10
JB
986%attr(755,root,root) %{py_dyndir}/_csv.cpython-*.so
987%attr(755,root,root) %{py_dyndir}/_ctypes*.cpython-*.so
988%attr(755,root,root) %{py_dyndir}/_curses_panel.cpython-*.so
989%attr(755,root,root) %{py_dyndir}/_curses.cpython-*.so
990%attr(755,root,root) %{py_dyndir}/_datetime.cpython-*.so
9416f74d 991%ifnarch sparc64
c7fdbe10 992%attr(755,root,root) %{py_dyndir}/_dbm.cpython-*.so
9416f74d 993%endif
dfcf7c51 994%attr(755,root,root) %{py_dyndir}/_decimal.cpython-*.so
c7fdbe10
JB
995%attr(755,root,root) %{py_dyndir}/_elementtree.cpython-*.so
996%attr(755,root,root) %{py_dyndir}/_gdbm.cpython-*.so
997%attr(755,root,root) %{py_dyndir}/_hashlib.cpython-*.so
998%attr(755,root,root) %{py_dyndir}/_heapq.cpython-*.so
999%attr(755,root,root) %{py_dyndir}/_json.cpython-*.so
1000%attr(755,root,root) %{py_dyndir}/_lsprof.cpython-*.so
dfcf7c51 1001%attr(755,root,root) %{py_dyndir}/_lzma.cpython-*.so
c7fdbe10
JB
1002%attr(755,root,root) %{py_dyndir}/_multibytecodec.cpython-*.so
1003%attr(755,root,root) %{py_dyndir}/_multiprocessing.cpython-*.so
1004%attr(755,root,root) %{py_dyndir}/_pickle.cpython-*.so
dceb7408 1005%attr(755,root,root) %{py_dyndir}/_posixsubprocess.cpython-*.so
c7fdbe10
JB
1006%attr(755,root,root) %{py_dyndir}/_random.cpython-*.so
1007%attr(755,root,root) %{py_dyndir}/_socket.cpython-*.so
1008%attr(755,root,root) %{py_dyndir}/_ssl.cpython-*.so
dfcf7c51 1009%attr(755,root,root) %{py_dyndir}/_testbuffer.cpython-*.so
c7fdbe10 1010%attr(755,root,root) %{py_dyndir}/_testcapi.cpython-*.so
b6994eba
ER
1011
1012# for openssl < 0.9.8 package sha256 and sha512 modules
1013%if 0%(pkg-config openssl --atleast-version=0.9.8; echo $?)
1014%attr(755,root,root) %{py_dyndir}/_sha256.cpython-*.so
1015%attr(755,root,root) %{py_dyndir}/_sha512.cpython-*.so
1016%endif
1017
c7fdbe10
JB
1018%attr(755,root,root) %{py_dyndir}/array.cpython-*.so
1019%attr(755,root,root) %{py_dyndir}/atexit.cpython-*.so
dceb7408 1020%attr(755,root,root) %{py_dyndir}/audioop.cpython-*.so
c7fdbe10 1021%attr(755,root,root) %{py_dyndir}/binascii.cpython-*.so
c7fdbe10 1022%attr(755,root,root) %{py_dyndir}/cmath.cpython-*.so
c7fdbe10
JB
1023%attr(755,root,root) %{py_dyndir}/fcntl.cpython-*.so
1024%attr(755,root,root) %{py_dyndir}/grp.cpython-*.so
1025%attr(755,root,root) %{py_dyndir}/math.cpython-*.so
1026%attr(755,root,root) %{py_dyndir}/mmap.cpython-*.so
1027%attr(755,root,root) %{py_dyndir}/nis.cpython-*.so
1028%attr(755,root,root) %{py_dyndir}/ossaudiodev.cpython-*.so
1029%attr(755,root,root) %{py_dyndir}/parser.cpython-*.so
1030%attr(755,root,root) %{py_dyndir}/pyexpat.cpython-*.so
1031%attr(755,root,root) %{py_dyndir}/readline.cpython-*.so
1032%attr(755,root,root) %{py_dyndir}/resource.cpython-*.so
1033%attr(755,root,root) %{py_dyndir}/select.cpython-*.so
1034%attr(755,root,root) %{py_dyndir}/syslog.cpython-*.so
1035%attr(755,root,root) %{py_dyndir}/termios.cpython-*.so
1036%attr(755,root,root) %{py_dyndir}/time.cpython-*.so
1037%attr(755,root,root) %{py_dyndir}/spwd.cpython-*.so
1038%attr(755,root,root) %{py_dyndir}/unicodedata.cpython-*.so
1039%attr(755,root,root) %{py_dyndir}/zlib.cpython-*.so
9416f74d
AM
1040
1041%dir %{py_scriptdir}/plat-*
dceb7408 1042%{py_scriptdir}/plat-*/__pycache__
1043%{py_scriptdir}/plat-*/*.py
1044
1045%{py_scriptdir}/concurrent
9416f74d 1046
9416f74d
AM
1047%dir %{py_scriptdir}/ctypes
1048%dir %{py_scriptdir}/ctypes/macholib
dceb7408 1049%{py_scriptdir}/ctypes/__pycache__
1050%{py_scriptdir}/ctypes/macholib/__pycache__
35ff21ac 1051
dceb7408 1052%{py_scriptdir}/ctypes/*.py
1053%{py_scriptdir}/ctypes/macholib/*.py
acd14a9e 1054%doc %{py_scriptdir}/ctypes/macholib/README.ctypes
9416f74d
AM
1055
1056%dir %{py_scriptdir}/curses
dceb7408 1057%{py_scriptdir}/curses/__pycache__
1058%{py_scriptdir}/curses/*.py
9416f74d 1059
acd14a9e 1060%dir %{py_scriptdir}/dbm
dceb7408 1061%{py_scriptdir}/dbm/__pycache__
1062%{py_scriptdir}/dbm/*.py
acd14a9e 1063
9416f74d
AM
1064%dir %{py_scriptdir}/distutils
1065%dir %{py_scriptdir}/distutils/command
acd14a9e 1066%doc %{py_scriptdir}/distutils/README
dceb7408 1067%{py_scriptdir}/distutils/__pycache__
1068%{py_scriptdir}/distutils/command/__pycache__
1069%{py_scriptdir}/distutils/*.py
1070%{py_scriptdir}/distutils/command/*.py
acd14a9e 1071%{py_scriptdir}/distutils/command/command_template
9416f74d
AM
1072
1073%dir %{py_scriptdir}/email
1074%dir %{py_scriptdir}/email/mime
dceb7408 1075%{py_scriptdir}/email/__pycache__
1076%{py_scriptdir}/email/mime/__pycache__
57557e58 1077%{py_scriptdir}/email/architecture.rst
dceb7408 1078%{py_scriptdir}/email/*.py
1079%{py_scriptdir}/email/mime/*.py
9416f74d 1080
acd14a9e 1081%dir %{py_scriptdir}/html
dceb7408 1082%{py_scriptdir}/html/*.py
1083%{py_scriptdir}/html/__pycache__
acd14a9e
AF
1084
1085%dir %{py_scriptdir}/http
dceb7408 1086%{py_scriptdir}/http/__pycache__
1087%{py_scriptdir}/http/*.py
acd14a9e 1088
9a22bc7d
JK
1089%dir %{py_scriptdir}/idlelib
1090
fef40d51 1091%dir %{py_scriptdir}/importlib
dceb7408 1092%{py_scriptdir}/importlib/__pycache__
1093%{py_scriptdir}/importlib/*.py
fef40d51 1094
acd14a9e 1095%dir %{py_scriptdir}/json
dceb7408 1096%{py_scriptdir}/json/__pycache__
1097%{py_scriptdir}/json/*.py
acd14a9e 1098
9416f74d 1099%dir %{py_scriptdir}/logging
dceb7408 1100%{py_scriptdir}/logging/__pycache__
1101%{py_scriptdir}/logging/*.py
9416f74d 1102
acd14a9e 1103%dir %{py_scriptdir}/multiprocessing
dceb7408 1104%{py_scriptdir}/multiprocessing/__pycache__
1105%{py_scriptdir}/multiprocessing/*.py
acd14a9e 1106%dir %{py_scriptdir}/multiprocessing/dummy
dceb7408 1107%{py_scriptdir}/multiprocessing/dummy/__pycache__
1108%{py_scriptdir}/multiprocessing/dummy/*.py
1109
1110%{py_scriptdir}/turtledemo
9a22bc7d
JK
1111
1112%dir %{py_scriptdir}/unittest
1113%{py_scriptdir}/unittest/__pycache__
1114%{py_scriptdir}/unittest/*.py
acd14a9e
AF
1115
1116%dir %{py_scriptdir}/urllib
dceb7408 1117%{py_scriptdir}/urllib/__pycache__
1118%{py_scriptdir}/urllib/*.py
acd14a9e 1119
dfcf7c51
AM
1120%dir %{py_scriptdir}/venv
1121%{py_scriptdir}/venv/__pycache__
1122%{py_scriptdir}/venv/*.py
1123%dir %{py_scriptdir}/venv/scripts
1124%dir %{py_scriptdir}/venv/scripts/posix
1125%{py_scriptdir}/venv/scripts/posix/activate
dfcf7c51 1126
9416f74d 1127%dir %{py_scriptdir}/wsgiref
dceb7408 1128%{py_scriptdir}/wsgiref/__pycache__
1129%{py_scriptdir}/wsgiref/*.py
9416f74d
AM
1130
1131%dir %{py_scriptdir}/xml
1132%dir %{py_scriptdir}/xml/dom
1133%dir %{py_scriptdir}/xml/etree
1134%dir %{py_scriptdir}/xml/parsers
1135%dir %{py_scriptdir}/xml/sax
dceb7408 1136%{py_scriptdir}/xml/__pycache__
1137%{py_scriptdir}/xml/dom/__pycache__
1138%{py_scriptdir}/xml/etree/__pycache__
1139%{py_scriptdir}/xml/parsers/__pycache__
1140%{py_scriptdir}/xml/sax/__pycache__
1141%{py_scriptdir}/xml/*.py
1142%{py_scriptdir}/xml/dom/*.py
1143%{py_scriptdir}/xml/etree/*.py
1144%{py_scriptdir}/xml/parsers/*.py
1145%{py_scriptdir}/xml/sax/*.py
9416f74d 1146
acd14a9e 1147%dir %{py_scriptdir}/xmlrpc
dceb7408 1148%{py_scriptdir}/xmlrpc/__pycache__
1149%{py_scriptdir}/xmlrpc/*.py
acd14a9e 1150
c7fdbe10 1151%attr(755,root,root) %{py_dyndir}/_sqlite3.cpython-*.so
9416f74d 1152%dir %{py_scriptdir}/sqlite3
dceb7408 1153%{py_scriptdir}/sqlite3/__pycache__
1154%{py_scriptdir}/sqlite3/*.py
9416f74d 1155
2072c60e 1156%files -n pydoc3
9416f74d 1157%defattr(644,root,root,755)
19221b23 1158%attr(755,root,root) %{_bindir}/pydoc3
dfcf7c51 1159%attr(755,root,root) %{_bindir}/pydoc3.3
dceb7408 1160%{py_scriptdir}/pydoc.py
a98780c2 1161%{py_scriptdir}/__pycache__/pydoc.cpython-*.py[co]
fef40d51 1162%dir %{py_scriptdir}/pydoc_data
dceb7408 1163%{py_scriptdir}/pydoc_data/__pycache__
1164%{py_scriptdir}/pydoc_data/*.py
1165%{py_scriptdir}/pydoc_data/*.css
9416f74d 1166
2072c60e 1167%files -n idle3
9416f74d 1168%defattr(644,root,root,755)
19221b23 1169%attr(755,root,root) %{_bindir}/idle3
dfcf7c51 1170%attr(755,root,root) %{_bindir}/idle3.3
9416f74d 1171%dir %{py_scriptdir}/idlelib/Icons
dceb7408 1172%{py_scriptdir}/idlelib/__pycache__
1173%{py_scriptdir}/idlelib/*.py
acd14a9e
AF
1174%doc %{py_scriptdir}/idlelib/*.txt
1175%doc %{py_scriptdir}/idlelib/ChangeLog
9416f74d
AM
1176%{py_scriptdir}/idlelib/Icons/*
1177%{py_scriptdir}/idlelib/*.def
1178
1179%files devel
1180%defattr(644,root,root,755)
1181%doc Misc/{ACKS,NEWS,README,README.valgrind,valgrind-python.supp}
c7fdbe10
JB
1182%attr(755,root,root) %{_bindir}/python%{py_ver}-config
1183%attr(755,root,root) %{_bindir}/python%{py_abi}-config
1184%attr(755,root,root) %{_bindir}/python3-config
1185%attr(755,root,root) %{_libdir}/libpython%{py_abi}.so
1186%attr(755,root,root) %{_libdir}/libpython3.so
9416f74d 1187%{py_incdir}/*.h
002ac285 1188%exclude %{py_incdir}/pyconfig.h
32e6a38e
JB
1189%attr(755,root,root) %{py_libdir}/config-%{py_abi}/makesetup
1190%attr(755,root,root) %{py_libdir}/config-%{py_abi}/install-sh
1191%{py_libdir}/config-%{py_abi}/config.c
1192%{py_libdir}/config-%{py_abi}/config.c.in
1193%{py_libdir}/config-%{py_abi}/python.o
c7fdbe10 1194%{_pkgconfigdir}/python-%{py_ver}.pc
d0324804
JB
1195%{_pkgconfigdir}/python-%{py_abi}.pc
1196%{_pkgconfigdir}/python3.pc
c7fdbe10 1197
9416f74d
AM
1198%files devel-tools
1199%defattr(644,root,root,755)
24586eb0 1200/etc/shrc.d/python*-devel*
24586eb0 1201%attr(755,root,root) %{_bindir}/pygettext%{py_ver}
dceb7408 1202%{py_scriptdir}/pdb.py
1203%{py_scriptdir}/profile.py
1204%{py_scriptdir}/pstats.py
1205%{py_scriptdir}/timeit.py
a98780c2
AM
1206%{py_scriptdir}/__pycache__/pdb.cpython-*.py[co]
1207%{py_scriptdir}/__pycache__/profile.cpython-*.py[co]
1208%{py_scriptdir}/__pycache__/pstats.cpython-*.py[co]
1209%{py_scriptdir}/__pycache__/timeit.cpython-*.py[co]
9416f74d 1210
30b0ff7b 1211%files 2to3
eb7b678c 1212%attr(755,root,root) %{_bindir}/2to3-%{py_ver}
30b0ff7b 1213%dir %{py_scriptdir}/lib2to3
dceb7408 1214%{py_scriptdir}/lib2to3/__pycache__
30b0ff7b
AF
1215%{py_scriptdir}/lib2to3/*.txt
1216%{py_scriptdir}/lib2to3/*.pickle
dceb7408 1217%{py_scriptdir}/lib2to3/*.py
30b0ff7b 1218%dir %{py_scriptdir}/lib2to3/fixes
dceb7408 1219%{py_scriptdir}/lib2to3/fixes/__pycache__
be43ead0 1220%{py_scriptdir}/lib2to3/fixes/*.py
30b0ff7b 1221%dir %{py_scriptdir}/lib2to3/pgen2
dceb7408 1222%{py_scriptdir}/lib2to3/pgen2/__pycache__
1223%{py_scriptdir}/lib2to3/pgen2/*.py
30b0ff7b 1224
9416f74d
AM
1225%files static
1226%defattr(644,root,root,755)
6eede82b 1227%{_libdir}/libpython%{py_abi}.a
9416f74d
AM
1228
1229%files examples
1230%defattr(644,root,root,755)
1231%{_examplesdir}/%{name}-%{version}
1232
9a22bc7d
JK
1233%files test
1234%{py_scriptdir}/idlelib/idle_test
1235%{py_scriptdir}/test
1236%{py_scriptdir}/ctypes/test
1237%{py_scriptdir}/distutils/tests
1238%{py_scriptdir}/lib2to3/tests
1239%{py_scriptdir}/sqlite3/test
1240%{py_scriptdir}/tkinter/test
1241%{py_scriptdir}/unittest/test
1242
9416f74d
AM
1243%if %{with info}
1244%files doc-info
1245%defattr(644,root,root,755)
1246%{_infodir}/*.info*
1247%endif
1248
1249%if %{with tkinter}
1250%files tkinter
1251%defattr(644,root,root,755)
acd14a9e 1252%dir %{py_scriptdir}/tkinter
dceb7408 1253%{py_scriptdir}/tkinter/__pycache__
1254%{py_scriptdir}/tkinter/*.py
c7fdbe10 1255%attr(755,root,root) %{py_dyndir}/_tkinter.cpython-*.so
9416f74d 1256%endif
This page took 0.38834 seconds and 4 git commands to generate.