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