]> git.pld-linux.org Git - packages/python3.git/blame - python3.spec
- removed outdated todo item
[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
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 625%{_mandir}/man1/python%{py_ver}.1*
57557e58 626%{_mandir}/man1/python3.1*
c7fdbe10
JB
627
628%files libs
629%defattr(644,root,root,755)
630%doc LICENSE
631%attr(755,root,root) %{_libdir}/libpython%{py_abi}.so.*.*
632
002ac285
AM
633%dir %{py_incdir}
634%{py_incdir}/pyconfig.h
635
c7fdbe10
JB
636%dir %{py_libdir}
637%dir %{py_dyndir}
638%dir %{py_sitedir}
12ba957c 639%dir %{py_sitedir}/__pycache__
c7fdbe10 640%dir %{py_scriptdir}
32e6a38e 641%dir %{py_scriptdir}/__pycache__
c7fdbe10 642%dir %{py_sitescriptdir}
12ba957c 643%dir %{py_sitescriptdir}/__pycache__
c7fdbe10
JB
644
645# shared modules required by python library
646%attr(755,root,root) %{py_dyndir}/_struct.cpython-*.so
647
648# modules required by python library
dfcf7c51 649%{py_scriptdir}/_sysconfigdata.py
dceb7408 650%{py_scriptdir}/_weakrefset.py
651%{py_scriptdir}/abc.py
002ac285 652%{py_scriptdir}/bisect.py
dceb7408 653%{py_scriptdir}/codecs.py
654%{py_scriptdir}/copyreg.py
002ac285 655%{py_scriptdir}/functools.py
dceb7408 656%{py_scriptdir}/genericpath.py
002ac285
AM
657%{py_scriptdir}/heapq.py
658%{py_scriptdir}/keyword.py
659%{py_scriptdir}/linecache.py
dceb7408 660%{py_scriptdir}/locale.py
661%{py_scriptdir}/io.py
662%{py_scriptdir}/posixpath.py
002ac285
AM
663%{py_scriptdir}/re.py
664%{py_scriptdir}/reprlib.py
dceb7408 665%{py_scriptdir}/site.py
002ac285 666%{py_scriptdir}/sre_*.py
dceb7408 667%{py_scriptdir}/stat.py
8bfb6496 668%{py_scriptdir}/sysconfig.py
002ac285
AM
669%{py_scriptdir}/token.py
670%{py_scriptdir}/tokenize.py
671%{py_scriptdir}/traceback.py
672%{py_scriptdir}/weakref.py
dceb7408 673%{py_scriptdir}/os.py
c7fdbe10 674# needed by the dynamic sys.lib patch
dceb7408 675%{py_scriptdir}/types.py
dfcf7c51 676%{py_scriptdir}/__pycache__/_sysconfigdata.cpython-*.py[co]
a98780c2
AM
677%{py_scriptdir}/__pycache__/_weakrefset.cpython-*.py[co]
678%{py_scriptdir}/__pycache__/abc.cpython-*.py[co]
679%{py_scriptdir}/__pycache__/bisect.cpython-*.py[co]
680%{py_scriptdir}/__pycache__/codecs.cpython-*.py[co]
a98780c2
AM
681%{py_scriptdir}/__pycache__/copyreg.cpython-*.py[co]
682%{py_scriptdir}/__pycache__/functools.cpython-*.py[co]
683%{py_scriptdir}/__pycache__/genericpath.cpython-*.py[co]
684%{py_scriptdir}/__pycache__/heapq.cpython-*.py[co]
685%{py_scriptdir}/__pycache__/keyword.cpython-*.py[co]
686%{py_scriptdir}/__pycache__/linecache.cpython-*.py[co]
687%{py_scriptdir}/__pycache__/locale.cpython-*.py[co]
688%{py_scriptdir}/__pycache__/io.cpython-*.py[co]
689%{py_scriptdir}/__pycache__/posixpath.cpython-*.py[co]
690%{py_scriptdir}/__pycache__/re.cpython-*.py[co]
691%{py_scriptdir}/__pycache__/reprlib.cpython-*.py[co]
692%{py_scriptdir}/__pycache__/site.cpython-*.py[co]
693%{py_scriptdir}/__pycache__/sre_*.cpython-*.py[co]
694%{py_scriptdir}/__pycache__/stat.cpython-*.py[co]
695%{py_scriptdir}/__pycache__/sysconfig.cpython-*.py[co]
696%{py_scriptdir}/__pycache__/token.cpython-*.py[co]
697%{py_scriptdir}/__pycache__/tokenize.cpython-*.py[co]
698%{py_scriptdir}/__pycache__/traceback.cpython-*.py[co]
699%{py_scriptdir}/__pycache__/weakref.cpython-*.py[co]
700%{py_scriptdir}/__pycache__/os.cpython-*.py[co]
701%{py_scriptdir}/__pycache__/types.cpython-*.py[co]
c7fdbe10 702
dfcf7c51
AM
703%{py_scriptdir}/collections
704
c7fdbe10
JB
705# encodings required by python library
706%dir %{py_scriptdir}/encodings
dceb7408 707%{py_scriptdir}/encodings/__pycache__
708%{py_scriptdir}/encodings/*.py
9416f74d 709
d91cfa38 710%dir %{py_libdir}/config-%{py_abi}
d91cfa38
JK
711%{py_libdir}/config-%{py_abi}/Makefile
712%{py_libdir}/config-%{py_abi}/Setup
713%{py_libdir}/config-%{py_abi}/Setup.config
714%{py_libdir}/config-%{py_abi}/Setup.local
d91cfa38 715
9416f74d
AM
716%files modules
717%defattr(644,root,root,755)
24586eb0 718/etc/shrc.d/python*-modules*
dfcf7c51
AM
719%attr(755,root,root) %{_bindir}/pyvenv
720%attr(755,root,root) %{_bindir}/pyvenv-3.3
32e6a38e
JB
721%{py_scriptdir}/__future__.py
722%{py_scriptdir}/__phello__.foo.py
723%{py_scriptdir}/_compat_pickle.py
724%{py_scriptdir}/_dummy_thread.py
725%{py_scriptdir}/_markupbase.py
dfcf7c51 726%{py_scriptdir}/_osx_support.py
32e6a38e
JB
727%{py_scriptdir}/_pyio.py
728%{py_scriptdir}/_strptime.py
729%{py_scriptdir}/_threading_local.py
730%{py_scriptdir}/aifc.py
731%{py_scriptdir}/antigravity.py
732%{py_scriptdir}/argparse.py
733%{py_scriptdir}/ast.py
734%{py_scriptdir}/asynchat.py
735%{py_scriptdir}/asyncore.py
736%{py_scriptdir}/base64.py
737%{py_scriptdir}/bdb.py
738%{py_scriptdir}/binhex.py
dfcf7c51 739%{py_scriptdir}/bz2.py
32e6a38e
JB
740%{py_scriptdir}/cProfile.py
741%{py_scriptdir}/calendar.py
742%{py_scriptdir}/cgi.py
743%{py_scriptdir}/cgitb.py
744%{py_scriptdir}/chunk.py
745%{py_scriptdir}/cmd.py
746%{py_scriptdir}/code.py
747%{py_scriptdir}/codeop.py
748%{py_scriptdir}/colorsys.py
749%{py_scriptdir}/compileall.py
750%{py_scriptdir}/configparser.py
751%{py_scriptdir}/contextlib.py
752%{py_scriptdir}/copy.py
dfcf7c51 753%{py_scriptdir}/crypt.py
32e6a38e
JB
754%{py_scriptdir}/csv.py
755%{py_scriptdir}/datetime.py
756%{py_scriptdir}/decimal.py
757%{py_scriptdir}/difflib.py
758%{py_scriptdir}/dis.py
759%{py_scriptdir}/doctest.py
760%{py_scriptdir}/dummy_threading.py
761%{py_scriptdir}/filecmp.py
762%{py_scriptdir}/fileinput.py
763%{py_scriptdir}/fnmatch.py
764%{py_scriptdir}/formatter.py
765%{py_scriptdir}/fractions.py
766%{py_scriptdir}/ftplib.py
767%{py_scriptdir}/getopt.py
768%{py_scriptdir}/getpass.py
769%{py_scriptdir}/gettext.py
770%{py_scriptdir}/glob.py
771%{py_scriptdir}/gzip.py
772%{py_scriptdir}/hashlib.py
773%{py_scriptdir}/hmac.py
774%{py_scriptdir}/imaplib.py
775%{py_scriptdir}/imghdr.py
dfcf7c51 776%{py_scriptdir}/imp.py
32e6a38e 777%{py_scriptdir}/inspect.py
dfcf7c51
AM
778%{py_scriptdir}/ipaddress.py
779%{py_scriptdir}/lzma.py
32e6a38e
JB
780%{py_scriptdir}/macpath.py
781%{py_scriptdir}/macurl2path.py
782%{py_scriptdir}/mailbox.py
783%{py_scriptdir}/mailcap.py
784%{py_scriptdir}/mimetypes.py
785%{py_scriptdir}/modulefinder.py
786%{py_scriptdir}/netrc.py
787%{py_scriptdir}/nntplib.py
788%{py_scriptdir}/ntpath.py
789%{py_scriptdir}/nturl2path.py
790%{py_scriptdir}/numbers.py
791%{py_scriptdir}/opcode.py
792%{py_scriptdir}/optparse.py
793%{py_scriptdir}/os2emxpath.py
794%{py_scriptdir}/pickle.py
795%{py_scriptdir}/pickletools.py
796%{py_scriptdir}/pipes.py
797%{py_scriptdir}/pkgutil.py
798%{py_scriptdir}/platform.py
799%{py_scriptdir}/plistlib.py
800%{py_scriptdir}/poplib.py
801%{py_scriptdir}/pprint.py
802%{py_scriptdir}/pty.py
803%{py_scriptdir}/py_compile.py
804%{py_scriptdir}/pyclbr.py
805%{py_scriptdir}/queue.py
806%{py_scriptdir}/quopri.py
807%{py_scriptdir}/random.py
808%{py_scriptdir}/rlcompleter.py
809%{py_scriptdir}/runpy.py
810%{py_scriptdir}/sched.py
811%{py_scriptdir}/shelve.py
812%{py_scriptdir}/shlex.py
813%{py_scriptdir}/shutil.py
814%{py_scriptdir}/smtpd.py
815%{py_scriptdir}/smtplib.py
816%{py_scriptdir}/sndhdr.py
817%{py_scriptdir}/socket.py
818%{py_scriptdir}/socketserver.py
819%{py_scriptdir}/ssl.py
820%{py_scriptdir}/string.py
821%{py_scriptdir}/stringprep.py
822%{py_scriptdir}/struct.py
823%{py_scriptdir}/subprocess.py
824%{py_scriptdir}/sunau.py
825%{py_scriptdir}/symbol.py
826%{py_scriptdir}/symtable.py
827%{py_scriptdir}/tabnanny.py
828%{py_scriptdir}/tarfile.py
829%{py_scriptdir}/telnetlib.py
830%{py_scriptdir}/tempfile.py
831%{py_scriptdir}/textwrap.py
832%{py_scriptdir}/this.py
833%{py_scriptdir}/threading.py
834%{py_scriptdir}/trace.py
835%{py_scriptdir}/tty.py
836%{py_scriptdir}/turtle.py
837%{py_scriptdir}/uu.py
838%{py_scriptdir}/uuid.py
839%{py_scriptdir}/warnings.py
840%{py_scriptdir}/wave.py
841%{py_scriptdir}/webbrowser.py
842%{py_scriptdir}/xdrlib.py
843%{py_scriptdir}/zipfile.py
a98780c2 844%{py_scriptdir}/__pycache__/__future__.cpython-*.py[co]
dfcf7c51 845%{py_scriptdir}/__pycache__/__phello__.cpython-*.py[co]
a98780c2
AM
846%{py_scriptdir}/__pycache__/_compat_pickle.cpython-*.py[co]
847%{py_scriptdir}/__pycache__/_dummy_thread.cpython-*.py[co]
848%{py_scriptdir}/__pycache__/_markupbase.cpython-*.py[co]
dfcf7c51 849%{py_scriptdir}/__pycache__/_osx_support.cpython-*.py[co]
a98780c2
AM
850%{py_scriptdir}/__pycache__/_pyio.cpython-*.py[co]
851%{py_scriptdir}/__pycache__/_strptime.cpython-*.py[co]
852%{py_scriptdir}/__pycache__/_threading_local.cpython-*.py[co]
853%{py_scriptdir}/__pycache__/aifc.cpython-*.py[co]
854%{py_scriptdir}/__pycache__/antigravity.cpython-*.py[co]
855%{py_scriptdir}/__pycache__/argparse.cpython-*.py[co]
856%{py_scriptdir}/__pycache__/ast.cpython-*.py[co]
857%{py_scriptdir}/__pycache__/asynchat.cpython-*.py[co]
858%{py_scriptdir}/__pycache__/asyncore.cpython-*.py[co]
859%{py_scriptdir}/__pycache__/base64.cpython-*.py[co]
860%{py_scriptdir}/__pycache__/bdb.cpython-*.py[co]
861%{py_scriptdir}/__pycache__/binhex.cpython-*.py[co]
dfcf7c51 862%{py_scriptdir}/__pycache__/bz2.cpython-*.py[co]
a98780c2
AM
863%{py_scriptdir}/__pycache__/cProfile.cpython-*.py[co]
864%{py_scriptdir}/__pycache__/calendar.cpython-*.py[co]
865%{py_scriptdir}/__pycache__/cgi.cpython-*.py[co]
866%{py_scriptdir}/__pycache__/cgitb.cpython-*.py[co]
867%{py_scriptdir}/__pycache__/chunk.cpython-*.py[co]
868%{py_scriptdir}/__pycache__/cmd.cpython-*.py[co]
869%{py_scriptdir}/__pycache__/code.cpython-*.py[co]
870%{py_scriptdir}/__pycache__/codeop.cpython-*.py[co]
871%{py_scriptdir}/__pycache__/colorsys.cpython-*.py[co]
872%{py_scriptdir}/__pycache__/compileall.cpython-*.py[co]
873%{py_scriptdir}/__pycache__/configparser.cpython-*.py[co]
874%{py_scriptdir}/__pycache__/contextlib.cpython-*.py[co]
875%{py_scriptdir}/__pycache__/copy.cpython-*.py[co]
dfcf7c51 876%{py_scriptdir}/__pycache__/crypt.cpython-*.py[co]
a98780c2
AM
877%{py_scriptdir}/__pycache__/csv.cpython-*.py[co]
878%{py_scriptdir}/__pycache__/datetime.cpython-*.py[co]
879%{py_scriptdir}/__pycache__/decimal.cpython-*.py[co]
880%{py_scriptdir}/__pycache__/difflib.cpython-*.py[co]
881%{py_scriptdir}/__pycache__/dis.cpython-*.py[co]
882%{py_scriptdir}/__pycache__/doctest.cpython-*.py[co]
883%{py_scriptdir}/__pycache__/dummy_threading.cpython-*.py[co]
884%{py_scriptdir}/__pycache__/filecmp.cpython-*.py[co]
885%{py_scriptdir}/__pycache__/fileinput.cpython-*.py[co]
886%{py_scriptdir}/__pycache__/fnmatch.cpython-*.py[co]
887%{py_scriptdir}/__pycache__/formatter.cpython-*.py[co]
888%{py_scriptdir}/__pycache__/fractions.cpython-*.py[co]
889%{py_scriptdir}/__pycache__/ftplib.cpython-*.py[co]
890%{py_scriptdir}/__pycache__/getopt.cpython-*.py[co]
891%{py_scriptdir}/__pycache__/getpass.cpython-*.py[co]
892%{py_scriptdir}/__pycache__/gettext.cpython-*.py[co]
893%{py_scriptdir}/__pycache__/glob.cpython-*.py[co]
894%{py_scriptdir}/__pycache__/gzip.cpython-*.py[co]
895%{py_scriptdir}/__pycache__/hashlib.cpython-*.py[co]
896%{py_scriptdir}/__pycache__/hmac.cpython-*.py[co]
897%{py_scriptdir}/__pycache__/imaplib.cpython-*.py[co]
898%{py_scriptdir}/__pycache__/imghdr.cpython-*.py[co]
dfcf7c51 899%{py_scriptdir}/__pycache__/imp.cpython-*.py[co]
a98780c2 900%{py_scriptdir}/__pycache__/inspect.cpython-*.py[co]
dfcf7c51
AM
901%{py_scriptdir}/__pycache__/ipaddress.cpython-*.py[co]
902%{py_scriptdir}/__pycache__/lzma.cpython-*.py[co]
a98780c2
AM
903%{py_scriptdir}/__pycache__/macpath.cpython-*.py[co]
904%{py_scriptdir}/__pycache__/macurl2path.cpython-*.py[co]
905%{py_scriptdir}/__pycache__/mailbox.cpython-*.py[co]
906%{py_scriptdir}/__pycache__/mailcap.cpython-*.py[co]
907%{py_scriptdir}/__pycache__/mimetypes.cpython-*.py[co]
908%{py_scriptdir}/__pycache__/modulefinder.cpython-*.py[co]
909%{py_scriptdir}/__pycache__/netrc.cpython-*.py[co]
910%{py_scriptdir}/__pycache__/nntplib.cpython-*.py[co]
911%{py_scriptdir}/__pycache__/ntpath.cpython-*.py[co]
912%{py_scriptdir}/__pycache__/nturl2path.cpython-*.py[co]
913%{py_scriptdir}/__pycache__/numbers.cpython-*.py[co]
914%{py_scriptdir}/__pycache__/opcode.cpython-*.py[co]
915%{py_scriptdir}/__pycache__/optparse.cpython-*.py[co]
916%{py_scriptdir}/__pycache__/os2emxpath.cpython-*.py[co]
917%{py_scriptdir}/__pycache__/pickle.cpython-*.py[co]
918%{py_scriptdir}/__pycache__/pickletools.cpython-*.py[co]
919%{py_scriptdir}/__pycache__/pipes.cpython-*.py[co]
920%{py_scriptdir}/__pycache__/pkgutil.cpython-*.py[co]
921%{py_scriptdir}/__pycache__/platform.cpython-*.py[co]
922%{py_scriptdir}/__pycache__/plistlib.cpython-*.py[co]
923%{py_scriptdir}/__pycache__/poplib.cpython-*.py[co]
924%{py_scriptdir}/__pycache__/pprint.cpython-*.py[co]
925%{py_scriptdir}/__pycache__/pty.cpython-*.py[co]
926%{py_scriptdir}/__pycache__/py_compile.cpython-*.py[co]
927%{py_scriptdir}/__pycache__/pyclbr.cpython-*.py[co]
928%{py_scriptdir}/__pycache__/queue.cpython-*.py[co]
929%{py_scriptdir}/__pycache__/quopri.cpython-*.py[co]
930%{py_scriptdir}/__pycache__/random.cpython-*.py[co]
931%{py_scriptdir}/__pycache__/rlcompleter.cpython-*.py[co]
932%{py_scriptdir}/__pycache__/runpy.cpython-*.py[co]
933%{py_scriptdir}/__pycache__/sched.cpython-*.py[co]
934%{py_scriptdir}/__pycache__/shelve.cpython-*.py[co]
935%{py_scriptdir}/__pycache__/shlex.cpython-*.py[co]
936%{py_scriptdir}/__pycache__/shutil.cpython-*.py[co]
937%{py_scriptdir}/__pycache__/smtpd.cpython-*.py[co]
938%{py_scriptdir}/__pycache__/smtplib.cpython-*.py[co]
939%{py_scriptdir}/__pycache__/sndhdr.cpython-*.py[co]
940%{py_scriptdir}/__pycache__/socket.cpython-*.py[co]
941%{py_scriptdir}/__pycache__/socketserver.cpython-*.py[co]
942%{py_scriptdir}/__pycache__/ssl.cpython-*.py[co]
943%{py_scriptdir}/__pycache__/string.cpython-*.py[co]
944%{py_scriptdir}/__pycache__/stringprep.cpython-*.py[co]
945%{py_scriptdir}/__pycache__/struct.cpython-*.py[co]
946%{py_scriptdir}/__pycache__/subprocess.cpython-*.py[co]
947%{py_scriptdir}/__pycache__/sunau.cpython-*.py[co]
948%{py_scriptdir}/__pycache__/symbol.cpython-*.py[co]
949%{py_scriptdir}/__pycache__/symtable.cpython-*.py[co]
950%{py_scriptdir}/__pycache__/tabnanny.cpython-*.py[co]
951%{py_scriptdir}/__pycache__/tarfile.cpython-*.py[co]
952%{py_scriptdir}/__pycache__/telnetlib.cpython-*.py[co]
953%{py_scriptdir}/__pycache__/tempfile.cpython-*.py[co]
954%{py_scriptdir}/__pycache__/textwrap.cpython-*.py[co]
955%{py_scriptdir}/__pycache__/this.cpython-*.py[co]
956%{py_scriptdir}/__pycache__/threading.cpython-*.py[co]
957%{py_scriptdir}/__pycache__/trace.cpython-*.py[co]
958%{py_scriptdir}/__pycache__/tty.cpython-*.py[co]
959%{py_scriptdir}/__pycache__/turtle.cpython-*.py[co]
960%{py_scriptdir}/__pycache__/uu.cpython-*.py[co]
961%{py_scriptdir}/__pycache__/uuid.cpython-*.py[co]
962%{py_scriptdir}/__pycache__/warnings.cpython-*.py[co]
963%{py_scriptdir}/__pycache__/wave.cpython-*.py[co]
964%{py_scriptdir}/__pycache__/webbrowser.cpython-*.py[co]
965%{py_scriptdir}/__pycache__/xdrlib.cpython-*.py[co]
966%{py_scriptdir}/__pycache__/zipfile.cpython-*.py[co]
9416f74d
AM
967
968#
969# list .so modules to be sure that all of them are built
970#
971
c7fdbe10 972%attr(755,root,root) %{py_dyndir}/_bisect.cpython-*.so
dfcf7c51 973%attr(755,root,root) %{py_dyndir}/_bz2.cpython-*.so
c7fdbe10
JB
974%attr(755,root,root) %{py_dyndir}/_codecs_cn.cpython-*.so
975%attr(755,root,root) %{py_dyndir}/_codecs_hk.cpython-*.so
976%attr(755,root,root) %{py_dyndir}/_codecs_iso2022.cpython-*.so
977%attr(755,root,root) %{py_dyndir}/_codecs_jp.cpython-*.so
978%attr(755,root,root) %{py_dyndir}/_codecs_kr.cpython-*.so
979%attr(755,root,root) %{py_dyndir}/_codecs_tw.cpython-*.so
dfcf7c51 980%attr(755,root,root) %{py_dyndir}/_crypt.cpython-*.so
c7fdbe10
JB
981%attr(755,root,root) %{py_dyndir}/_csv.cpython-*.so
982%attr(755,root,root) %{py_dyndir}/_ctypes*.cpython-*.so
983%attr(755,root,root) %{py_dyndir}/_curses_panel.cpython-*.so
984%attr(755,root,root) %{py_dyndir}/_curses.cpython-*.so
985%attr(755,root,root) %{py_dyndir}/_datetime.cpython-*.so
9416f74d 986%ifnarch sparc64
c7fdbe10 987%attr(755,root,root) %{py_dyndir}/_dbm.cpython-*.so
9416f74d 988%endif
dfcf7c51 989%attr(755,root,root) %{py_dyndir}/_decimal.cpython-*.so
c7fdbe10
JB
990%attr(755,root,root) %{py_dyndir}/_elementtree.cpython-*.so
991%attr(755,root,root) %{py_dyndir}/_gdbm.cpython-*.so
992%attr(755,root,root) %{py_dyndir}/_hashlib.cpython-*.so
993%attr(755,root,root) %{py_dyndir}/_heapq.cpython-*.so
994%attr(755,root,root) %{py_dyndir}/_json.cpython-*.so
995%attr(755,root,root) %{py_dyndir}/_lsprof.cpython-*.so
dfcf7c51 996%attr(755,root,root) %{py_dyndir}/_lzma.cpython-*.so
c7fdbe10
JB
997%attr(755,root,root) %{py_dyndir}/_multibytecodec.cpython-*.so
998%attr(755,root,root) %{py_dyndir}/_multiprocessing.cpython-*.so
999%attr(755,root,root) %{py_dyndir}/_pickle.cpython-*.so
dceb7408 1000%attr(755,root,root) %{py_dyndir}/_posixsubprocess.cpython-*.so
c7fdbe10
JB
1001%attr(755,root,root) %{py_dyndir}/_random.cpython-*.so
1002%attr(755,root,root) %{py_dyndir}/_socket.cpython-*.so
1003%attr(755,root,root) %{py_dyndir}/_ssl.cpython-*.so
dfcf7c51 1004%attr(755,root,root) %{py_dyndir}/_testbuffer.cpython-*.so
c7fdbe10 1005%attr(755,root,root) %{py_dyndir}/_testcapi.cpython-*.so
b6994eba
ER
1006
1007# for openssl < 0.9.8 package sha256 and sha512 modules
1008%if 0%(pkg-config openssl --atleast-version=0.9.8; echo $?)
1009%attr(755,root,root) %{py_dyndir}/_sha256.cpython-*.so
1010%attr(755,root,root) %{py_dyndir}/_sha512.cpython-*.so
1011%endif
1012
c7fdbe10
JB
1013%attr(755,root,root) %{py_dyndir}/array.cpython-*.so
1014%attr(755,root,root) %{py_dyndir}/atexit.cpython-*.so
dceb7408 1015%attr(755,root,root) %{py_dyndir}/audioop.cpython-*.so
c7fdbe10 1016%attr(755,root,root) %{py_dyndir}/binascii.cpython-*.so
c7fdbe10 1017%attr(755,root,root) %{py_dyndir}/cmath.cpython-*.so
c7fdbe10
JB
1018%attr(755,root,root) %{py_dyndir}/fcntl.cpython-*.so
1019%attr(755,root,root) %{py_dyndir}/grp.cpython-*.so
1020%attr(755,root,root) %{py_dyndir}/math.cpython-*.so
1021%attr(755,root,root) %{py_dyndir}/mmap.cpython-*.so
1022%attr(755,root,root) %{py_dyndir}/nis.cpython-*.so
1023%attr(755,root,root) %{py_dyndir}/ossaudiodev.cpython-*.so
1024%attr(755,root,root) %{py_dyndir}/parser.cpython-*.so
1025%attr(755,root,root) %{py_dyndir}/pyexpat.cpython-*.so
1026%attr(755,root,root) %{py_dyndir}/readline.cpython-*.so
1027%attr(755,root,root) %{py_dyndir}/resource.cpython-*.so
1028%attr(755,root,root) %{py_dyndir}/select.cpython-*.so
1029%attr(755,root,root) %{py_dyndir}/syslog.cpython-*.so
1030%attr(755,root,root) %{py_dyndir}/termios.cpython-*.so
1031%attr(755,root,root) %{py_dyndir}/time.cpython-*.so
1032%attr(755,root,root) %{py_dyndir}/spwd.cpython-*.so
1033%attr(755,root,root) %{py_dyndir}/unicodedata.cpython-*.so
1034%attr(755,root,root) %{py_dyndir}/zlib.cpython-*.so
9416f74d
AM
1035
1036%dir %{py_scriptdir}/plat-*
dceb7408 1037%{py_scriptdir}/plat-*/__pycache__
1038%{py_scriptdir}/plat-*/*.py
1039
1040%{py_scriptdir}/concurrent
9416f74d 1041
9416f74d
AM
1042%dir %{py_scriptdir}/ctypes
1043%dir %{py_scriptdir}/ctypes/macholib
dceb7408 1044%{py_scriptdir}/ctypes/__pycache__
1045%{py_scriptdir}/ctypes/macholib/__pycache__
35ff21ac 1046
dceb7408 1047%{py_scriptdir}/ctypes/*.py
1048%{py_scriptdir}/ctypes/macholib/*.py
acd14a9e 1049%doc %{py_scriptdir}/ctypes/macholib/README.ctypes
9416f74d
AM
1050
1051%dir %{py_scriptdir}/curses
dceb7408 1052%{py_scriptdir}/curses/__pycache__
1053%{py_scriptdir}/curses/*.py
9416f74d 1054
acd14a9e 1055%dir %{py_scriptdir}/dbm
dceb7408 1056%{py_scriptdir}/dbm/__pycache__
1057%{py_scriptdir}/dbm/*.py
acd14a9e 1058
9416f74d
AM
1059%dir %{py_scriptdir}/distutils
1060%dir %{py_scriptdir}/distutils/command
acd14a9e 1061%doc %{py_scriptdir}/distutils/README
dceb7408 1062%{py_scriptdir}/distutils/__pycache__
1063%{py_scriptdir}/distutils/command/__pycache__
1064%{py_scriptdir}/distutils/*.py
1065%{py_scriptdir}/distutils/command/*.py
acd14a9e 1066%{py_scriptdir}/distutils/command/command_template
9416f74d
AM
1067
1068%dir %{py_scriptdir}/email
1069%dir %{py_scriptdir}/email/mime
dceb7408 1070%{py_scriptdir}/email/__pycache__
1071%{py_scriptdir}/email/mime/__pycache__
57557e58 1072%{py_scriptdir}/email/architecture.rst
dceb7408 1073%{py_scriptdir}/email/*.py
1074%{py_scriptdir}/email/mime/*.py
9416f74d 1075
acd14a9e 1076%dir %{py_scriptdir}/html
dceb7408 1077%{py_scriptdir}/html/*.py
1078%{py_scriptdir}/html/__pycache__
acd14a9e
AF
1079
1080%dir %{py_scriptdir}/http
dceb7408 1081%{py_scriptdir}/http/__pycache__
1082%{py_scriptdir}/http/*.py
acd14a9e 1083
fef40d51 1084%dir %{py_scriptdir}/importlib
dceb7408 1085%{py_scriptdir}/importlib/__pycache__
1086%{py_scriptdir}/importlib/*.py
fef40d51 1087
acd14a9e 1088%dir %{py_scriptdir}/json
dceb7408 1089%{py_scriptdir}/json/__pycache__
1090%{py_scriptdir}/json/*.py
acd14a9e 1091
9416f74d 1092%dir %{py_scriptdir}/logging
dceb7408 1093%{py_scriptdir}/logging/__pycache__
1094%{py_scriptdir}/logging/*.py
9416f74d 1095
acd14a9e 1096%dir %{py_scriptdir}/multiprocessing
dceb7408 1097%{py_scriptdir}/multiprocessing/__pycache__
1098%{py_scriptdir}/multiprocessing/*.py
acd14a9e 1099%dir %{py_scriptdir}/multiprocessing/dummy
dceb7408 1100%{py_scriptdir}/multiprocessing/dummy/__pycache__
1101%{py_scriptdir}/multiprocessing/dummy/*.py
1102
1103%{py_scriptdir}/turtledemo
1104%{py_scriptdir}/unittest
acd14a9e
AF
1105
1106%dir %{py_scriptdir}/urllib
dceb7408 1107%{py_scriptdir}/urllib/__pycache__
1108%{py_scriptdir}/urllib/*.py
acd14a9e 1109
dfcf7c51
AM
1110%dir %{py_scriptdir}/venv
1111%{py_scriptdir}/venv/__pycache__
1112%{py_scriptdir}/venv/*.py
1113%dir %{py_scriptdir}/venv/scripts
1114%dir %{py_scriptdir}/venv/scripts/posix
1115%{py_scriptdir}/venv/scripts/posix/activate
1116%{py_scriptdir}/venv/scripts/posix/pydoc
1117
9416f74d 1118%dir %{py_scriptdir}/wsgiref
dceb7408 1119%{py_scriptdir}/wsgiref/__pycache__
1120%{py_scriptdir}/wsgiref/*.py
9416f74d
AM
1121
1122%dir %{py_scriptdir}/xml
1123%dir %{py_scriptdir}/xml/dom
1124%dir %{py_scriptdir}/xml/etree
1125%dir %{py_scriptdir}/xml/parsers
1126%dir %{py_scriptdir}/xml/sax
dceb7408 1127%{py_scriptdir}/xml/__pycache__
1128%{py_scriptdir}/xml/dom/__pycache__
1129%{py_scriptdir}/xml/etree/__pycache__
1130%{py_scriptdir}/xml/parsers/__pycache__
1131%{py_scriptdir}/xml/sax/__pycache__
1132%{py_scriptdir}/xml/*.py
1133%{py_scriptdir}/xml/dom/*.py
1134%{py_scriptdir}/xml/etree/*.py
1135%{py_scriptdir}/xml/parsers/*.py
1136%{py_scriptdir}/xml/sax/*.py
9416f74d 1137
acd14a9e 1138%dir %{py_scriptdir}/xmlrpc
dceb7408 1139%{py_scriptdir}/xmlrpc/__pycache__
1140%{py_scriptdir}/xmlrpc/*.py
acd14a9e 1141
c7fdbe10 1142%attr(755,root,root) %{py_dyndir}/_sqlite3.cpython-*.so
9416f74d 1143%dir %{py_scriptdir}/sqlite3
dceb7408 1144%{py_scriptdir}/sqlite3/__pycache__
1145%{py_scriptdir}/sqlite3/*.py
9416f74d 1146
2072c60e 1147%files -n pydoc3
9416f74d 1148%defattr(644,root,root,755)
19221b23 1149%attr(755,root,root) %{_bindir}/pydoc3
dfcf7c51 1150%attr(755,root,root) %{_bindir}/pydoc3.3
dceb7408 1151%{py_scriptdir}/pydoc.py
a98780c2 1152%{py_scriptdir}/__pycache__/pydoc.cpython-*.py[co]
fef40d51 1153%dir %{py_scriptdir}/pydoc_data
dceb7408 1154%{py_scriptdir}/pydoc_data/__pycache__
1155%{py_scriptdir}/pydoc_data/*.py
1156%{py_scriptdir}/pydoc_data/*.css
9416f74d 1157
2072c60e 1158%files -n idle3
9416f74d 1159%defattr(644,root,root,755)
19221b23 1160%attr(755,root,root) %{_bindir}/idle3
dfcf7c51 1161%attr(755,root,root) %{_bindir}/idle3.3
9416f74d
AM
1162%dir %{py_scriptdir}/idlelib
1163%dir %{py_scriptdir}/idlelib/Icons
dceb7408 1164%{py_scriptdir}/idlelib/__pycache__
1165%{py_scriptdir}/idlelib/*.py
acd14a9e
AF
1166%doc %{py_scriptdir}/idlelib/*.txt
1167%doc %{py_scriptdir}/idlelib/ChangeLog
9416f74d
AM
1168%{py_scriptdir}/idlelib/Icons/*
1169%{py_scriptdir}/idlelib/*.def
1170
1171%files devel
1172%defattr(644,root,root,755)
1173%doc Misc/{ACKS,NEWS,README,README.valgrind,valgrind-python.supp}
c7fdbe10
JB
1174%attr(755,root,root) %{_bindir}/python%{py_ver}-config
1175%attr(755,root,root) %{_bindir}/python%{py_abi}-config
1176%attr(755,root,root) %{_bindir}/python3-config
1177%attr(755,root,root) %{_libdir}/libpython%{py_abi}.so
1178%attr(755,root,root) %{_libdir}/libpython3.so
9416f74d 1179%{py_incdir}/*.h
002ac285 1180%exclude %{py_incdir}/pyconfig.h
32e6a38e
JB
1181%attr(755,root,root) %{py_libdir}/config-%{py_abi}/makesetup
1182%attr(755,root,root) %{py_libdir}/config-%{py_abi}/install-sh
1183%{py_libdir}/config-%{py_abi}/config.c
1184%{py_libdir}/config-%{py_abi}/config.c.in
1185%{py_libdir}/config-%{py_abi}/python.o
c7fdbe10 1186%{_pkgconfigdir}/python-%{py_ver}.pc
d0324804
JB
1187%{_pkgconfigdir}/python-%{py_abi}.pc
1188%{_pkgconfigdir}/python3.pc
c7fdbe10 1189
9416f74d
AM
1190%files devel-tools
1191%defattr(644,root,root,755)
24586eb0 1192/etc/shrc.d/python*-devel*
24586eb0 1193%attr(755,root,root) %{_bindir}/pygettext%{py_ver}
dceb7408 1194%{py_scriptdir}/pdb.py
1195%{py_scriptdir}/profile.py
1196%{py_scriptdir}/pstats.py
1197%{py_scriptdir}/timeit.py
a98780c2
AM
1198%{py_scriptdir}/__pycache__/pdb.cpython-*.py[co]
1199%{py_scriptdir}/__pycache__/profile.cpython-*.py[co]
1200%{py_scriptdir}/__pycache__/pstats.cpython-*.py[co]
1201%{py_scriptdir}/__pycache__/timeit.cpython-*.py[co]
9416f74d 1202
30b0ff7b 1203%files 2to3
eb7b678c 1204%attr(755,root,root) %{_bindir}/2to3-%{py_ver}
30b0ff7b 1205%dir %{py_scriptdir}/lib2to3
dceb7408 1206%{py_scriptdir}/lib2to3/__pycache__
30b0ff7b
AF
1207%{py_scriptdir}/lib2to3/*.txt
1208%{py_scriptdir}/lib2to3/*.pickle
dceb7408 1209%{py_scriptdir}/lib2to3/*.py
30b0ff7b 1210%dir %{py_scriptdir}/lib2to3/fixes
dceb7408 1211%{py_scriptdir}/lib2to3/fixes/__pycache__
be43ead0 1212%{py_scriptdir}/lib2to3/fixes/*.py
30b0ff7b 1213%dir %{py_scriptdir}/lib2to3/pgen2
dceb7408 1214%{py_scriptdir}/lib2to3/pgen2/__pycache__
1215%{py_scriptdir}/lib2to3/pgen2/*.py
30b0ff7b 1216
9416f74d
AM
1217%files static
1218%defattr(644,root,root,755)
6eede82b 1219%{_libdir}/libpython%{py_abi}.a
9416f74d
AM
1220
1221%files examples
1222%defattr(644,root,root,755)
1223%{_examplesdir}/%{name}-%{version}
1224
9416f74d
AM
1225%if %{with info}
1226%files doc-info
1227%defattr(644,root,root,755)
1228%{_infodir}/*.info*
1229%endif
1230
1231%if %{with tkinter}
1232%files tkinter
1233%defattr(644,root,root,755)
acd14a9e 1234%dir %{py_scriptdir}/tkinter
dceb7408 1235%{py_scriptdir}/tkinter/__pycache__
1236%{py_scriptdir}/tkinter/*.py
c7fdbe10 1237%attr(755,root,root) %{py_dyndir}/_tkinter.cpython-*.so
9416f74d 1238%endif
This page took 0.35611 seconds and 4 git commands to generate.