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