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