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